这两个参数确定哪个数据库服务分别担任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连接到备用数据库:
oracle@training> rman target / auxiliary sys/oracle@stdby
Recovery Manager: Release 11.1.0.6.0 - Production on Tue Apr 14 19:29:25 2009
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: ORCL (DBID=1210321736)
connected to auxiliary database: STDBY (not mounted)
为了加快处理过程,我将会通过ALLOCATE CHANNEL命令创建两个auxiliary通道和两个normal通道,并在相同的RUN块中使用DUPLICATE DATABASE开始克隆,下面是RMAN命令块所做的事情:
1. 使用主数据库服务器的参数文件作为模版为备用数据库创建了一个新的SPFILE,但在DUPLICATE DATABASE运行块中的SET命令中做了适当的修改。
2. 然后关闭备用数据库,再使用新的SPFILE启动到NOMOUNT模式。
3. 接下来创建主数据库控制文件的拷贝,修改它让所有文件名都与备用数据库匹配,拷贝新的控制文件到备用数据库上,然后使用新的控制文件将数据库启动到MOUNT模式。
4. 然后在备用数据库上直接创建主数据库数据文件的镜像拷贝备份。
5. 最后,使用主数据库上当前的归档重做日志在备用数据库上执行必要的恢复,并将备用数据库置为管理恢复模式。
我在清单7中列出了克隆操作的结果,它显示了RMAN命令的输出内容,清单8列出了克隆过程中产生的备用数据库的警告日志条目。
清单7 来自一个成功的备用数据库克隆操作的输出内容
[oracle@training ~]$ rman target / auxiliary sys/oracle@stdby
Recovery Manager: Release 11.1.0.6.0 - Production on Sat Apr 18 06:25:07 2009
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: ORCL (DBID=1210321736)
connected to auxiliary database: STDBY (not mounted)
RMAN> RUN {
ALLOCATE CHANNEL d1 TYPE DISK;
ALLOCATE CHANNEL d2 TYPE DISK;
ALLOCATE AUXILIARY CHANNEL cnv1 TYPE DISK;
ALLOCATE AUXILIARY CHANNEL cnv2 TYPE DISK;
DUPLICATE TARGET DATABASE
FOR STANDBY
FROM ACTIVE DATABASE
DORECOVER
SPFILE
SET db_unique_name=’stdby’
SET control_files=’/u01/app/oracle/oradata/orcl/control01.ctl’
SET log_file_name_convert=’/u01/app/oracle/oradata/orcl/’,'/u01/app/oracle/oradata/stdby/’
SET log_archive_dest_1=’location=/u01/app/oracle/flash_recovery_area/STDBY/ valid_for=(ALL_LOGFILES,ALL_ROLES) db_unique_name=stdby’
SET log_archive_dest_2=’service=orcl ASYNC valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=orcl’
SET fal_client=’stdby’
SET fal_server=’orcl’
SET standby_file_management=’AUTO’
SET log_archive_config=’dg_config=(orcl,stdby)’
NOFILENAMECHECK;
}
2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14> 15> 16> 17> 18> 19> 20> 21>
using target database control file instead of recovery catalog
allocated channel: d1
channel d1: SID=126 device type=DISK
allocated channel: d2
channel d2: SID=120 device type=DISK
allocated channel: cnv1
channel cnv1: SID=97 device type=DISK
allocated channel: cnv2
channel cnv2: SID=96 device type=DISK
Starting Duplicate Db at 18-APR-09
contents of Memory Script:
{
backup as copy reuse
file ‘/u01/app/oracle/product/11.1.0/db_1/dbs/orapworcl’ auxiliary format
‘/u01/app/oracle/product/11.1.0/db_1/dbs/orapwstdby’ file
‘/u01/app/oracle/product/11.1.0/db_1/dbs/spfileorcl.ora’ auxiliary format
‘/u01/app/oracle/product/11.1.0/db_1/dbs/spfilestdby.ora’ ;
sql clone “alter system set spfile= ”/u01/app/oracle/product/11.1.0/db_1/dbs/spfilestdby.ora””;
}
executing Memory Script
Starting backup at 18-APR-09
Finished backup at 18-APR-09
sql statement: alter system set spfile= ”/u01/app/oracle/product/11.1.0/db_1/dbs/spfilestdby.ora”
contents of Memory Script:
{
sql clone “alter system set db_unique_name =
‘’stdby” comment=
”” scope=spfile”;
sql clone “alter system set control_files =
”/u01/app/oracle/oradata/orcl/control01.ctl” comment=
”” scope=spfile”;
sql clone “alter system set log_file_name_convert =
”/u01/app/oracle/oradata/orcl/”, ”/u01/app/oracle/oradata/stdby/” comment=
”” scope=spfile”;
sql clone “alter system set log_archive_dest_1 =
”location=/u01/app/oracle/flash_recovery_area/STDBY/ valid_for=(ALL_LOGFILES,ALL_ROLES) db_unique_name=stdby” comment=
”” scope=spfile”;
sql clone “alter system set log_archive_dest_2 =
‘’service=orcl ASYNC valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=orcl” comment=
”” scope=spfile”;
sql clone “alter system set fal_client =
‘’stdby” comment=
”” scope=spfile”;
sql clone “alter system set fal_server =
”orcl” comment=
”” scope=spfile”;
sql clone “alter system set standby_file_management =
”AUTO” comment=
”” scope=spfile”;
sql clone “alter system set log_archive_config =
”dg_config=(orcl,stdby)” comment=
”” scope=spfile”;
shutdown clone immediate;
startup clone nomount ;
}
| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|