1.主库备库上配置监听:
在主备上都要改listener.ora,端口最好不要用1521,换个端口,比如1522,配静态监听,主库的服务名比如叫p,备库叫s。然后在主库上改tnsnames.ora,配个连通过1522连s的别名,和连p的别名,然后把这个tnsnames.ora拷到备库上。
2.拷贝主库密码文件到备库
3.拷贝主库的环境变量配置到备库上:
4.全备和备份控制文件,并拷到备库
backup database format '/home/oracle/bak/%d_%U.full';
backup current controlfile for standby format '/home/oracle/dg.ctl';
exit;
然后把这些东西靠到备库上去,比如拷到备库上的/home/oracle/yan下
5.配置参数文件
db_unique_name=s
log_archive_config='dg_config=(p,s)'(主备得一样,都得配)
log_archive_dest_1='location=use_db_recovery_file_dest valid_for=(all_logfiles,all_roles) db_unique_name=s'(如果主备库归档日志路径用的是FRA的话,就这么配)
fal_server='p '
fal_client='s '(配了这俩就不用手动处理gap了,不是绝对不用啊!)
log_archive_dest_2='service=p lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=p'
log_archive_dest_state_2=enable
standby_file_management='AUTO'(自动随着主库增删数据文件)
*.undo_tablespace='UNDOTBS1'
db_create_file_dest='' (这个要是准备用omf的话就这么配 )
db_file_name_convert='(),() '
log_file_name_convert='(),()' (要是不用OMF的话,用这个,一个小括号里一对儿)
如果参数文件里面没写这些的话,备库数据文件路径跟主库又不一致,那就要在rman中用set new name for.. .
然后
startup nomount pfile='/home/oracle/initdg.ora'
create spfile='+data/' from pfile='/home/oracle/initdg.ora'; (如果要做dg集群, 这里必须指定pfile的路径,不能直接写pfile )
shutdown
startup nomount
6.恢复控制文件,恢复数据库
restore controlfile from '/home/oracle/yan/dg.ctl';
alter database mount;
catalog start with '/home/oracle/yan'; (这里,你要是把备份放到跟主库一样的路径下就不用这么干,这么干就是为了让控制文件识别新的备份路径 )
resotre database;(restore就够了 )
exit;
7.添加standby log
查一下,主库每个线程有几个日志组,大小多大了:
select count(group#),thread#,bytes/1024/1024/1024 total_size_g from v$log group by thread#,bytes;
然后添加原则就是,每个线程都要添加standby log,每个线程的standby log日志组要比主库的每个线程的redolog日志组多一个,大小不能小于redolog日志组的大小。
这个在主库上也要添加(为了switch over)
alter database add standby logfile thread 1 '+data4' size 2G;
alter database add standby logfile thread 1 '+data4' size 2G;
alter database add standby logfile thread 1 '+data4' size 2G;
alter database add standby logfile thread 1 '+data4' size 2G;
alter database add standby logfile thread 1 '+data4' size 2G;
alter database add standby logfile thread 2 '+data4' size 2G;
alter database add standby logfile thread 2 '+data4' size 2G;
alter database add standby logfile thread 2 '+data4' size 2G;
alter database add standby logfile thread 2 '+data4' size 2G;
alter database add standby logfile thread 2 '+data4' size 2G;
alter database add standby logfile thread 3 '+data4' size 2G;
alter database add standby logfile thread 3 '+data4' size 2G;
alter database add standby logfile thread 3 '+data4' size 2G;
alter database add standby logfile thread 3 '+data4' size 2G;
alter database add standby logfile thread 3 '+data4' size 2G;
alter database add standby logfile thread 4 '+data4' size 2G;
alter database add standby logfile thread 4 '+data4' size 2G;
alter database add standby logfile thread 4 '+data4' size 2G;
alter database add standby logfile thread 4 '+data4' size 2G;
alter database add standby logfile thread 4 '+data4' size 2G;
8.设置主库参数
alter system set log_archive_dest_1='location=use_db_recovery_file_dest valid_for=(all_logfiles,all_roles) db_unique_name=p'; (如果主备库归档日志路径用的是FRA的话,就这么配)
alter system set log_archive_dest_2='service=s lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=s';
alter system set log_archive_dest_state_2=enable;
alter system set fal_server='s';
alter system set fal_client='p';
9.到备库应用日志
recover managed standby database using current logfile disconnect;
这就已经是个dg了,想等归档日志追上。看日志也好,查
反正就是等追上了,然后:
recover managed standby database cancel;
alter database open;
recover managed standby database using current logfile disconnect;
这就启动到adg了,12c还要:
alter pluggable database all open;
10.配置归档删除策略:
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31532509/viewspace-2153446/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31532509/viewspace-2153446/