做RMAN 复制的时候,遇到一个错误:
ORA-12528: TNS:listener: all appropriate instances are blocking new connections
导致这个错误的原因是因为db 没有注册到listener里面。 我配置了静态监听,但忘记重启生效了,所以报了这个错。
如果使用动态监听的话,需要等PMON进程将database的信息注册到listener 里面去。 但是PMON 必须是mout状态下才能注册。 当DB没有信息注册到listener 时,实例就是Blocked 状态。
而RMAN的restore 操作在nomout下进行的,所以到了这个错误。 所以使用静态注册可以避免这个问题。
Metalink 上篇文章说明这个问题:
Connection to Auxilary using connect string failed with ORA-12528 [ID 419440.1]
http://blog.csdn.net/tianlesoftware/archive/2011/03/08/6230505.aspx
在这篇文章里面提到了3种解决方法:
方法1:
在auxiliary库使用操作系统认证,即/. 在Target 使用密码文件。 如:
rman target sys/sys@original auxiliary /
方法2:
使用静态注册,在auxiliary库的listener.ora 文件里添加如下内容,然后重启listener. 记得重启,GG是加了忘了重启了。杯具.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = SAIRAM)
(ORACLE_HOME = G:/oracle/product/10.2.0/db_1)
(SID_NAME = SAIRAM)
)
)
Oracle Listener 动态注册 与 静态注册
http://blog.csdn.net/tianlesoftware/archive/2010/04/29/5543166.aspx
方法3:
使用oracle 10g的特性,在tnsnames.ora 文件里添加UR=A
tnsnames.ora
------------
SAIRAM =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = apadhi-idc)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SAIRAM)(UR=A)
)
)
---------------------------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
DBA1 群:62697716(满); DBA2 群:62697977(满) DBA3 群:62697850(满)
DBA 超级群:63306533(满); DBA4 群: 83829929 DBA5群: 142216823
聊天 群:40132017
--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请