说明:在DataGuard的搭建中,运行rman恢复的时候报错ORA-12528的错误;
脚本如下:RMAN> connect auxiliary sys/Oracle@SCMPRD02
解决步骤:
1、检查监听是否启动,脚本:tnsping SCMPRD02
方法一:配置数据库的监听为静态参数步骤:在ORACLE_HOME/network/admin 下面检查是否有listener.ora参数文件,如果没有的话运行netca创建数据库的监听,配置完成的监听文件如下:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = SCMPRDDB02)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
方法二:修改tnsnames.ora文件
SCMPRD02 =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)(HOST = WELL)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED) (
SERVICE_NAME = SCMPRD02)
(UR = A) //增加该备注//
)
)
总结:ORA-12528: TNS:listener: all appropriate instances are blocking new connections
因为我们复制数据库只是在nomount下打开,而数据库并没有mount,在11g下所有的监听都是动态监听,而只有在数据库mount以后,PMON进程起来以后,才能动态注册。所以对辅助数据库没有办法注册,只能被锁住。所以修改数据库的监听为静态监听,或者增加(UR=A)即可解决问题。谢谢阅读,希望能帮到大家,请继续关注脚本之家,我们会努力分享更多优秀的文章。