ERROR - ORA-12541: TNS: 无监听程序
我把ie8.0 卸载后又装了ie7.0后就这样了(ERROR - ORA-12541: TNS: 无监听程序),以前是好的,怎么解决?
------解决方案--------------------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.命令执行成功。
------解决方案--------------------在网上看到有位兄弟是这样解决的,仅供参考
打开:%Oracle_Hoem%/network/admin/listener.ora文件 在
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\Oracle\Oracle10g)
(PROGRAM = extproc)
)
后面添加:
(SID_DESC =
(GLOBAL_DBNAME = ORACLE)
(ORACLE_HOME = D:\Oracle\Oracle10g)
(SID_NAME = ORACLE)
)
最后变成:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\Oracle\Oracle10g)
(PROGRAM = extproc)
) (SID_DESC =
(GLOBAL_DBNAME = ORACLE)
(ORACLE_HOME = D:\Oracle\Oracle10g)
(SID_NAME = ORACLE)
)
)
当然,会导致Ora-12514错误的原因肯定不至这些。比如:配置的数据库SID不对也会导致这个错误。只是上面介绍的是比较常见的容易犯的错误。