ORACLE基于归档号增量恢复
基于归档号增量恢复
备库停掉MRP进程
SQL> alter database recover managed standby database cancel;
查看备库当前的归档号
archive log list
查看alert日志获得缺失的归档号
在主库上执行基于归档号的rman备份
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
backup archivelog from logseq xxx until logseq xxx format ‘/oracle/rman/U%_ZZZ’;
######备份集压缩
#######backup as compressed backupset archivelog from logseq xxx until logseq xxx format ‘/oracle/rman/U%_ZZZ’;;
release channel c1;
release channel c2;
}
控制文件备份
SQL>alter database create standby controlfile as '/tmp/control01.ctl';
或使用backup current controlfile备份
RMAN> backup current controlfile for standby format '/oracle/rman/control%s.bak';
把备份片拷到备库
$ scp * 10.87.250.91:/Tbackup/backup/
控制文件恢复
若之前用rman备份
备库:
sql > shutdown immediate
sql > startup nomount
rman > restore standby controlfile from '/Tbackup/backup/xxx';
rman > alter database mount;
在备库主机上,注册备份片
RMAN> catalog backuppiece '/Tbackup/hdyy/xxx';
或者
RMAN> catalog start with '/Tbackup/backup/';
RMAN> restore archivelog from logseq xxx until logseq xxx;
查看数据文件头,验证恢复情况
select file#, to_char(checkpoint_change#) from v$datafile_header;
备库重新启动应用日志
SQL>alter database recover managed standby database disconnect from session;
或者
SQL > alter database recover managed standby database using current logfile disconnect from session;
主库操作往备库传输归档日志
SQL>alter system set log_archive_dest_state_2 ='enable';
主备库查看归档日志情况
SQL>archive log list;
主库切下归档看是否用到备库
Alter system switch lofile;