日期:2014-05-17  浏览次数:20861 次

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不对也会导致这个错误。只是上面介绍的是比较常见的容易犯的错误。