Oracle11监听服务配置经验小结
2016-03-17 21:41
483 查看
我在使用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用户下:
使用vi编辑工具,打开listener.ora文件:
不保存退出vi编辑器:按Esc键,再“:q!”。
按ORA错误信息,上网查找资料分析,对比以前的配置文件,估计是未配置SID_NAME的原因,参照以前环境的配置和网上资料的说明,修改配置文件如下:
操作过程如下:
首先,通过拷贝备份原配置文件:$ 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下。
重新启动侦听服务,操作过程是先停止、再启动,命令如下所示:
到此完成修改Oracle侦听配置,再使用PLSQL Developer工具访问此数据,好使了!
为什么修改前,Navicat工具和系统平台能好使,而PLSQL Developer工具却不好?
对比上面两个图中,关于Oracle连接的配置,原来是thin和OCI连接的差别:
通过配置过程来看,OCI连接方式要求服务端和客户端更多些。
参考:
1.《Oracle的thin与oci连接方式比较 》
2.《ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法 》
而同事,以及其他同事使用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 oci | Oracle thin |
---|---|---|
实现方式 | 用Java调用本机Oracle客户端达到访问数据库目的 | 用Java完成访问数据库 |
Oracle客户端 | 需要安装配置 | 不用安装 |
性能 | 理论上略好 | 理论上略 |
移植性 | 略差 | 略好 |
参考:
1.《Oracle的thin与oci连接方式比较 》
2.《ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法 》
相关文章推荐
- java-WEB中的监听器Lisener
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累
- Oracle存储过程之数据库中获取数据实例
- Windows下ORACLE 10g完全卸载的方法分析
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页