重启后连接到Oracle数据库

时间:2017-08-22 10:17:13

标签: oracle oracle10g listener

我在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 localhost

当我尝试telnet然后o localhost 1521时,它会成功连接。

当我将localhost更改为127.0.0.1时,问题仍然存在。

lsnrctl status给了我这个结果:

enter image description here

1 个答案:

答案 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)
    )
  )