当前位置: 代码迷 >> Oracle技术 >> 号外:监听器有关问题异常集中营欢迎您
  详细解决方案

号外:监听器有关问题异常集中营欢迎您

热度:103   发布时间:2016-04-24 08:10:49.0
号外:监听器问题错误集中营欢迎您
大概刷了些帖子,csdn的朋友常会遇见Oracle客户端连接服务器端的一些监听器配置问题,当然不能囊括所有的连接异常。解决问题的关键在于方法与思路,而不是每种问题都有固定的答案。
现在搞这个活动,欢迎您贴出您的问题及其解决过程
论功行赏........
200分啊,分不够可以另外开贴赠送哦
期待您的加入
赠人玫瑰,手留余香

我先来吧,算是抛砖哈

① ORA-12560 错误总结
  以win平台为例(linux一样的)
   造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
   1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,
   
   启动oraclehome92TNSlistener服务。
   2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务
   
   面板,启动oracleserviceXXXX,XXXX就是你的database SID.
   3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SI
   
   D设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建
   
   ,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下
   
   输set oracle_sid=XXXX,XXXX就是你的database SID


② ORA-12514错误总结

     1)、 ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的SERVICE_NAME  

         打开Net Manager,选中服务名称,检查服务标识栏里的服务名输入是否正确。该服务名必须与服务器端监听器配置的全局数据库名一致。同时检查sqlnet.ora,例如如果想要采用简便连接方式连接就需要在NAMES.DIRECTORY_PATH参数中添加EZCONNECT。
      
      2)、  Ora-12514:TNS:监听程序当前无法识别链接描述符中请求的服务
该问题是由于缺少监听器的SID_LIST描述项引起的,采用netca进行配置的时候经常会遇到该问题,listener.ora示例如下:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /opt/oracle/product/9.2.0.4)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = SAMPLE.COM)
(ORACLE_HOME = /opt/oracle/product/9.2.0.4)
(SID_NAME = SAMPLE)
))

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = tcy.com)(PORT = 1521))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)))



③ ORA-12518错误总结
   TNS:监听程序无法分发客户机连接 
   出现该报错有两个原因:在共享模式下是由于调度进程(dispatchers)太少,在独占模式下是由于进程数(proces ses)超过了数据库默认的最大进程数。解决步骤: 
   1、show parameter process查看数据库允许最大进程数 
   2、select count(*) from v$session;查看当前系统进程数 
   如果进程数不够,可通过扩大PGA来增大进程数: 
   alter system set workarea_size_policy=auto scope=both;
   alter system set pga_aggregate_target=512m scope=both; 
   
   3、show parameter dispatchers查看调度进程数量 
   如果调度进程太少,则可执行: 
   alter system set dispatchers = '(protocol=tcp)(dispatchers=3)(service=oracle10xdb)'; 


④ ORA-12535:   TNS: 操作超时 
   出现这个问题的原因很多,但主要跟网络有关。解决这个问题,首先检查客户端与服务端的网络是否畅通,如果网络连通,则检查两端的防火墙是否阻挡了连接


⑤ ORA-12154: 
   TNS: 无法处理服务名
   检查输入的服务名与配置的服务名是否一致。另外注意生成的本地服务名文件(Windows下如D:oracleora92networkadmin tnsnames.ora,Linux/Unix下/network/admin/tnsnames.ora)里每项服务的首 行服务名称前不能有空格。 

⑥ ORA-12500: 
   TNS: 监听程序无法启动专用服务器进程
   对于Windows而言,没有启动Oracle实例服务
------解决方案--------------------

斌仔好文章
------解决方案--------------------
今天突然发现用pl-sql客户端连接数据库速度好慢,得半分钟之久,以前都好着。。但是用command line连接是正常的,很快,是怎么回事啊?

------解决方案--------------------
楼主好贴。写到博客里面吧
------解决方案--------------------
这个版主第一次见到啊,
------解决方案--------------------
引用:
引用:
今天突然发现用pl-sql客户端连接数据库速度好慢,得半分钟之久,以前都好着。。但是用command line连接是正常的,很快,是怎么回事啊?
pl/sql所引用的tnsnames.ora里有没有配置其他无效IP的服务器地址?


有配置一些,但是我用pl/sql连接其他的数据库都没有问题啊,就是连那一台是这样,那台机器本地连也很慢,但是command line又是正常的
------解决方案--------------------
引用:
引用:
今天突然发现用pl-sql客户端连接数据库速度好慢,得半分钟之久,以前都好着。。但是用command line连接是正常的,很快,是怎么回事啊?
pl/sql所引用的tnsnames.ora里有没有配置其他无效IP的服务器地址?



这个置顶
------解决方案--------------------
引用:
大概刷了些帖子,csdn的朋友常会遇见Oracle客户端连接服务器端的一些监听器配置问题,当然不能囊括所有的连接异常。解决问题的关键在于方法与思路,而不是每种问题都有固定的答案。
现在搞这个活动,欢迎您贴出您的问题及其解决过程
论功行赏........
200分啊,分不够可以另外开贴赠送哦
期待您的加入
赠人玫瑰,手留余香

我先来吧,算是抛砖哈

① ORA-12560 错误总……

给版主增加一个
ORA-12170: TNS: 连接超时的情况
如果用户密码中包含@这个字符,用sqlplus登录的时候会提示ORA-12170
  相关解决方案