重新配置监听服务,看服务里面TNS。。启动了没有

解决方案 »

  1.   

    如果是windows,在服务里有一个服务OracleOraHome92TNSListener,启动他就可以了。
    一般在这个服务下面还有一个数据库服务,也要启动。
    也可以使用DOS命令
    lsnrctl start
    启动
      

  2.   

    启动监听服务
    控制面板->管理工具->服务
      

  3.   

    我也曾碰到过类似的情况,我把我找到的方法跟你分享一下吧。我装在D盘根目录下,具体路径按照你自己的更改。首先有一种情况就是你更改了计算机名,那你就要把D:\oracle\ora92\network\admin下的listener.ora 文件中的host参数全部改为新的计算机名,用记事本打开就行,然后重新启动OracleOra920TNSListener服务即可。服务在“控制面板->管理工具->服务”。
    如果不是上面的情况,你到“服务”看有没有OracleOra920TNSListener这一项,如果没有,你就打开“开始->程序->Oracle-OraHome92->Configuration and Migration Tools->net configuration assistant”,然后按照向导自己动手配置Listener。具体参数如下:(这些可以在listener.ora文件中找得到,如果你有的话)
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
          )
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = 你自己的计算机名)(PORT = 1521))
          )
        )
      )还有一个监听器我不太清楚是不是一定要配置,我机子上是有的,给你参考一下吧:
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = D:\oracle\ora92)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (GLOBAL_DBNAME = 你设置的全局数据库名)
          (ORACLE_HOME = D:\oracle\ora92)
          (SID_NAME = 你设置的SID)
        )
      )
    配置完再去“服务”看OracleOra920TNSListener有没有启动,如果没有,试着右击让他启动,如果能正常运行,证明没什么问题(要设置为自动的)。如果不能启动,看系统弹出的信息框说了什么,如果是找不到一个.exe文件(看是不是这个TNSLSNR.EXE),那可能就是注册表里出了问题。在“运行”里面输入regedit,就会打开注册表,在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 下面寻找ora开头的服务,找到OracleOra920TNSListener,看看有没有ImagePath这个串值,如果没有,手动添加一个,类型是REG_EXPAND_SZ,然后双击添加数据值为D:\oracle\ora920\BIN\TNSLSNR.EXE (当然,具体路径看你自己的)。具体可以参照前面ora开头的服务。配置完之后再去前面说的“服务”去看看,启动OracleOra920TNSListener。也可以在运行里输入 tnsping (本机名/ip地址)看看能否ping通,如果最后一行显示ok,证明你已经启动监听器了。下面还有一些命令行里可以用的命令,有中文显示的,你也可以得到一些信息。
     lsnrctl start:启动listener 
     lsnrctl status:查看listener的状态 
     lsnrctl stop: 停止listener 
     lsnrctl help: 查看全部参数好了,没了,我知道的就这么多了。^_^
      

  4.   

    出现这个问题,不一定就是网络或者是监听器的问题,很有可能是你的数据库服务oracle<sid>service没有启动.
      

  5.   

    如果用了优化大师优化过了
    服务中的 tns服务项的 imagepath项为
    你的 LSNRCTL.exe文件所在的位置
      

  6.   

    也不能这么说的!我刚开始的时候也是在用优化大师的也是把TNS中的启动
    参数给优化掉了啊!!那就是通过pitiy所说的改一下注册表就可以了!!
    在net configuration assistant 中配置一下就ok了!!
    但我第二次的时候也优化大师的时候却没有出错啊!!!也是奇怪!!
    TNS正常!!
    所以说有是用优化大师会出错,有时就不会!!^_^