当前位置: 首页 > 知识库问答 >
问题:

ORA-12505,TNS:侦听器当前不知道连接描述符中给出的SID?

燕凯旋
2023-03-14

当我尝试通过SQLDeveloper或我的java应用程序连接到oracle时,我得到以下错误,尽管我能够从SQLPLUS(命令行工具)连接

    Listener refused the connection with the following error :

    ORA-12505, TNS:listener does not currently know 
    of SID given in connect descriptor

每当我做系统重新启动时,我都会遇到这个问题。虽然系统重新启动后10次中有1次,但我能够成功连接。

我可以看到所有的oracle服务,包括<code>OracleOraDb11g_home1TNSListener</code>都在服务部分。仅供参考,我的SID名称是orcl

在ORA-12505上查看了Luke的答案后,TNS:listener目前不知道连接描述符中给出的SID。在重新启动时,oracle数据库比<code>OracleOraDb11g_home1TNSListener</code>更早启动。因此它无法向侦听器注册。

我认为解决方案应该是先构建侦听器,然后启动数据库。如何配置在重新启动后的一段时间延迟后启动数据库?

共有1个答案

楮杰
2023-03-14

每当我做系统重新启动时,我都会遇到这个问题。虽然系统重新启动后10次中有1次,但我能够成功连接。

可能的原因是系统重新启动后服务未启动。检查它的方法取决于操作系统

例如,在Windows OS中,您可以转到services.msc并查看TNS服务是否已启动并运行。

要检查侦听器是否启动以及数据库是否已注册,请检查 lsnrctl 状态。另外,请记住,侦听器需要在系统重新启动后的某个时间。这同样适用于对侦听器进行任何更改后,您必须等待一段时间。

 类似资料: