利用RMAN 建立 oracle dataguard
1、
主备库口令文件的密码一致、并开启logging、修改tnsnames.ora
2、
备份standby controlfile并把standby controlfile 复制到备库成多份
(根据备库的参数文件把 standby controlfile复制成多份,多路径)
、RMAN备份主库数据
3、
修改参数文件(主库,备库的参数都要修改)
4、
备库alter databae mount standby database;使用RMAN恢复数据
5、
备库应用日志
主库操作为紫色
备库操作为蓝色
1
、
主库
alter database force logging;
复制主库口令文件给备库就不记录了,修改tnsnames.ora也不记录了,
注意口令文件修改备库相应的ORACLE_SID
2
、
复制主库standby controlfile给备库就不记录了,
注意复制成多份多路径根据备库的参数文件,
及RMAN全库备份也不记录了
3
、
修改参数文件
alter system set fal_client='student';
alter system set fal_server='student_st';
alter system set log_archive_config='DG_CONFIG=(student,student_st)';
alter system set log_archive_dest_1='LOCATION=/rman/archivelog/
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=student';
alter system set log_archive_dest_2='SERVICE=student_st LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=student_st';
alter system set log_archive_dest_state_1='ENABLE';
alter system set log_archive_dest_state_2='DEFER';
alter system set standby_file_management='AUTO';
备库
修改参数文件(使用SPFILE启动实例)
alter system set fal_client='student_st';
alter system set fal_server='student';
alter system set log_archive_config='DG_CONFIG=(student_st,student)';
alter system set log_archive_dest_1='LOCATION=/rman/arch/student_st/
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=student_st';
alter system set log_archive_dest_2='SERVICE=student LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=student';
alter system set log_archive_dest_state_1='ENABLE';
alter system set log_archive_dest_state_2='DEFER';
alter system set standby_file_management='AUTO';
4
、
开启备份mount (因为主库copy过来的standby controlfile已经存在所以可以mount)
alter database mount standby database;
RMAN> catalog start with '/xxxx/';
--
注册备份集
RMAN> restore database;
--
恢复数据文件
5
、
alter database recover managed standby database disconnect from session;
--
接收并应用日志
select sequence#.applied from v$archived_log;
--
查看日志应用情况
主库
alter system set log_archive_dest_state_2='enable';
alter system switch logfile;
--
多次切换日志,并查看备份应用日志状态
archive log list;
备份
查看应用状态
select sequence#.applied from v$archived_log;