ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle的监听问题

oracle的监听问题

原创 Linux操作系统 作者:流浪的野狼 时间:2013-10-08 12:05:29 0 删除 编辑

Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.

C:\Documents and Settings\user1>lsnrctl

LSNRCTL for 32-bit Windows: Version 9.2.0.7.0 - Production on 27-8月 -2008 09:33
:43

Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.

欢迎来到LSNRCTL,请键入"help"以获得信息。

LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
TNS-12541: TNS:无监听器
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听器
   32-bit Windows Error: 2: No such file or directory
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxxxx)(PORT=1521)))

TNS-12538: TNS:没有此协议适配器
TNS-12560: TNS: 协议适配器错误
TNS-00508: 无此类协议适配器

LSNRCTL> start
启动tnslsnr:请稍候...

TNSLSNR for 32-bit Windows: Version 9.2.0.7.0 - Production
系统参数文件为D:\oracle\ora92\network\admin\listener.ora
写入D:\oracle\ora92\network\log\listener.log的日志信息
监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
监听该对象时出错: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxxxx)(PORT=
1521)))
TNS-12538: TNS:没有此协议适配器
TNS-12560: TNS: 协议适配器错误
TNS-00508: 无此类协议适配器

监听程序未能启动。请参阅上面的错误消息...
ORA-12560: TNS: 协议适配器错误的解决方法

造成ORA-12560: TNS: 协议适配器错误的问题的原因有个:

1.监听服务没有起起来。可通过lsnrctl start启动。

2.database instance没有起起来。可启动数据库。startup

3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SID设置为你的oracle_sid即可。

通常通过上述方法即可启动。

1、ORA-12541:TNS:没有监听器
  原因:没有启动监听器或者监听器损坏。netca重新配置监听

2、ORA-12500:TNS:监听程序无法启动专用服务器进程或ORA-12560:TNS:协议适配器错误
  原因:ORACLE的数据库服务没有启动。使用命令net start ORACLESERVICEORADB
(ORADB为数据库名字)即可。

3、如果数据库服务启动失败,则很有可能是其注册表项值损坏,最好的做法是以下两步:
  1)ORADIM -DELETE -SID oradb 删除数据库服务项
  2)ORADIM -NEW -SID oradb 新增数据库服务项
  注:这个过程中如果出错,就重启计算机!
4、ORA-12154:TNS:不能解析服务名
  原因:ORACLE的网络服务名没有正确配置。请使用“Net8 Configuration 
Assistant”工具向导之“本地网络服务名配置”配置TNS即可。

5、ORA-1034 :TNS:ORACLE不可用
  原因:ORACLE的数据库服务正确启动,但是数据库没有打开!
  使用命令:
  1)svrmgrl 启动服务管理器
  2)connect internal 以internal身份登陆
  3)startup 打开数据库
6、ORA-12560:TNS:协议适配器错误(顽固性的)
  原因:未知。


  ORADIM.exe进
ORA-12560: TNS Protocol adapter error
Cause: A generic protocol adapter error occurred.
Action:Check addresses used for proper protocol specification. Beforereporting this error, look at the error stack and check for lower leveltransport errors.For further details, turn on tracing and reexecute theoperation. Turn off tracing when the operation is complete.

Thisis a high level error just reporting an error occurred in the actualtransport layer. Look at the next error down the stack and process that.


1.- Starting Listener with TCP/IP Protocol 
    
    Problem:
    You start the TNS Listener from command line and the TCP/IP address fails with a TNS-12560.

    Solution:
   Check if Microsoft Winsock Proxy(WSP) Client is enabled on the WindowsNT Server, if that is the case then go to windows Control 
Panel, click WSP icon and select the disable Proxy Client option.

    Explanation:
   The Winsock application may fail to bind to a specific port on a ProxyServer computer when the Winsock is running Proxy Client.

2.- TNS-12560 TNS-512 Starting the listener.

    Problem:
    You try to start up the listener and receive the following error stack:
    TNS-12542: TNS:address already in use
     TNS-12560: TNS Protocol adapter error
      TNS-00512: Address already in use
       32-bit Windows Error: 48: Unknown error

    Error: TNS 512
    Text:   Address already in use
    --------------------------------------------
    Cause: Specified listener address is already being used.
    Action: Start your listener with an unused address.

    Generally this problem may ocurr for a incorrect setting in the listener.ora. Some causes of this problems may be:
    
   a.- Some defined address in the listeners.ora is been used. Make sureother listeners are not running. Either listener.log and screen 
outp

ut appear the address with problem.
        
    b.- Just for 8i: in windows NT the algorithm to acquire 
        the address has change, please check the Note 69026.1: Oracle 8i and socket LISTEN operations.

   Explanation:
   The listener will try to acquire the address in exclusive mode, if this 
is been used then the process to get it will fail. 
    
3.- Starting the listener the errors ORA-12203,ORA-12560, NL-462 or NL-427 may be raised.

    Problem:
    You try to start up the listener and receive the following errors 
    ORA-12203,ORA-12560, NL-462 or NL-427.

    Solution:
    Recreate the listener.ora file.

    Explanation:
    Some corruption in the listener.ora may get unable to the tnslsnr to work adequatly.


4.- Failed to start service, TNS-12560, TNS-00530 when create new listener services

    Problem: 
   To recreate Oracle TNS listener service on Windows NT, you delete theservice entry in registry. When using lsnrctl to start the listener,you get the following errors:

    LSNRCTL> start
    Starting tnslsnr: please wait...

    Failed to start service, error 3.

    TNS-00530: Protocol adapter error

    The Listener service is not recreated and the Listener would not start.
    You are using a valid listener.ora file and protocol adapters.


    Solution:
    After you delete the Listener service from registry, you have to reboot 
NT for it to take effect. Then you can use lsnrctl to start the Listener, which would re-create the listener service.


    Explanation:
    The Listener service is marked 'disabled', but it still exists after 
you delete the service from registry.

此外,今天遇到一个无法找到相应服务名的错误,最终是通过设置global_names=true。来解决的。

通常在数据库中与监听相关的参数有如下,也可结合这几个参数来做相应的调整解决监听问题。

service_names、local_listener、global_names、instance_name(或者sid_name)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28612416/viewspace-773859/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-04-10

  • 博文量
    151
  • 访问量
    1507470