Oracle 10G数据库中"ORA-12541: TNS:no listener"报错解决办法

Oracle 10G数据库中"ORA-12541: TNS:no listener"报错解决办法
1、在计算机 开始--->管理-->服务中没有看到 OracleOraHome92TNSListener 服务,但服务已经启动
2、C:\>lsnrctl start 执行完后报open service error。然后在计算机 开始--->管理-->服务中看到  了 OracleOraHome92TNSListener 服务
3、运行regedit.exe启动注册表编辑器,在HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/下的Services和CurrentControlSet/Services下找到OracleOraHome92TNSListener项,在右边窗口按右键,新建/字符串,取名ImagePath。
双击新见的建,在“数值数据”项输入D:\oracle\ora92\bin\TNSLSNR.EXE(根据你自己的实际情况进行修改),确定完成。
再次在服务中双击打开OracleOraHome92TNSListener的服务看到其“可执行文件的路径”一栏已经显示了其正确的值。这时你可以启动监听了。
4、C:>tnsping 数据库SID。看看tns服务没有起来。如果没有起来,用下面的命令
c:\>lsnrctl
lsnrctl>start把这个服务起动起来。

c:\>lsnrctl start 后open service error错误消失,但例程中有一个状态为UNKNOWN,另一个为READY.命令执行成功。

PL/SQL Developer连接Oracle报错:ORA-12514: TNS:监听程序当前无法识别连接描述符中请求的服务

解决办法:

  首先重启下对应的数据库监听服务(OracleOraDb<?xml:namespace prefix = st1 /> 10g _home1TNSListener)和数据库服务(OracleServiceORCL),如果还没解决,就按下面的进行操作:

   1.打开%Oracle安装目录%/network/admin/listener.ora文件(C:\oracle\product\ 10.2.0 \db_1\NETWORK\ADMIN\listener.ora
   2.
添加:

(SID_DESC =

    (GLOBAL_DBNAME = ORCL)

    (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)  

    (SID_NAME = ORCL)

    )
   3.
最后文件改成

SID_LIST_LISTENER =

(SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)

      (PROGRAM = extproc)

    )

   (SID_DESC =


    (GLOBAL_DBNAME = ORCL)

    (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)  

    (SID_NAME = ORCL)

    )

)

LISTENER =

(DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = zyk)(PORT = 1521))

    )

)

以上粗体部件为增加的内容,修改后重启监听服务后即可。

你可能感兴趣的:(Oracle 10G数据库中"ORA-12541: TNS:no listener"报错解决办法)