重新启动后连接到 Oracle 数据库

Connecting to Oracle database after reboot

我在 Windows 机器上使用 Oracle 10g,一切正常,但在重新启动机器后,我开始遇到无法连接到实例的问题 (ORA-12514) , 知道监听服务在 On.奇怪的是,当我断开与互联网的连接时,问题会自行纠正。

有人知道这个问题的根源吗?

这是我的 listener.ora 文件的内容:

# listener.ora Network Configuration File: C:\oracle\product.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.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 时,连接成功。

当我将本地主机更改为 127.0.0.1 时,问题仍然存在。

lsnrctl status 给我这个结果:

将条目更改为 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.2.0\dbhome_1)
      (SID_NAME = YOURSID)
    )
  )