Oracle11g Oracle 11g Express错误:ORA-12505,TNS:侦听器当前不知道连接描述符中给定的SID

Oracle11g Oracle 11g Express错误:ORA-12505,TNS:侦听器当前不知道连接描述符中给定的SID,oracle11g,oracle10g,database-connection,database-migration,Oracle11g,Oracle10g,Database Connection,Database Migration,在Linux Centos 6.4上托管的Oracle 11g Express存在问题。此服务器从一个位置重新定位到另一个位置,此重新定位将更改服务器的IP。 我们已经更改了tnsname.ora和listerner.ora文件中的IP。在这些更改之后,当我们试图从服务器连接到数据库实例时,会出现错误“连接到空闲实例”。如果我们尝试使用SQL developer从客户端进行连接,我们将收到错误“状态:失败-测试失败:侦听器拒绝连接,出现以下错误:ORA-12505,TNS:Listener当前不

在Linux Centos 6.4上托管的Oracle 11g Express存在问题。此服务器从一个位置重新定位到另一个位置,此重新定位将更改服务器的IP。 我们已经更改了tnsname.ora和listerner.ora文件中的IP。在这些更改之后,当我们试图从服务器连接到数据库实例时,会出现错误“连接到空闲实例”。如果我们尝试使用SQL developer从客户端进行连接,我们将收到错误“状态:失败-测试失败:侦听器拒绝连接,出现以下错误:ORA-12505,TNS:Listener当前不知道连接描述符中给出的SID”

我们通过Oracle菜单下的“多次启动和停止数据库”选项多次重新启动了此服务器和数据库,但仍然出现相同的错误

请您帮助解决此问题。

通过sqlplus用户/passwd而不是sqlplus用户建立本地连接/passwd@TNSALIAS不受IP地址或tnsnames.ora内容的影响。它也完全不需要侦听器,侦听器可以在listener.ora中停止或根本不定义。换句话说,你在这里做错了什么

我的猜测是,你被误导,以为你已经启动了数据库,而实际上它还没有启动。检查是否有一个名为ora_MYORACLE_pmon的流程


文件tnsname.ora也不相关;Oracle只检查tnsnames.ora。

我们解决了这个问题,实际上我们在一些文件中丢失了服务器地址,它仍然引用旧地址

initXE.ora缺少本地侦听器参数,然后我们将此参数添加到它,它开始工作


可能这不是通用的解决方案,但在我们的情况下它是有效的。

如果侦听器最初配置了ALTER SYSTEM命令,如ALTER SYSTEM SET LOCAL_listener=;如果作用域保留为默认值,并且数据库是用pfile启动的,则该命令指定了or

要修复此问题,请在重新启动之前重新发出所有ALTER SYSTEM命令。或至少一个标识本地\u侦听器的侦听器。并设置SCOPE=BOTH