今天玩oracle的时候突然遇到一个问题:本地计算机 上的 OracleOraDb11g_home1TNSListener 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。
在网上找解决方案的时候,发现很多人都遇到了这个问题,第一个方案没有解决我的问题,下面自己记录一下,留个备份,方便下次查阅方便
第一步:首先查阅你的【NETWORK\ADMIN】目录下的【tnsnames.ora】和【listener.ora】这两个文件,我的路径是:D:\app\Oracle11g\dbhome_1\NETWORK\ADMIN;然后看看里面的【HOST】信息,看看是不是你当前的ip地址,如果不是尝试着把这个2个文件改成你的ip地址,由于我自己只是玩玩oracle,为了方便,直接就改成了127.0.0.1:
[plain] view plaincopyprint?
01.LISTENER =
02. (DESCRIPTION_LIST =
03. (DESCRIPTION =
04. (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
05. (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
06. )
07. )
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)然后启动监听器,居然好了。
不过也发现有第一步不成功的朋友,那么尝试第二步吧:
1:注册表中
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/OracleOraDb11g_home1TNSListener
中的ImagePath改为:
D:/oracle_11g/product/11.1.0/db_1/BIN/TNSLSNR.EXE(之前后面的.EXE没有)
2:环境变量中
ORACLE_HOME改为:D:/oracle_11g/product/11.1.0/db_1(之前为空)
这是直接复制别人的,我第一次就是尝试的这种方式,不过没有通过,但不保证不是这个问题,还是记录一下