我在Windows机器上使用Oracle 10g,一切正常,但是重新启动机器后,我开始遇到无法连接到实例(ORA-12514)的问题,因为我知道On中的监听服务。当我与互联网断开连接时,奇怪的是,问题会自行纠正。
有没有人知道这个问题的根源?
以下是我的listener.ora文件的内容:
# listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = Localhost)(PORT = 1521))
)
)
编辑:
当我尝试使用telnet localhost 1521
连接到主机时,它会保持这种状态:
当我尝试telnet
然后o localhost 1521
时,它会成功连接。
当我将localhost更改为127.0.0.1时,问题仍然存在。
lsnrctl status
给了我这个结果:
答案 0 :(得分:1)
将条目更改为0.0.0.0而不是Localhost,如下所示:
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
让侦听器隐藏所有接口是最简单的方法。
编辑:此外,您可以使用静态侦听器注册方式:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = YOURSID)
(ORACLE_HOME = C:\oracle\product\11.2.0\dbhome_1)
(SID_NAME = YOURSID)
)
)