使用RMAN Duplicate方法搭建异名数据库实验(二)

2014-11-24 17:24:47 · 作者: · 浏览: 1
=


(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))


)


(CONNECT_DATA =


(SERVICE_NAME = oraaux)


)


)



一些文献(包括官方MOS文章)都推荐额外进行listener.ora的配置,将两个服务作为静态注册注册进监听程序listener。这样做的基础是这样的:在进行duplicate过程中,如果我们是从target端进行操作,就需要通过auxiliary端的监听器访问auxiliary。而此时auxiliary只有一个实例对象,虽然可以动态注册,但是注册状态是blocked。


Service "oraaux" has 1 instance(s).


Instance "oraaux", status BLOCKED, has 1 handler(s) for this service...



从9i到11g,Blocked状态是不允许进行远程连入的。当我们试图通过监听器连入的时候,是会报错。



MAN> connect auxiliary sys/oracle@oraaux



RMAN-00571: =============================


RMAN-00569: ========= ERROR MESSAGE STACK FOLLOWS =====


RMAN-00571: ============================


RMAN-04006: error from auxiliary database: ORA-12528: TNS:listener: all appropriate instances are blocking new connections


解决方法有两个:一个就是放弃使用动态注册方法,就需要手工修改listener.ora文件。也就是为什么很多网络同仁文章中推荐这个步骤。另一种方法就是从auxiliary端进行duplicate操作,这样使用/匿名登录是没有问题的。第二种方法的缺点是一些时候需要将备份集合传递到auxiliary所在服务器目录中。

笔者本次就选取第二种方法进行实验。