Oracle 11g物理备用数据库“实况克隆”详解(1)(2)
通过DUPLICATE DATABASE克隆备用数据库
从主数据库的RMAN会话环境启动DUPLICATE DATABASE命令,前面我已经提到过,Oracle 11g中DUPLICATE DATABASE命令最引人注目的改变是它可以通过网络直接将主数据库克隆到备用数据库站点。作为设置备用数据库的一部分,我也可以为所有需要的初始化参数指定值,DUPLICATE DATABASE将会在备用数据库上创建一个新的SPFILE。
清单6显示了使用DUPLICATE DATABASE命令进行克隆的完整语句,注意我添加了下面这样一些额外的参数,可能和主数据库的参数稍有不同:
(1)DB_UNIQUE_NAME
我将这个参数的值设为stdby了。
(2)CONTROL_FILES
我只为备用数据库创建了一个控制文件,在克隆完毕后我会复制多个。
(3)FAL_CLIENT和FAL_SERVER
这两个参数确定哪个数据库服务分别担任FAL(fetch archive log)客户端和服务器,例如,无论何时,当主数据库和备用数据库之间的网络断掉后,或如果备用数据库已经关闭相当长一段时间,归档重做日志可能就不会传输到备用服务器上。这种情况叫做归档日志空白(archive log gap),这两个FAL服务名确定了由哪个服务器(FAL_SERVER)维护所有归档重做日志组主列表,由它为FAL_CLIENT提供可能发生的归档日志空白解决方案。在我们的数据卫士设置中,将备用服务器配置为FAL_CLIENT,将主服务器配置为FAL_SERVER。
(4)LOG_FILE_NAME_CONVERT
我已经使用这个参数将主数据库的归档重做日志和备用重做日志的目标做了翻译,确保在克隆过程中RMAN能够自动在备用数据库上创建恰当的副本。
(5)LOG_ARCHIVE_DEST_n
和主数据库一样,我也设置了两个归档日志目标:一个主目标LOG_ARCHIVE_DEST_1和次要目标LOG_ARCHIVE_DEST_2。将来主备站点角色发生交换后,将由次要目标中的归档重做日志传输到原始主数据库中。
最后,让我们开始克隆吧!首先在主数据库服务器上启动一个RMAN会话,以target连接到主数据库,以auxiliary连接到备用数据库:



