(1) 建立存放备用数据库相关文件的 OS 目录
(2) 建立例程服务
(3) 配置监听程序和网络服务名
(4) 准备主数据库参数文件
(5) 准备备用数据库参数文件
(6) 启用备用例程并建立备用数据库
(7) 启用备用数据库
先备份数据库:
C:\>rman target sys/orcl@demo nocatalog
恢复管理器: Release 10.2.0.1.0 - Production on 星期一 2月 16 18:11:41 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: DEMO (DBID=3411805505)
使用目标数据库控制文件替代恢复目录
RMAN> backup database plus archivelog
2> format='d:\backup\%d_%s.bak';
启动 backup 于 16-2月 -09
当前日志已存档
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=154 devtype=DISK
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =93 记录 ID=241 时间戳=678383978
输入存档日志线程 =1 序列 =94 记录 ID=243 时间戳=678968789
输入存档日志线程 =1 序列 =95 记录 ID=246 时间戳=678969070
输入存档日志线程 =1 序列 =96 记录 ID=247 时间戳=678974456
输入存档日志线程 =1 序列 =97 记录 ID=250 时间戳=678974463
输入存档日志线程 =1 序列 =98 记录 ID=253 时间戳=678974698
输入存档日志线程 =1 序列 =99 记录 ID=256 时间戳=678974716
输入存档日志线程 =1 序列 =100 记录 ID=259 时间戳=678991521
输入存档日志线程 =1 序列 =101 记录 ID=270 时间戳=678991647
输入存档日志线程 =1 序列 =102 记录 ID=274 时间戳=678997062
通道 ORA_DISK_1: 正在启动段 1 于 16-2月 -09
通道 ORA_DISK_1: 已完成段 1 于 16-2月 -09
段句柄=D:\BACKUP\DEMO_45.BAK 标记=TAG20090216T181743 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:09
完成 backup 于 16-2月 -09
启动 backup 于 16-2月 -09
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=D:\DEMO\SYSTEM01.DBF
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
输入数据文件 fno=00003 name=D:\DEMO\SYSAUX01.DBF
输入数据文件 fno=00002 name=D:\DEMO\UNDOTBS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 16-2月 -09
通道 ORA_DISK_1: 已完成段 1 于 16-2月 -09
段句柄=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\DEMO\BACKUPSET\2009_02_16\O1
_MF_NNNDF_TAG20090216T181755_4SLHBNW6_.BKP 标记=TAG20090216T181755 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:55
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 16-2月 -09
通道 ORA_DISK_1: 已完成段 1 于 16-2月 -09
段句柄=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\DEMO\BACKUPSET\2009_02_16\O1
_MF_NCSNF_TAG20090216T181755_4SLHG91T_.BKP 标记=TAG20090216T181755 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:06
完成 backup 于 16-2月 -09
启动 backup 于 16-2月 -09
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =103 记录 ID=279 时间戳=678997197
通道 ORA_DISK_1: 正在启动段 1 于 16-2月 -09
通道 ORA_DISK_1: 已完成段 1 于 16-2月 -09
段句柄=D:\BACKUP\DEMO_48.BAK 标记=TAG20090216T181957 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
完成 backup 于 16-2月 -09
RMAN> backup current controlfile for standby
2> format='d:\backup\%d_%s.bak';
启动 backup 于 16-2月 -09
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括备用控制文件
通道 ORA_DISK_1: 正在启动段 1 于 16-2月 -09
通道 ORA_DISK_1: 已完成段 1 于 16-2月 -09
段句柄=D:\BACKUP\DEMO_49.BAK 标记=TAG20090216T182153 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
完成 backup 于 16-2月 -09
RMAN> exit
恢复管理器完成。
建立存放备用数据库相关文件的 OS 目录:
C:\>mkdir d:\standby3\adump
C:\>mkdir d:\standby3\bdump
C:\>mkdir d:\standby3\cdump
C:\>mkdir d:\standby3\udump
C:\>mkdir d:\standby3\archive
C:\>oradim -new -sid standby3 -syspwd orcl
实例已创建。
C:\>sqlplus sys/orcl@demo as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 2月 16 18:25:22 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> create pfile from spfile;
文件已创建。
修改参数文件 initstandby1.ora:
fal_client='demo'
fal_server='standby1,standby2,standby3'
log_archive_config='dg_config=(demo,standby1,standby2,standby3)'
log_archive_dest_5='service=standby3 valid_for=(online_logfiles,primary_role) db_unique_name=standby3'
standby_file_management='auto'
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> create spfile from pfile;
文件已创建。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 603979776 bytes
Fixed Size 1250380 bytes
Variable Size 272632756 bytes
Database Buffers 322961408 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
数据库已经打开。
SQL> create pfile='%oracle_home%\database\initstandby3.ora'
2 from spfile;
文件已创建。
修改参数文件 initstandby3.ora :
audit_file_dest='D:\standby3\adump'
background_dump_dest='D:\standby3\bdump'
control_files='d:\standby3\control01.ctl'
core_dump_dest='D:\standby3\cdump'
user_dump_dest='D:\standby3\udump'
standby_file_management='auto'
db_unique_name='standby3'
service_names=standby3
instance_name=standby3
fal_client='standby3'
fal_server='demo'
log_archive_config='dg_config=(demo,standby1,standby2,standby3)'
log_archive_dest_1='location=d:\standby3\archive valid_for=(all_logfiles,all_roles) db_unique_name=standby3'
log_archive_dest_2='service=demo valid_for=(online_logfiles,primary_role) db_unique_name=demo'
db_file_name_convert='d:\demo','d:\standby3'
log_file_name_convert='d:\demo\','d:\standby3','c:\demo','standby3'
standby_archive_dest='d:\standby3\archive'
SQL> create spfile='%oracle_home%\database\spfilestandby3.ora'
2 from pfile='%oracle_home%\database\initstandby3.ora';
文件已创建。
SQL> exit
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 断开
C:\>sqlplus sys/orcl@standby3 as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 2月 17 10:08:37 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已连接到空闲例程。
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 603979776 bytes
Fixed Size 1250380 bytes
Variable Size 163580852 bytes
Database Buffers 432013312 bytes
Redo Buffers 7135232 bytes
SQL> exit
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 断开
C:\>rman target sys/orcl@demo auxiliary sys/orcl@standby3
恢复管理器: Release 10.2.0.1.0 - Production on 星期二 2月 17 10:09:38 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: DEMO (DBID=3411805505)
已连接到辅助数据库: DEMO (未装载)
RMAN> duplicate target database for standby dorecover;
启动 Duplicate Db 于 17-2月 -09
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=157 devtype=DISK
内存脚本的内容:
{
set until scn 1869662;
restore clone standby controlfile;
sql clone 'alter database mount standby database';
}
正在执行内存脚本
正在执行命令: SET until clause
启动 restore 于 17-2月 -09
使用通道 ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_AUX_DISK_1: 正在复原控制文件
通道 ORA_AUX_DISK_1: 正在读取备份段 D:\BACKUP\DEMO_49.BAK
通道 ORA_AUX_DISK_1: 已恢复备份段 1
段句柄 = D:\BACKUP\DEMO_49.BAK 标记 = TAG20090216T182153
通道 ORA_AUX_DISK_1: 恢复完成, 用时: 00:00:02
输出文件名=D:\STANDBY3\CONTROL01.CTL
完成 restore 于 17-2月 -09
sql 语句: alter database mount standby database
释放的通道: ORA_AUX_DISK_1
内存脚本的内容:
{
set until scn 1869662;
set newname for tempfile 1 to
"D:\STANDBY3\TEMP01.DBF";
switch clone tempfile all;
set newname for datafile 1 to
"D:\STANDBY3\SYSTEM01.DBF";
set newname for datafile 2 to
"D:\STANDBY3\UNDOTBS01.DBF";
set newname for datafile 3 to
"D:\STANDBY3\SYSAUX01.DBF";
set newname for datafile 4 to
"D:\STANDBY3\USERS01.DBF";
restore
check readonly
clone database
;
}
正在执行内存脚本
正在执行命令: SET until clause
正在执行命令: SET NEWNAME
临时文件 1 在控制文件中已重命名为 D:\STANDBY3\TEMP01.DBF
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
启动 restore 于 17-2月 -09
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=156 devtype=DISK
通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_AUX_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\STANDBY3\SYSTEM01.DBF
正将数据文件00002恢复到D:\STANDBY3\UNDOTBS01.DBF
正将数据文件00003恢复到D:\STANDBY3\SYSAUX01.DBF
正将数据文件00004恢复到D:\STANDBY3\USERS01.DBF
通道 ORA_AUX_DISK_1: 正在读取备份段 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA
\DEMO\BACKUPSET\2009_02_16\O1_MF_NNNDF_TAG20090216T181755_4SLHBNW6_.BKP
通道 ORA_AUX_DISK_1: 已恢复备份段 1
段句柄 = D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\DEMO\BACKUPSET\2009_02_16\
O1_MF_NNNDF_TAG20090216T181755_4SLHBNW6_.BKP 标记 = TAG20090216T181755
通道 ORA_AUX_DISK_1: 恢复完成, 用时: 00:02:06
完成 restore 于 17-2月 -09
内存脚本的内容:
{
switch clone datafile all;
}
正在执行内存脚本
数据文件 1 已转换成数据文件副本
输入数据文件副本 recid=30 stamp=679054458 文件名=D:\STANDBY3\SYSTEM01.DBF
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=31 stamp=679054459 文件名=D:\STANDBY3\UNDOTBS01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=32 stamp=679054459 文件名=D:\STANDBY3\SYSAUX01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=33 stamp=679054459 文件名=D:\STANDBY3\USERS01.DBF
内存脚本的内容:
{
set until scn 1869662;
recover
standby
clone database
delete archivelog
;
}
正在执行内存脚本
正在执行命令: SET until clause
启动 recover 于 17-2月 -09
使用通道 ORA_AUX_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 103 已作为文件 D:\DEMO\ARCHIVE\ARC00103_0674493001.001 存在
于磁盘上
存档日志线程 1 序列 104 已作为文件 D:\DEMO\ARCHIVE\ARC00104_0674493001.001 存在
于磁盘上
存档日志文件名 =D:\DEMO\ARCHIVE\ARC00103_0674493001.001 线程 =1 序列 =103
存档日志文件名 =D:\DEMO\ARCHIVE\ARC00104_0674493001.001 线程 =1 序列 =104
介质恢复完成, 用时: 00:00:05
完成 recover 于 17-2月 -09
完成 Duplicate Db 于 17-2月 -09
RMAN> exit
恢复管理器完成。
C:\>sqlplus sys/orcl@standby3 as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 2月 17 10:15:48 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select status from v$instance;
STATUS
------------
MOUNTED
SQL> conn sys/orcl@demo as sysdba
已连接。
SQL> alter system switch logfile;
系统已更改。
SQL> conn sys/orcl@standby3 as sysdba
已连接。
SQL> select name from v$archived_log;
NAME
--------------------------------------------------------------------------------
D:\STANDBY3\ARCHIVE\ARC00093_0674493001.001
D:\STANDBY3\ARCHIVE\ARC00094_0674493001.001
D:\STANDBY3\ARCHIVE\ARC00095_0674493001.001
D:\STANDBY3\ARCHIVE\ARC00096_0674493001.001
D:\STANDBY3\ARCHIVE\ARC00097_0674493001.001
D:\STANDBY3\ARCHIVE\ARC00098_0674493001.001
D:\STANDBY3\ARCHIVE\ARC00099_0674493001.001
D:\STANDBY3\ARCHIVE\ARC00100_0674493001.001
D:\STANDBY3\ARCHIVE\ARC00105_0674493001.001
已选择9行。
SQL> alter database open;
数据库已更改。
SQL> select name from v$tempfile;
NAME
--------------------------------------------------------------------------------
D:\STANDBY3\TEMP01.DBF