一 主库准备工作
1 为从库创建联机日志组
alter database add standby logfile group 4 ('C:appinterliblogSTAN04.LOG') size 50m;
alter database add standby logfile group 5 ('C:appinterliblogSTAN05.LOG') size 50m;
alter database add standby logfile group 6 ('C:appinterliblogSTAN06.LOG') size 50m;
1 当RFS进程接受到日志后,就将其写入Standby日志文件里,备库的Standby日志文件可以看做是主库在线日志文件的一个镜像
2 当主库做日志切换时,备库的Standby日志也做相应的切换,切换后的Standby日志由备库的ARCH进程归档
3 一般日志组都是相同大小和数量
2 为从库创建控制文件(模板)
alter database create standby controlfile as 'C:appinterlibstandby.ctl';
3 创建pfile文件,以便于修改
create pfile='C:appinterlibinitora.ora' from spfile;
4 主库进行参数设置
ALL_LOGFILES 表示 无论是归档或者在线日志都有效 online_logfiles 代表只有在线日志生效
ALL_ROLES 表示所有角色都有效 不论主或者备 primary_role 代表只有主库生效
LGWR ASYNC 代表在线日志异步传输方式
LOG_ARCHIVE_CONFIG 只是为了兼容9i
alter system set DB_UNIQUE_NAME=rac scope=spfile sid='*'
alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=( rac,rac_dg) scope=both sid='*' 同一个Data Guard中所有DB_UNIQUE_NAME 此参数是为了兼容9i
alter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR= (ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=rac' scope=both sid='*' 本地归档日志设置
alter system set LOG_ARCHIVE_DEST_2= 'SERVICE=rac_dg LGWR ASYNC VALID_FOR=( ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=rac_dg' scope=both sid='*' 远程归档设置
alter system set FAL_SERVER=rac_dg scope=both sid='*'
alter system set FAL_CLIENT=rac scope=both sid='*'
alter sysytem set DB_FILE_NAME_CONVERT='rac_dg_dir','rac_dir' scope=spfile sid='*'
alter sysytem set LOG_FILE_NAME_CONVERT='rac_dg_dir','rac_dir' scope=spfile sid='*'
alter sysytem set STANDBY_FILE_MANAGEMENT=AUTO scope=both sid='*'
5 DG参数文件添加
DB_UNIQUE_NAME=rac_dg
LOG_ARCHIVE_CONFIG='DG_CONFIG=( DB_UNIQUE_NAME)
LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR= (ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=rac_dg'
LOG_ARCHIVE_DEST_2= 'SERVICE=rac LGWR ASYNC VALID_FOR=( ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=rac'
FAL_SERVER=rac
FAL_CLIENT=rac_dg
DB_FILE_NAME_CONVERT='rac_dir','rac_dg_dir'
LOG_FILE_NAME_CONVERT='rac_dir','rac_dg_dir'
STANDBY_FILE_MANAGEMENT=AUTO //必须配置此参数为auto
6 使用新的pfile启动主库,并创建新的spfile
Startup pfile=’/u01/app/oracle/product/11.2.0/db_1/dbs/initPROD1.ora’
Create spfile from pfile;
7 创建密码和目录
orapwd
file
=passwordUrlPWDorcl.ora password=123 entries=10
传送密码文件到备库,复制用户
mkdir -p /u01/app/oracle/oradata/orcl/ mkdir -p /u01/app/oracle/admin/orcl/adump/ mkdir -p /u01/app/oracle/fast_recovery_area/orcl/
8 主库增加 dg从库的监听,为连接提供服务
修改listener.ora 和tnsnames.ora
9 创建DG
rman target sys/password@rac auxiliary sys/password@rac_dg
duplicate target database for standby from active database nofilenamecheck; 复制
alter database recover managed standby database using current logfile disconnect from session 开启实时应用日志
select switchover_status,database_role from v$database; 角色查询