|
【赛迪网-it技术报道】在oracle中,使用rman建立data guard有一个明显地好处,就是可以在线建立dg,不必停库来拷贝控制文件和数据文件。本文将主要介绍一下如何使用rman建立物理dg。
style="text-indent:2em">环境:windows xp和oracle 9201数据库
1.备库:
◆1.1 安装oracle软件
◆1.2 oradim -new -sid oralocal
◆1.3 改注册表,添加字符串值:oracle_sid oralocal
◆1.4 新建密码文件,orapwd file=pwdoralocal.ora password=sys entries=10
◆1.5 登录数据库:
sqlplus “/ as sysdba”
startup nomount(在已经有spfile或者pfile的情况下)
下文是pfile的范本:
*.aq_tm_processes=1
*.audit_trail='none'
*.background_dump_dest='d:\oracle\admin\oralocal\bdump'
*.compatible='9.2.0.0.0'
*.control_files='d:\oracle\control_files\oralocal\control01.ctl',
'd:\oracle\control_files\oralocal\control02.ctl',
'd:\oracle\control_files\oralocal\control03.ctl'
*.core_dump_dest='d:\oracle\admin\oralocal\cdump'
*.db_block_size=8192
*.db_cache_size=29360128
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='oralocal'
*.dispatchers='(protocol=tcp) (service=oralocalxdb)'
*.fast_start_mttr_target=300
*.hash_join_enabled=true
*.instance_name='oralocal'
*.java_pool_size=33554432
*.job_queue_processes=10
*.large_pool_size=8388608
*.log_archive_dest_1='location=d:\oracle\arch\oralocal'
*.log_archive_dest_2='service=standby arch sync affirm reopen=5'
*.log_archive_format='oralocal_%t_%s.arc'
*.log_archive_start=true
*.open_cursors=300
*.pga_aggregate_target=25165824
*.processes=150
*.query_rewrite_enabled='true'
*.remote_login_passwordfile='exclusive'
*.shared_pool_size=50331648
*.sort_area_size=524288
*.standby_archive_dest='d:\oracle\arch\oralocal'
*.star_transformation_enabled='false'
*.timed_statistics=true
*.undo_management='auto'
*.undo_retention=10800
*.undo_tablespace='undotbs1'
*.user_dump_dest='d:\oracle\admin\oralocal\udump'
*.fal_server='primary'
*.fal_client='standby'
*.standby_file_management='auto'
◆1.6 启动备库和主库的侦听。以下为在主库和备库上配置的tnsnames
############# tns file of test data guard database #########################################
standby =
(description =
(address_list =
(address = (protocol = tcp)(host = 192.168.0.12)(port = 1521))
)
(connect_data =
(server=dedicated)
(service_name = oralocal)
)
)
primary =
(description =
(address_list =
(address = (protocol = tcp)(host = 192.168.0.11)(port = 1521))
)
(connect_data =
(server=dedicated)
(service_name = oralocal)
)
)
2.主库:
◆2.1制作备份:
c:\documents and settings\administrator>rman target /
恢复管理器: 版本9.2.0.1.0 - production
copyright (c) 1995, 2002, oracle corporation. all rights reserved.
连接到目标数据库: oralocal (dbid=3856983144)
rman>
rman>
rman> backup full database format='d:\back up
\db bak\rman_bk\for_standby_%u%p%s.rmn' include current controlfile for standby;
启动 backup 于 18-10月-07
正在使用目标数据库控制文件替代恢复目录
分配的通道: ora_disk_1
通道 ora_disk_1: sid=11 devtype=disk
通道 ora_disk_1: 正在启动 full 数据文件备份集
通道 ora_disk_1: 正在指定备份集中的数据文件
在备份集中包含当前的 spfile
备份集中包括备用控制文件
输入数据文件 fno=00001 name=d:\oracle\oradata\oralocal\system01.dbf
输入数据文件 fno=00030 name=d:\oracle\oradata\oralocal\ts_index_admin.dbf
输入数据文件 fno=00062 name=d:\oracle\oradata\oralocal\ts_data_admin.dbf
输入数据文件 fno=00004 name=d:\oracle\oradata\oralocal\drsys01.dbf
输入数据文件 fno=00007 name=d:\oracle\oradata\oralocal\odm01.dbf
输入数据文件 fno=00009 name=d:\oracle\oradata\oralocal\users01.dbf
输入数据文件 fno=00012 name=d:\oracle\oradata\oralocal\ts_index_subn06.dbf
输入数据文件 fno=00014 name=d:\oracle\oradata\oralocal\ts_index_rpt07.dbf
输入数据文件 fno=00016 name=d:\oracle\oradata\oralocal\ts_index_rpt04.dbf
输入数据文件 fno=00018 name=d:\oracle\oradata\oralocal\ts_index_rpt02.dbf
输入数据文件 fno=00020 name=d:\oracle\oradata\oralocal\ts_index_subr04.dbf
输入数据文件 fno=00022 name=d:\oracle\oradata\oralocal\ts_index_subr02.dbf
输入数据文件 fno=00024 name=d:\oracle\oradata\oralocal\ts_index_subn03.dbf
输入数据文件 fno=00026 name=d:\oracle\oradata\oralocal\ts_data_subr04.dbf
输入数据文件 fno=00028 name=d:\oracle\oradata\oralocal\ts_index_subn07.dbf
输入数据文件 fno=00031 name=d:\oracle\oradata\oralocal\ts_data_his02.dbf
输入数据文件 fno=00033 name=d:\oracle\oradata\oralocal\ts_index_subn01.dbf
输入数据文件 fno=00035 name=d:\oracle\oradata\oralocal\ts_index_rpt05.dbf
输入数据文件 fno=00037 name=d:\oracle\oradata\oralocal\ts_data_subr02.dbf
输入数据文件 fno=00039 name=d:\oracle\oradata\oralocal\ts_data_subn08.dbf
输入数据文件 fno=00041 name=d:\oracle\oradata\oralocal\ts_data_subn06.dbf
输入数据文件 fno=00043 name=d:\oracle\oradata\oralocal\ts_data_subn04.dbf
输入数据文件 fno=00045 name=d:\oracle\oradata\oralocal\ts_data_subn02.dbf
输入数据文件 fno=00047 name=d:\oracle\oradata\oralocal\ts_data_static.dbf
输入数据文件 fno=00049 name=d:\oracle\oradata\oralocal\ts_data_rpt07.dbf
输入数据文件 fno=00051 name=d:\oracle\oradata\oralocal\ts_data_rpt05.dbf
输入数据文件 fno=00053 name=d:\oracle\oradata\oralocal\ts_data_rpt03.dbf
输入数据文件 fno=00055 name=d:\oracle\oradata\oralocal\ts_data_rpt01.dbf
输入数据文件 fno=00057 name=d:\oracle\oradata\oralocal\ts_data_portal.dbf
输入数据文件 fno=00059 name=d:\oracle\oradata\oralocal\ts_data_his01.dbf
输入数据文件 fno=00063 name=d:\oracle\oradata\oralocal\ts_index_history.dbf
通道 ora_disk_1: 正在启动段 1 于 18-10月-07
通道 ora_disk_1: 已完成段 1 于 18-10月-07
段 handle=d:\back up\db bak\rman_bk\for_standby_0iiur7me118.rmn comment=none
通道 ora_disk_1: 备份集已完成, 经过时间:00:02:32
通道 ora_disk_1: 正在启动 full 数据文件备份集
通道 ora_disk_1: 正在指定备份集中的数据文件
输入数据文件 fno=00002 name=d:\oracle\oradata\oralocal\undotbs01.dbf
输入数据文件 fno=00005 name=d:\oracle\oradata\oralocal\example01.dbf
输入数据文件 fno=00010 name=d:\oracle\oradata\oralocal\xdb01.dbf
输入数据文件 fno=00060 name=d:\oracle\oradata\oralocal\ts_data_dynamic.dbf
输入数据文件 fno=00067 name=d:\oracle\oradata\oralocal\ts_data_dynamic_02.dbf
输入数据文件 fno=00003 name=d:\oracle\oradata\oralocal\cwmlite01.dbf
输入数据文件 fno=00006 name=d:\oracle\oradata\oralocal\indx01.dbf
输入数据文件 fno=00008 name=d:\oracle\oradata\oralocal\tools01.dbf
输入数据文件 fno=00011 name=d:\oracle\oradata\oralocal\ts_index_subn08.dbf
输入数据文件 fno=00013 name=d:\oracle\oradata\oralocal\ts_index_subn05.dbf
输入数据文件 fno=00015 name=d:\oracle\oradata\oralocal\ts_index_rpt06.dbf
输入数据文件 fno=00017 name=d:\oracle\oradata\oralocal\ts_index_rpt03.dbf
输入数据文件 fno=00019 name=d:\oracle\oradata\oralocal\ts_index_rpt01.dbf
输入数据文件 fno=00021 name=d:\oracle\oradata\oralocal\ts_index_subr03.dbf
输入数据文件 fno=00023 name=d:\oracle\oradata\oralocal\ts_index_subn04.dbf
输入数据文件 fno=00025 name=d:\oracle\oradata\oralocal\ts_index_static.dbf
输入数据文件 fno=00027 name=d:\oracle\oradata\oralocal\ts_index_subr01.dbf
输入数据文件 fno=00029 name=d:\oracle\oradata\oralocal\ts_index_cdr.dbf
输入数据文件 fno=00032 name=d:\oracle\oradata\oralocal\ts_index_subn02.dbf
输入数据文件 fno=00034 name=d:\oracle\oradata\oralocal\ts_index_rpt08.dbf
输入数据文件 fno=00036 name=d:\oracle\oradata\oralocal\ts_data_subr03.dbf
输入数据文件 fno=00038 name=d:\oracle\oradata\oralocal\ts_data_subr01.dbf
输入数据文件 fno=00040 name=d:\oracle\oradata\oralocal\ts_data_subn07.dbf
输入数据文件 fno=00042 name=d:\oracle\oradata\oralocal\ts_data_subn05.dbf
输入数据文件 fno=00044 name=d:\oracle\oradata\oralocal\ts_data_subn03.dbf
输入数据文件 fno=00046 name=d:\oracle\oradata\oralocal\ts_data_subn01.dbf
输入数据文件 fno=00048 name=d:\oracle\oradata\oralocal\ts_data_rpt08.dbf
输入数据文件 fno=00050 name=d:\oracle\oradata\oralocal\ts_data_rpt06.dbf
输入数据文件 fno=00052 name=d:\oracle\oradata\oralocal\ts_data_rpt04.dbf
输入数据文件 fno=00054 name=d:\oracle\oradata\oralocal\ts_data_rpt02.dbf
输入数据文件 fno=00056 name=d:\oracle\oradata\oralocal\ts_data_rpt.dbf
输入数据文件 fno=00058 name=d:\oracle\oradata\oralocal\ts_data_history.dbf
输入数据文件 fno=00061 name=d:\oracle\oradata\oralocal\ts_data_cdr.dbf
输入数据文件 fno=00064 name=d:\oracle\oradata\oralocal\ts_index_dynamic.dbf
通道 ora_disk_1: 正在启动段 1 于 18-10月-07
通道 ora_disk_1: 已完成段 1 于 18-10月-07
段 handle=d:\back up\db bak\rman_bk\for_standby_0jiur7r7119.rmn comment=none
通道 ora_disk_1: 备份集已完成, 经过时间:00:02:19
完成 backup 于 18-10月-07
rman>
◆2.2将当前archivelog归档
rman> sql'alter system archive log current';
sql 语句: alter system archive log current
rman>
◆2.3 将rman的备份集拷贝至standby库相同的路径
◆2.4 复制数据库:
rman> connect auxiliary sys/sys@standby
已连接到备用数据库: oralocal (未安装)
rman>
rman> duplicate target database for standby nofilenamecheck;
启动 duplicate db 于 18-10月-07
使用通道 ora_aux_disk_1
正在打印存储的脚本: memory script
{
restore clone standby controlfile to clone_cf;
replicate clone controlfile from clone_cf;
sql clone 'alter database mount standby database';
}
正在执行脚本: memory script
启动 restore 于 18-10月-07
使用通道 ora_aux_disk_1
通道 ora_aux_disk_1: 正在开始恢复数据文件备份集
通道 ora_aux_disk_1: 正在恢复控制文件
输出文件名=d:\oracle\control_files\oralocal\control01.ctl
通道 ora_aux_disk_1: 已恢复备份段 1
段 handle=d:\back up\db bak\rman_bk
\for_standby_0iiur7me118.rmn tag=tag20071018t221433 params=null
通道 ora_aux_disk_1: 恢复完成
完成 restore 于 18-10月-07
正在复制控制文件
输出文件名=d:\oracle\control_files\oralocal\control01.ctl
输出文件名=d:\oracle\control_files\oralocal\control02.ctl
输出文件名=d:\oracle\control_files\oralocal\control03.ctl
sql 语句: alter database mount standby database
正在打印存储的脚本: memory script
{
set until scn 6016604;
set newname for datafile 1 to
"d:\oracle\oradata\oralocal\system01.dbf";
set newname for datafile 2 to
"d:\oracle\oradata\oralocal\undotbs01.dbf";
set newname for datafile 3 to
"d:\oracle\oradata\oralocal\cwmlite01.dbf";
set newname for datafile 4 to
"d:\oracle\oradata\oralocal\drsys01.dbf";
set newname for datafile 5 to
"d:\oracle\oradata\oralocal\example01.dbf";
set newname for datafile 6 to
"d:\oracle\oradata\oralocal\indx01.dbf";
set newname for datafile 7 to
"d:\oracle\oradata\oralocal\odm01.dbf";
set newname for datafile 8 to
"d:\oracle\oradata\oralocal\tools01.dbf";
set newname for datafile 9 to
"d:\oracle\oradata\oralocal\users01.dbf";
set newname for datafile 10 to
"d:\oracle\oradata\oralocal\xdb01.dbf";
set newname for datafile 11 to
"d:\oracle\oradata\oralocal\ts_index_subn08.dbf";
set newname for datafile 12 to
"d:\oracle\oradata\oralocal\ts_index_subn06.dbf";
set newname for datafile 13 to
"d:\oracle\oradata\oralocal\ts_index_subn05.dbf";
set newname for datafile 14 to
"d:\oracle\oradata\oralocal\ts_index_rpt07.dbf";
set newname for datafile 15 to
"d:\oracle\oradata\oralocal\ts_index_rpt06.dbf";
set newname for datafile 16 to
"d:\oracle\oradata\oralocal\ts_index_rpt04.dbf";
set newname for datafile 17 to
"d:\oracle\oradata\oralocal\ts_index_rpt03.dbf";
set newname for datafile 18 to
"d:\oracle\oradata\oralocal\ts_index_rpt02.dbf";
set newname for datafile 19 to
"d:\oracle\oradata\oralocal\ts_index_rpt01.dbf";
set newname for datafile 20 to
"d:\oracle\oradata\oralocal\ts_index_subr04.dbf";
set newname for datafile 21 to
"d:\oracle\oradata\oralocal\ts_index_subr03.dbf";
set newname for datafile 22 to
"d:\oracle\oradata\oralocal\ts_index_subr02.dbf";
set newname for datafile 23 to
"d:\oracle\oradata\oralocal\ts_index_subn04.dbf";
set newname for datafile 24 to
"d:\oracle\oradata\oralocal\ts_index_subn03.dbf";
set newname for datafile 25 to
"d:\oracle\oradata\oralocal\ts_index_static.dbf";
set newname for datafile 26 to
"d:\oracle\oradata\oralocal\ts_data_subr04.dbf";
set newname for datafile 27 to
"d:\oracle\oradata\oralocal\ts_index_subr01.dbf";
set newname for datafile 28 to
"d:\oracle\oradata\oralocal\ts_index_subn07.dbf";
set newname for datafile 29 to
"d:\oracle\oradata\oralocal\ts_index_cdr.dbf";
set newname for datafile 30 to
"d:\oracle\oradata\oralocal\ts_index_admin.dbf";
set newname for datafile 31 to
"d:\oracle\oradata\oralocal\ts_data_his02.dbf";
set newname for datafile 32 to
"d:\oracle\oradata\oralocal\ts_index_subn02.dbf";
set newname for datafile 33 to
"d:\oracle\oradata\oralocal\ts_index_subn01.dbf";
set newname for datafile 34 to
"d:\oracle\oradata\oralocal\ts_index_rpt08.dbf";
set newname for datafile 35 to
"d:\oracle\oradata\oralocal\ts_index_rpt05.dbf";
set newname for datafile 36 to
"d:\oracle\oradata\oralocal\ts_data_subr03.dbf";
set newname for datafile 37 to
"d:\oracle\oradata\oralocal\ts_data_subr02.dbf";
set newname for datafile 38 to
"d:\oracle\oradata\oralocal\ts_data_subr01.dbf";
set newname for datafile 39 to
"d:\oracle\oradata\oralocal\ts_data_subn08.dbf";
set newname for datafile 40 to
"d:\oracle\oradata\oralocal\ts_data_subn07.dbf";
set newname for datafile 41 to
"d:\oracle\oradata\oralocal\ts_data_subn06.dbf";
set newname for datafile 42 to
"d:\oracle\oradata\oralocal\ts_data_subn05.dbf";
set newname for datafile 43 to
"d:\oracle\oradata\oralocal\ts_data_subn04.dbf";
set newname for datafile 44 to
"d:\oracle\oradata\oralocal\ts_data_subn03.dbf";
set newname for datafile 45 to
"d:\oracle\oradata\oralocal\ts_data_subn02.dbf";
set newname for datafile 46 to
"d:\oracle\oradata\oralocal\ts_data_subn01.dbf";
set newname for datafile 47 to
"d:\oracle\oradata\oralocal\ts_data_static.dbf";
set newname for datafile 48 to
"d:\oracle\oradata\oralocal\ts_data_rpt08.dbf";
set newname for datafile 49 to
"d:\oracle\oradata\oralocal\ts_data_rpt07.dbf";
set newname for datafile 50 to
"d:\oracle\oradata\oralocal\ts_data_rpt06.dbf";
set newname for datafile 51 to
"d:\oracle\oradata\oralocal\ts_data_rpt05.dbf";
set newname for datafile 52 to
"d:\oracle\oradata\oralocal\ts_data_rpt04.dbf";
set newname for datafile 53 to
"d:\oracle\oradata\oralocal\ts_data_rpt03.dbf";
set newname for datafile 54 to
"d:\oracle\oradata\oralocal\ts_data_rpt02.dbf";
set newname for datafile 55 to
"d:\oracle\oradata\oralocal\ts_data_rpt01.dbf";
set newname for datafile 56 to
"d:\oracle\oradata\oralocal\ts_data_rpt.dbf";
set newname for datafile 57 to
"d:\oracle\oradata\oralocal\ts_data_portal.dbf";
set newname for datafile 58 to
"d:\oracle\oradata\oralocal\ts_data_history.dbf";
set newname for datafile 59 to
"d:\oracle\oradata\oralocal\ts_data_his01.dbf";
set newname for datafile 60 to
"d:\oracle\oradata\oralocal\ts_data_dynamic.dbf";
set newname for datafile 61 to
"d:\oracle\oradata\oralocal\ts_data_cdr.dbf";
set newname for datafile 62 to
"d:\oracle\oradata\oralocal\ts_data_admin.dbf";
set newname for datafile 63 to
"d:\oracle\oradata\oralocal\ts_index_history.dbf";
set newname for datafile 64 to
"d:\oracle\oradata\oralocal\ts_index_dynamic.dbf";
set newname for datafile 67 to
"d:\oracle\oradata\oralocal\ts_data_dynamic_02.dbf";
restore
check readonly
clone database
;
}
正在执行脚本: memory script
正在执行命令: set until clause
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
正在执行命令: set newname
启动 restore 于 18-10月-07
使用通道 ora_aux_disk_1
通道 ora_aux_disk_1: 正在开始恢复数据文件备份集
通道 ora_aux_disk_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到d:\oracle\oradata\oralocal\system01.dbf
正将数据文件00004恢复到d:\oracle\oradata\oralocal\drsys01.dbf
正将数据文件00007恢复到d:\oracle\oradata\oralocal\odm01.dbf
正将数据文件00009恢复到d:\oracle\oradata\oralocal\users01.dbf
正将数据文件00012恢复到d:\oracle\oradata\oralocal\ts_index_subn06.dbf
正将数据文件00014恢复到d:\oracle\oradata\oralocal\ts_index_rpt07.dbf
正将数据文件00016恢复到d:\oracle\oradata\oralocal\ts_index_rpt04.dbf
正将数据文件00018恢复到d:\oracle\oradata\oralocal\ts_index_rpt02.dbf
正将数据文件00020恢复到d:\oracle\oradata\oralocal\ts_index_subr04.dbf
正将数据文件00022恢复到d:\oracle\oradata\oralocal\ts_index_subr02.dbf
正将数据文件00024恢复到d:\oracle\oradata\oralocal\ts_index_subn03.dbf
正将数据文件00026恢复到d:\oracle\oradata\oralocal\ts_data_subr04.dbf
正将数据文件00028恢复到d:\oracle\oradata\oralocal\ts_index_subn07.dbf
正将数据文件00030恢复到d:\oracle\oradata\oralocal\ts_index_admin.dbf
正将数据文件00031恢复到d:\oracle\oradata\oralocal\ts_data_his02.dbf
正将数据文件00033恢复到d:\oracle\oradata\oralocal\ts_index_subn01.dbf
正将数据文件00035恢复到d:\oracle\oradata\oralocal\ts_index_rpt05.dbf
正将数据文件00037恢复到d:\oracle\oradata\oralocal\ts_data_subr02.dbf
正将数据文件00039恢复到d:\oracle\oradata\oralocal\ts_data_subn08.dbf
正将数据文件00041恢复到d:\oracle\oradata\oralocal\ts_data_subn06.dbf
正将数据文件00043恢复到d:\oracle\oradata\oralocal\ts_data_subn04.dbf
正将数据文件00045恢复到d:\oracle\oradata\oralocal\ts_data_subn02.dbf
正将数据文件00047恢复到d:\oracle\oradata\oralocal\ts_data_static.dbf
正将数据文件00049恢复到d:\oracle\oradata\oralocal\ts_data_rpt07.dbf
正将数据文件00051恢复到d:\oracle\oradata\oralocal\ts_data_rpt05.dbf
正将数据文件00053恢复到d:\oracle\oradata\oralocal\ts_data_rpt03.dbf
正将数据文件00055恢复到d:\oracle\oradata\oralocal\ts_data_rpt01.dbf
正将数据文件00057恢复到d:\oracle\oradata\oralocal\ts_data_portal.dbf
正将数据文件00059恢复到d:\oracle\oradata\oralocal\ts_data_his01.dbf
正将数据文件00062恢复到d:\oracle\oradata\oralocal\ts_data_admin.dbf
正将数据文件00063恢复到d:\oracle\oradata\oralocal\ts_index_history.dbf
通道 ora_aux_disk_1: 已恢复备份段 1
段 handle=d:\back up\db bak\rman_bk
\for_standby_0iiur7me118.rmn tag=tag20071018t221433 params=null
通道 ora_aux_disk_1: 恢复完成
通道 ora_aux_disk_1: 正在开始恢复数据文件备份集
通道 ora_aux_disk_1: 正在指定从备份集恢复的数据文件
正将数据文件00002恢复到d:\oracle\oradata\oralocal\undotbs01.dbf
正将数据文件00003恢复到d:\oracle\oradata\oralocal\cwmlite01.dbf
正将数据文件00005恢复到d:\oracle\oradata\oralocal\example01.dbf
正将数据文件00006恢复到d:\oracle\oradata\oralocal\indx01.dbf
正将数据文件00008恢复到d:\oracle\oradata\oralocal\tools01.dbf
正将数据文件00010恢复到d:\oracle\oradata\oralocal\xdb01.dbf
正将数据文件00011恢复到d:\oracle\oradata\oralocal\ts_index_subn08.dbf
正将数据文件00013恢复到d:\oracle\oradata\oralocal\ts_index_subn05.dbf
正将数据文件00015恢复到d:\oracle\oradata\oralocal\ts_index_rpt06.dbf
正将数据文件00017恢复到d:\oracle\oradata\oralocal\ts_index_rpt03.dbf
正将数据文件00019恢复到d:\oracle\oradata\oralocal\ts_index_rpt01.dbf
正将数据文件00021恢复到d:\oracle\oradata\oralocal\ts_index_subr03.dbf
正将数据文件00023恢复到d:\oracle\oradata\oralocal\ts_index_subn04.dbf
正将数据文件00025恢复到d:\oracle\oradata\oralocal\ts_index_static.dbf
正将数据文件00027恢复到d:\oracle\oradata\oralocal\ts_index_subr01.dbf
正将数据文件00029恢复到d:\oracle\oradata\oralocal\ts_index_cdr.dbf
正将数据文件00032恢复到d:\oracle\oradata\oralocal\ts_index_subn02.dbf
正将数据文件00034恢复到d:\oracle\oradata\oralocal\ts_index_rpt08.dbf
正将数据文件00036恢复到d:\oracle\oradata\oralocal\ts_data_subr03.dbf
正将数据文件00038恢复到d:\oracle\oradata\oralocal\ts_data_subr01.dbf
正将数据文件00040恢复到d:\oracle\oradata\oralocal\ts_data_subn07.dbf
正将数据文件00042恢复到d:\oracle\oradata\oralocal\ts_data_subn05.dbf
正将数据文件00044恢复到d:\oracle\oradata\oralocal\ts_data_subn03.dbf
正将数据文件00046恢复到d:\oracle\oradata\oralocal\ts_data_subn01.dbf
正将数据文件00048恢复到d:\oracle\oradata\oralocal\ts_data_rpt08.dbf
正将数据文件00050恢复到d:\oracle\oradata\oralocal\ts_data_rpt06.dbf
正将数据文件00052恢复到d:\oracle\oradata\oralocal\ts_data_rpt04.dbf
正将数据文件00054恢复到d:\oracle\oradata\oralocal\ts_data_rpt02.dbf
正将数据文件00056恢复到d:\oracle\oradata\oralocal\ts_data_rpt.dbf
正将数据文件00058恢复到d:\oracle\oradata\oralocal\ts_data_history.dbf
正将数据文件00060恢复到d:\oracle\oradata\oralocal\ts_data_dynamic.dbf
正将数据文件00061恢复到d:\oracle\oradata\oralocal\ts_data_cdr.dbf
正将数据文件00064恢复到d:\oracle\oradata\oralocal\ts_index_dynamic.dbf
正将数据文件00067恢复到d:\oracle\oradata\oralocal\ts_data_dynamic_02.dbf
通道 ora_aux_disk_1: 已恢复备份段 1
段 handle=d:\back up\db bak\rman_bk\for_standby_0jiur7r7119.rmn tag=tag20071018t221433 params=null
通道 ora_aux_disk_1: 恢复完成
完成 restore 于 18-10月-07
正在打印存储的脚本: memory script
{
switch clone datafile all;
}
正在执行脚本: memory script
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=69 stamp=636333659 文件名=d:\oracle\oradata\oralocal\undotbs01.dbf
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=70 stamp=636333659 文件名=d:\oracle\oradata\oralocal\cwmlite01.dbf
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=71 stamp=636333659 文件名=d:\oracle\oradata\oralocal\drsys01.dbf
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=72 stamp=636333659 文件名=d:\oracle\oradata\oralocal\example01.dbf
数据文件 6 已转换成数据文件副本
输入数据文件副本 recid=73 stamp=636333659 文件名=d:\oracle\oradata\oralocal\indx01.dbf
数据文件 7 已转换成数据文件副本
输入数据文件副本 recid=74 stamp=636333659 文件名=d:\oracle\oradata\oralocal\odm01.dbf
数据文件 8 已转换成数据文件副本
输入数据文件副本 recid=75 stamp=636333659 文件名=d:\oracle\oradata\oralocal\tools01.dbf
数据文件 9 已转换成数据文件副本
输入数据文件副本 recid=76 stamp=636333660 文件名=d:\oracle\oradata\oralocal\users01.dbf
数据文件 10 已转换成数据文件副本
输入数据文件副本 recid=77 stamp=636333660 文件名=d:\oracle\oradata\oralocal\xdb01.dbf
数据文件 11 已转换成数据文件副本
输入数据文件副本 recid=78 stamp=636333660 文件名=d:\oracle\oradata\oralocal\ts_index_subn08.dbf
数据文件 12 已转换成数据文件副本
输入数据文件副本 recid=79 stamp=636333660 文件名=d:\oracle\oradata\oralocal\ts_index_subn06.dbf
数据文件 13 已转换成数据文件副本
输入数据文件副本 recid=80 stamp=636333660 文件名=d:\oracle\oradata\oralocal\ts_index_subn05.dbf
数据文件 14 已转换成数据文件副本
输入数据文件副本 recid=81 stamp=636333660 文件名=d:\oracle\oradata\oralocal\ts_index_rpt07.dbf
数据文件 15 已转换成数据文件副本
输入数据文件副本 recid=82 stamp=636333660 文件名=d:\oracle\oradata\oralocal\ts_index_rpt06.dbf
数据文件 16 已转换成数据文件副本
输入数据文件副本 recid=83 stamp=636333660 文件名=d:\oracle\oradata\oralocal\ts_index_rpt04.dbf
数据文件 17 已转换成数据文件副本
输入数据文件副本 recid=84 stamp=636333660 文件名=d:\oracle\oradata\oralocal\ts_index_rpt03.dbf
数据文件 18 已转换成数据文件副本
输入数据文件副本 recid=85 stamp=636333660 文件名=d:\oracle\oradata\oralocal\ts_index_rpt02.dbf
数据文件 19 已转换成数据文件副本
输入数据文件副本 recid=86 stamp=636333660 文件名=d:\oracle\oradata\oralocal\ts_index_rpt01.dbf
数据文件 20 已转换成数据文件副本
输入数据文件副本 recid=87 stamp=636333660 文件名=d:\oracle\oradata\oralocal\ts_index_subr04.dbf
数据文件 21 已转换成数据文件副本
输入数据文件副本 recid=88 stamp=636333660 文件名=d:\oracle\oradata\oralocal\ts_index_subr03.dbf
数据文件 22 已转换成数据文件副本
输入数据文件副本 recid=89 stamp=636333660 文件名=d:\oracle\oradata\oralocal\ts_index_subr02.dbf
数据文件 23 已转换成数据文件副本
输入数据文件副本 recid=90 stamp=636333660 文件名=d:\oracle\oradata\oralocal\ts_index_subn04.dbf
数据文件 24 已转换成数据文件副本
输入数据文件副本 recid=91 stamp=636333660 文件名=d:\oracle\oradata\oralocal\ts_index_subn03.dbf
数据文件 25 已转换成数据文件副本
输入数据文件副本 recid=92 stamp=636333660 文件名=d:\oracle\oradata\oralocal\ts_index_static.dbf
数据文件 26 已转换成数据文件副本
输入数据文件副本 recid=93 stamp=636333660 文件名=d:\oracle\oradata\oralocal\ts_data_subr04.dbf
数据文件 27 已转换成数据文件副本
输入数据文件副本 recid=94 stamp=636333660 文件名=d:\oracle\oradata\oralocal\ts_index_subr01.dbf
数据文件 28 已转换成数据文件副本
输入数据文件副本 recid=95 stamp=636333660 文件名=d:\oracle\oradata\oralocal\ts_index_subn07.dbf
数据文件 29 已转换成数据文件副本
输入数据文件副本 recid=96 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_index_cdr.dbf
数据文件 30 已转换成数据文件副本
输入数据文件副本 recid=97 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_index_admin.dbf
数据文件 31 已转换成数据文件副本
输入数据文件副本 recid=98 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_data_his02.dbf
数据文件 32 已转换成数据文件副本
输入数据文件副本 recid=99 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_index_subn02.dbf
数据文件 33 已转换成数据文件副本
输入数据文件副本 recid=100 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_index_subn01.dbf
数据文件 34 已转换成数据文件副本
输入数据文件副本 recid=101 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_index_rpt08.dbf
数据文件 35 已转换成数据文件副本
输入数据文件副本 recid=102 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_index_rpt05.dbf
数据文件 36 已转换成数据文件副本
输入数据文件副本 recid=103 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_data_subr03.dbf
数据文件 37 已转换成数据文件副本
输入数据文件副本 recid=104 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_data_subr02.dbf
数据文件 38 已转换成数据文件副本
输入数据文件副本 recid=105 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_data_subr01.dbf
数据文件 39 已转换成数据文件副本
输入数据文件副本 recid=106 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_data_subn08.dbf
数据文件 40 已转换成数据文件副本
输入数据文件副本 recid=107 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_data_subn07.dbf
数据文件 41 已转换成数据文件副本
输入数据文件副本 recid=108 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_data_subn06.dbf
数据文件 42 已转换成数据文件副本
输入数据文件副本 recid=109 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_data_subn05.dbf
数据文件 43 已转换成数据文件副本
输入数据文件副本 recid=110 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_data_subn04.dbf
数据文件 44 已转换成数据文件副本
输入数据文件副本 recid=111 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_data_subn03.dbf
数据文件 45 已转换成数据文件副本
输入数据文件副本 recid=112 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_data_subn02.dbf
数据文件 46 已转换成数据文件副本
输入数据文件副本 recid=113 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_data_subn01.dbf
数据文件 47 已转换成数据文件副本
输入数据文件副本 recid=114 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_data_static.dbf
数据文件 48 已转换成数据文件副本
输入数据文件副本 recid=115 stamp=636333661 文件名=d:\oracle\oradata\oralocal\ts_data_rpt08.dbf
数据文件 49 已转换成数据文件副本
输入数据文件副本 recid=116 stamp=636333662 文件名=d:\oracle\oradata\oralocal\ts_data_rpt07.dbf
数据文件 50 已转换成数据文件副本
输入数据文件副本 recid=117 stamp=636333662 文件名=d:\oracle\oradata\oralocal\ts_data_rpt06.dbf
数据文件 51 已转换成数据文件副本
输入数据文件副本 recid=118 stamp=636333662 文件名=d:\oracle\oradata\oralocal\ts_data_rpt05.dbf
数据文件 52 已转换成数据文件副本
输入数据文件副本 recid=119 stamp=636333662 文件名=d:\oracle\oradata\oralocal\ts_data_rpt04.dbf
数据文件 53 已转换成数据文件副本
输入数据文件副本 recid=120 stamp=636333662 文件名=d:\oracle\oradata\oralocal\ts_data_rpt03.dbf
数据文件 54 已转换成数据文件副本
输入数据文件副本 recid=121 stamp=636333662 文件名=d:\oracle\oradata\oralocal\ts_data_rpt02.dbf
数据文件 55 已转换成数据文件副本
输入数据文件副本 recid=122 stamp=636333662 文件名=d:\oracle\oradata\oralocal\ts_data_rpt01.dbf
数据文件 56 已转换成数据文件副本
输入数据文件副本 recid=123 stamp=636333662 文件名=d:\oracle\oradata\oralocal\ts_data_rpt.dbf
数据文件 57 已转换成数据文件副本
输入数据文件副本 recid=124 stamp=636333662 文件名=d:\oracle\oradata\oralocal\ts_data_portal.dbf
数据文件 58 已转换成数据文件副本
输入数据文件副本 recid=125 stamp=636333662 文件名=d:\oracle\oradata\oralocal\ts_data_history.dbf
数据文件 59 已转换成数据文件副本
输入数据文件副本 recid=126 stamp=636333662 文件名=d:\oracle\oradata\oralocal\ts_data_his01.dbf
数据文件 60 已转换成数据文件副本
输入数据文件副本 recid=127 stamp=636333662 文件名=d:\oracle\oradata\oralocal\ts_data_dynamic.dbf
数据文件 61 已转换成数据文件副本
输入数据文件副本 recid=128 stamp=636333662 文件名=d:\oracle\oradata\oralocal\ts_data_cdr.dbf
数据文件 62 已转换成数据文件副本
输入数据文件副本 recid=129 stamp=636333662 文件名=d:\oracle\oradata\oralocal\ts_data_admin.dbf
数据文件 63 已转换成数据文件副本
输入数据文件副本 recid=130 stamp=636333662 文件名=d:\oracle\oradata\oralocal\ts_index_history.dbf
数据文件 64 已转换成数据文件副本
输入数据文件副本 recid=131 stamp=636333662 文件名=d:\oracle\oradata\oralocal\ts_index_dynamic.dbf
数据文件 67 已转换成数据文件副本
输入数据文件副本 recid=132 stamp=636333662 文件名=d:\oracle\oradata\oralocal\ts_data_dynamic_02.dbf
完成 duplicate db 于 18-10月-07
rman>
rman>
rman>
rman>
3.备库,启动standby:
c:\documents and settings\administrator>sqlplus "/ as sysdba"
sql*plus: release 9.2.0.1.0 - production on thu oct 18 23:21:54 2007
copyright (c) 1982, 2002, oracle corporation. all rights reserved.
connected to:
oracle9i enterprise edition release 9.2.0.1.0 - production
with the partitioning, olap and oracle data mining options
jserver release 9.2.0.1.0 - production
>
>
>
> alter database mount standby database;
alter database mount standby database
*
error at line 1:
ora-01100: database already mounted
elapsed: 00:00:02.00
> alter database recover managed standby database disconnect from session;
database altered.
elapsed: 00:00:14.04
注意此时standby库没有redolog!!
4. 测试
◆4.1 在主库测试alter system switch logfile;看是否能够顺利切出logfile,备库上是否有arch传输过来。
◆4.2 测试switchover
◆4.2.1 在主库将primary切换到physical standby:
sys@oralocal(192.168.0.11)> alter database commit
to switchover to physical standby with session shutdown;
数据库已更改。
sys@oralocal(192.168.0.11)> shutdown immediate;
ora-01507: 未安装数据库
oracle 例程已经关闭。
sys@oralocal(192.168.0.11)> startup nomount;
oracle 例程已经启动。
total system global area 139533192 bytes
fixed size 453512 bytes
variable size 109051904 bytes
database buffers 29360128 bytes
redo buffers 667648 bytes
sys@oralocal(192.168.0.11)> alter database mount standby database;
数据库已更改。
已用时间: 00: 00: 04.08
sys@oralocal(192.168.0.11)> alter database
recover managed standby database disconnect from session;
数据库已更改。
◆4.2.2 在备库,switchover到primary:
> alter database commit to switchover to primary;
database altered.
elapsed: 00:00:08.03
> shutdown immediate;
ora-01507: database not mounted
oracle instance shut down.
>
> startup
oracle instance started.
total system global area 139533192 bytes
fixed size 453512 bytes
variable size 109051904 bytes
database buffers 29360128 bytes
redo buffers 667648 bytes
database mounted.
database opened.
◆4.2.3 将主库和备库的tnsnames文件中的standby数据库和primary数据库的ip交换:
############# tns file of test data guard database #########################################
standby =
(description =
(address_list =
(address = (protocol = tcp)(host = 192.168.0.12)(port = 1521))
)
(connect_data =
(server=dedicated)
(service_name = oralocal)
)
)
primary =
(description =
(address_list =
(address = (protocol = tcp)(host = 192.168.0.11)(port = 1521))
)
(connect_data =
(server=dedicated)
(service_name = oralocal)
)
)
5. 切换后测试能否正常switch logfile
6. 切换回去主备
7.关于failover
当主库已经挂掉,不能将主库switchover成备库时,我们将把备库failover成主库(一旦实施failover,就不能将切成主库的备库再次还原成备库)
◆7.1.正常情况下的failover
alter database recover managed standby database finish;
or
alter database recover managed standby database finish skip standby logfile;
alter database commit to switchover to primary;
shutdown immediate;
startup;
◆7.2.提示需要介质恢复,采用硬激活standby数据库,该方法将可能丢失一个redolog的数据:
alter database recover managed standby database finish skip standby logfile;
alter database activate standby database;
shutdown immediate;
startup;
注意点:
a) 在1.2步,如果安装完软件,建立了服务,但是没有改注册表或者set oracle_sid=xxxx,在sqlplus登录的时候会报tns的错。
b)在2.3步,primary和standby如果在不同主机上,须将rman的backup set拷贝到备机,不然会报错:
通道 ora_aux_disk_1: 正在开始恢复数据文件备份集
通道 ora_aux_disk_1: 正在恢复控制文件
输出文件名=d:\oracle\control_files\oralocal\control01.ctl
rman-00571: ===========================================================
rman-00569: =============== error message stack follows ===============
rman-00571: ===========================================================
rman-03002: failure of duplicate db command at 10/18/2007 23:10:33
rman-03015: error occurred in stored script memory script
ora-19505: 无法识别文件"d:\back up\db bak\rman_bk\for_standby_0iiur7me118.rmn"
ora-27041: 无法打开文件
osd-04002: 无法打开文件
o/s-error: (os 2) 系统找不到指定的文件。
c)在2.4步,如果不加nofilenamecheck参数会有以下报错:
sql 语句: alter database mount standby database
rman-00571: ===========================================================
rman-00569: =============== error message stack follows ===============
rman-00571: ===========================================================
rman-03002: failure of duplicate db command at 10/18/2007 22:38:40
rman-05501: aborting duplication of target database
rman-05001: auxiliary filename
d:\oracle\oradata\oralocal\ts_data_dynamic_02.dbf conflicts with a file used by the target database
rman-05001: auxiliary filename
d:\oracle\oradata\oralocal\ts_index_dynamic.dbf conflicts with a file used by the target database
rman-05001: auxiliary filename
d:\oracle\oradata\oralocal\ts_index_history.dbf conflicts with a file used by the target database
rman-05001: auxiliary filename
d:\oracle\oradata\oralocal\ts_data_admin.dbf conflicts with a file used by the target database
rman-05001: auxiliary filename
d:\oracle\oradata\oralocal\ts_data_cdr.dbf conflicts with a file used by the target database
rman-05001: auxiliary filename d:\oracle\oradata\oralocal\ts_data_dynamic.dbf conflicts with a file used by the target database
rman-05001: auxiliary filename
d:\oracle\oradata\oralocal\ts_data_his01.dbf conflicts with a file used by the target database
rman-05001: auxiliary filename
d:\oracle\oradata\oralocal\ts_data_history.dbf conflicts with a file used by the target database
rman-05001: auxiliary filename
d:\oracle\oradata\oralocal\ts_data_portal.dbf conflicts with a file used by the target database
rman-05001: auxiliary filename
d:\oracle\oradata\oralocal\ts_data_rpt.dbf conflicts with a file used by the target database
rman-05001: auxiliary filename
d:\oracle\oradata\oralocal\ts_data_rpt01.dbf conflicts with a file used by the target database
rman-05001: auxiliary filename
d:\oracle\oradata\oralocal\ts_data_rpt02.dbf conflicts with a file used by the target database
rman-05001: auxiliary filename
d:\oracle\oradata\oralocal\ts_data_rpt03.dbf conflicts with a file used by the target database
注:备机上的redolog,是在备机switchover切换到主机是生成,就是在4.2.2步中的alter database commit to switchover to primary中生成。
|