在自己机器建立一个新库后,使用PLSQL登录,总是报ORA-12541: TNS: 无监听程序。于是开始查找问题:
1、查看ADMIN下的tnsnames.ora下的配置:
myorcl =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.165.152)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orawlz)
)
)
发现我的配置并无任何问题;
2、打开服务,寻找到我建立的oracle服务均已经启动,却唯独没有OracleOraDb10g_home1TNSListener这个服务,少了个服务;正常情况下,建立库后应该是有4个oracle服务的,分别为:OracleDBConsoleXXX,OracleJobSchedulerXXX,OracleOraDb10g_home1TNSListener,OracleServiceXXX这四个服务;
问题找到了,于是在网上疯狂的找解决办法,由于只知道这个问题,却不知道这个服务是为什么没有,之前查到很多都是说由于机器IP是自动分配,应该使用本机机器名什么的,我发现对我这并没有什么用,因为自己机器是手动配置的IP;
解决:
1、配置注册表:运行regedit.exe启动注册表编辑器,在HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/下的 Services和CurrentControlSet/Services下找到OracleOraHome92TNSListener项,在右边窗口按右键,新建/字符串,取名ImagePath。双击新见的建,在“数值数据”项输入D:\oracle\ora92\bin\TNSLSNR.EXE(路径根据你自己的实际情况进行修改),确定完成。
再次在服务中双击打开OracleOraHome92TNSListener的服务看到其“可执行文件的路径”一栏已经显示了其正确的值。这时你可以启动监听了。
2、运行cmd或者直接运行lsnrctl start,信息会提示命令执行成功,登录问题解决;