一、创建物理standby数据库1.利用duplicate命令创建物理standby数据库的Oracle官方的三点说法:
a.duplicate命令创建物理standby数据库,是通过Primary数据库的备份进行,因此不会对primary有影响
b.duplicate命令支持以OMF方式管理文件以及路径结构
c.duplicate命令支持在恢复过程中自动执行recover,尽可能保持standby数据库与Primary数据库的一致状态。
2.配置Data Guard环境需要进行的准备工作,这块包括:primary数据库打开归档模式、设置为force
logging、配置相关初始化参数等等。
a.拥有至少一份有效地RMAN整库备份。
b.创建辅助实例并启动至NOMOUNT状态。
c.配置网络服务名、监听服务等。
3.创建步骤:Data
Guard配置非常灵活,sstandby数据库可以与primary在相同的服务器或不同的服务器上,并且两端的文件路径可以相同,也可以不同。
a.相同目录结构的创建:说明standby数据库与primary数据库肯定不在同一台服务器上,不需要各种方式转换文件路径,次情况下用duplicate创建物理standby极为简单。
#连接primary数据库和辅助实例,如果使用了catalog模式,那么还要链接到catalog数据库
#分配通道
#创建standby控制文件
(1)RMAN>backup current controlfile for
standby;
(2)RMAN>copy controlfile for standby to
'f:\oracle\product\oradata\orclstdby01.ctl';
#执行DUPLICATE命令创建standby数据库:
RMAN>duplicate target database for standby
nofilenamecheck dorecover;
必须指定NOFILENAMECHECK参数,避免覆盖primary数据库的当前的数据文件。
DORECOVER并不是必选的,如果不指定,则duplicate仅修复数据文件到目标服务器,不过并不会Recover数据文件,最后将standby数据库打开到MOUNT状态,此时新创建的物理standby有可能与primary相差较远(因为备份后所有的redologs均未在standby数据库上应用过),指定DORECOVER参数后,DUPLICATE在修复数据文件到目标路径下后,就会自动对这些文件执行RECOVER。
b.不同目录结构的创建
#连接primary数据库和辅助实例,如果使用了catalog模式,那么还要链接到catalog数据库
#分配通道
#创建standby控制文件
#为数据文件、日志文件指定新路径
#执行DUPLICATE命令创建standby数据库
要对数据文件和日志文件的路径重新定义方法很多
(1)DB_FILE_NAME_CONVERT和LOG_FILE_NAME_CONVERT
(2)SET NEWNAME命令重定义数据文件 RUN{ SET NEWNAME FOR DATAFILE 1 TO
'F:\oracle\product\10.2.0\oradata\orcl\SYSTEM01.DBF';
duplicate target database for standby dorecover;}
(3)CONFIGURE AUXNAME命令重定义数据文件
CONFIGURE AUXNAME FOR DATAFILE 1 TO
'F:\oracle\product\10.2.0\oradata\orcl\AUX_1.F';
DUPLICATE TARGET DATABASE FOR STANDBY;
务必注意:CONFIGURE AUXNAME命令执行后是一直生效的,因此应当在DUPLICATE命令执行完之后,清楚CONFIGURE
AUXNAME,这样就不会对未来的操作造成影响。
CONFIGURE AUXNAME FOR DATAFILE 1 CLEAR;
4.duplicate命令操作步骤:默认情况下,执行duplicate命令后,RMAN会按照下面的步骤操作:
a.恢复standby控制文件到standby服务器
b.恢复primary数据库备份集中的相应的数据文件到standby服务器
c.将standby数据库打开到MOUNT状态,不过不会自动打开REDO应用,命令执行完毕。
NOTE:在默认情况duplicate命令并不会应用归档文件对创建的standby数据库数据文件进行恢复,除非执行duplicate时指定了DORECOVER参数,那么默认duplicate会应用
所有可应用的redologs,如果希望指定恢复的时间点,可以通过SET UNTIL
SCN/TIME的方式执行不完全恢复,不过注意SET UNTIL和duplicate命令必须在同一个RUN块中。
5.duplicate命令创建物理standby
primary数据库:ORCL;IP:192.168.29.38; windows xp sp3
通过ORCL创建Standby数据库,设置standby数据库DB_UNIQUE_NAME为ORCLMAN,并重指定standby数据库的文件路径。
a.配置standby辅助实例的初始化参数文件
#创建相关的目录:
F:\oracle\product\10.2.0\admin\orclman>mkdir adump
bdump cdump pfile udump
F:\oracle\product\10.2.0\admin\orclman>cd
F:\oracle\product\10.2.0\oradata
F:\oracle\product\10.2.0\oradata>mkdir orclman
F:\oracle\product\10.2.0\oradata>cd orclman
F:\oracle\product\10.2.0\oradata\orclman>
F:\oracle\product\10.2.0\oradata\orclman>mkdir
archivelog
#创建初始化参数文件init.ora
orcl.__db_cache_size=20971520
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=251658240
orcl.__streams_pool_size=0
*._allow_resetlogs_corruption=FALSE
*.audit_file_dest='F:\oracle\product\10.2.0\admin\orclman\adump'
*.audit_sys_operations=TRUE
*.audit_trail='DB_EXTENDED'
*.background_dump_dest='F:\oracle\product\10.2.0\admin\orclman\bdump'
*.compatible='10.2.0.3.0'
*.control_files='F:\oracle\product\10.2.0\oradata\orclman\stdctl01.ctl','F:\oracle\product\10.2.0\oradata\orclman\stdctl02.ctl','F:\oracle\product\10.2.0\oradata\orclman\stdctl03.ctl'
*.core_dump_dest&