Oracle11监听服务配置经验小结

我在使用PLSQL Developer工具,访问同事最近部署的开发环境的Oracle数据库时,报出如下错误信息“ORA-12514: TNS:listener does not currently know of service…”。

而同事,以及其他同事使用Navicat工具,却能正常访问,而且,Cordys系统平台也能正常访问Oracle数据库。

由于我的PLSQL Developer工具,也能访问生产环境Oracle数据库。

由此推断,应该是这个开发环境的Oracle数据库监听“listener.ora”配置有问题。

说明1:listener.ora配置文件,一般放在ORACLE_HOME的/network/admin下。本文的ORACLE_HOME目录是“/u01/app/oracle/product/11.2.0/dbhome_1”。

在Linux系统下,切换到oracle用户下:

$ su oralce

使用vi编辑工具,打开listener.ora文件:

$ vi listener.ora

# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = bpistdb.hlcuc.com)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /u01/app/oracle

不保存退出vi编辑器:按Esc键,再“:q!”。

按ORA错误信息,上网查找资料分析,对比以前的配置文件,估计是未配置SID_NAME的原因,参照以前环境的配置和网上资料的说明,修改配置文件如下:

# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME = orcl)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = bpistdb.hlcuc.com)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /u01/app/oracle

操作过程如下:

首先,通过拷贝备份原配置文件:$ cp listener.ora listener.000;

使用vi工具打开listener.ora文件:$ vi listener.ora;

使用vi工具插入编辑命令“i”,输入新增“SID_LIST_LISTENER”段落内容,保存存退出vi编辑器:按Esc键,再“:wq”。

切换目录到/u01/app/oracle/product/11.2.0/dbhome_1/bin下。

重新启动侦听服务,操作过程是先停止、再启动,命令如下所示:

$ ./lsnrctl stop
$ ./lsnrctl start

到此完成修改Oracle侦听配置,再使用PLSQL Developer工具访问此数据,好使了!

为什么修改前,Navicat工具和系统平台能好使,而PLSQL Developer工具却不好?

这里写图片描述

这里写图片描述

对比上面两个图中,关于Oracle连接的配置,原来是thin和OCI连接的差别:

比较Oracle ociOracle thin
实现方式用Java调用本机Oracle客户端达到访问数据库目的用Java完成访问数据库
Oracle客户端需要安装配置不用安装
性能理论上略好理论上略
移植性略差略好

通过配置过程来看,OCI连接方式要求服务端和客户端更多些。

参考:

1.《Oracle的thin与oci连接方式比较

2.《ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肖永威

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值