我在Linux Centos 6.4上托管的Oracle 11g Express遇到问题。此服务器从一个位置重定位到另一个位置,此重定位会更改服务器的IP。我们已经更改了tnsname.ora和listerner.ora文件中的IP。在这些更改之后,当我们试图从服务器连接到数据库实例时,我们得到了错误“已连接到空闲实例”。如果我们尝试使用SQL developer从客户端进行连接,则会收到错误“Status: Failure -Test failed: Listener拒绝连接并返回以下错误: ORA-12505,TNS: listener当前不知道连接描述符中给定的SID”。
我们已经多次重启此服务器和数据库(通过Oracle菜单下的启动和停止数据库选项)多次,但我们仍然收到相同的错误。
请求您帮助解决此问题。
发布于 2014-01-02 19:19:02
我们解决了这个问题,实际上我们在一些文件中丢失了服务器地址,它仍然引用旧地址。
initXE.ora缺少本地侦听器参数,然后我们将此参数添加到它中,它就开始工作了。
这可能不是通用的解决方案,但它在我们的情况下是有效的。
发布于 2013-12-21 19:53:44
通过sqlplus user/passwd (而不是sqlplus user/passwd@TNSALIAS)的本地连接不受IP地址或tnsnames.ora内容的影响。它也不需要侦听程序,侦听程序可以在listener.ora中停止或根本不定义。换句话说,你在这里做错了什么。
我的猜测是,您被误导了,以为您已经启动了数据库,而实际上它并没有启动。检查您是否有一个名为ora_MYORACLE_pmon的进程。
此外,tnsname.ora文件也是无关紧要的;Oracle只检查tnsnames.ora。
发布于 2017-11-01 05:17:33
如果监听程序最初是使用ALTER SYSTEM命令(如ALTER SYSTEM SET LOCAL_LISTENER=''; )配置的,并且该命令指定了SCOPE=MEMORY option,或者如果SCOPE保留为默认值并且数据库是使用pfile启动的,则会出现这种情况。
要修复此问题,请在重新启动之前重新发出所有ALTER SYSTEM命令。或者至少一个标识该LOCAL_LISTENER的the。并设置SCOPE=BOTH。
https://stackoverflow.com/questions/20679921
复制相似问题