当前位置:文档之家› DataGurad-主库丢失归档日志恢复备库方案

DataGurad-主库丢失归档日志恢复备库方案

DataGurad-主库丢失归档日志恢复备库方案
主库丢失归档恢复备库
(oracle 11.2.0.3)
文档历史信息
当前修订
日期:
2013-09-29
版本号修订日

修订人变更内

备注
0.1 2013-
09-29 陈伟创建文

一、使用范围 (6)
1、使用对象 (6)
2、使用场景 (6)
二、具体操作 (6)
备库查询scn (7)
主库创建增量备份 (8)
备库恢复数据 (9)
启动主库 (12)
一、使用范围
1、使用对象
数据库维护人员。

现场实施人员。

2、使用场景
在系统运转过程中由于人为,或网络,等其他意外情况导致主库归档日志未在备库正常应用,丢了若干个归档序号。

同时主库是归档日志由于定时rman任务清除,使归档日志无法完成同步。

使用命令SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;可查看日常DG同步情况,如在备库中出现短号情况适用本文档。

二、具体操作
备库查询scn
1、前提条件
备库监听已经启动
>netstat –an |grep 1521
备库数据库处于Standby状态
>sqlplus /nolog
Sql>connect /as sysdba
sql> shutdown immediate
sql>startup mount;
sql>Alter database recover managed standby database disconnect from session;
2、查询备库同步scn号
> sqlplus /nolog
sql> connect /as sysdba
sql> select current_scn from v$database;
显示结果:
CURRENT_SCN
-----------
227761
主库创建增量备份
1、前提条件
主库运行正常
2、创建基于scn的增量备份
使用rman target / nocatalog命令进入rman命令行
如果不能执行命令,
请用:/home/oracle/product/11gR2/db /bin/rman target / nocatalog
注意:创建增量备份,scn一定要与备库一直,并保证备份文件夹为空。

rman> BACKUP DEVICE TYPE DISK INCREMENTAL FROM SCN 227761 DATABASE FORMAT
'/home/oracle/backup/backlogs/ bkup_incre+%T+%U.bk';
3、将备份的文件复制到standby端
> scp -r /home/oracle/backup/ backlogs /
oracle@99.99.99.2:/home/oracle/ backup/
注意:远程文件夹下不能有backlogs文件夹
4、关闭主库
> sqlplus /nolog
sql > connect /as sysdba
sql> shutdown immediate
保证在数据恢复期间不会有新的数据产生
备库恢复数据
1、切换备库状态为:repository
>sqlplus /nolog
Sql>connect /as sysdba
Sql>Alter database recover
managed standby database cancel;
2、将备份文件导入备库
RMAN> CATALOG START WITH '/home/oracle/backup/backlogs/';
3、确定控制文件路径
Sql>show parameter control
4、恢复数据重新创建控制文件
RMAN> run{
restore standby controlfile to
'/home/oracle/backup/control02.ctl'
;
recover database noredo;
};
5、关闭备库
> sqlplus /nolog
sql> connect /as sysdba
sql> shutdown immediate
6、将/home/oracle/backup/control02.ctl
覆盖/home/oracle/oradata/zfmmdb/control02.c tl和/home/oracle/oradata/zfmmdb/control01.c tl
>cp /home/oracle/backup/control02.ctl /home/oracle/oradata/zfmmdb/control01
.ctl
>cp /home/oracle/backup/control02.ctl /home/oracle/oradata/zfmmdb/control02
.ctl
7、重启备库
> sqlplus /nolog
sql> connect /as sysdba
sql> STARTUP MOUNT;
sql>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
启动主库
> startup
三、验证DG系统是否恢复正常
主库操作
确定现有的归档重做日志
SQL->SELECT SEQUENCE#, FIRST_TIME, NEXT_TIMEFROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
手动执行联机日志
SQL->ALTER SYSTEM SWITCH LOGFILE;
备库操作
验证新的重做日志已经到达standby数据库
SQL->SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
验证新的重做日志已经应用
SQL->SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
四、附录
状态模拟
由于测试需要现提供场景模拟方式
1、关闭备库监听或数据库
2、使用oracle用户登录到主库手动发送归档日志
>sqlplus /nolog
sql>connect /as sysdba
SQL->ALTER SYSTEM SWITCH LOGFILE;
SQL->ALTER SYSTEM SWITCH LOGFILE;
3、查询手动发送归档日志序号
SQL->SELECT
SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
4、删除对应序号日志
5、启动备机,再次使用手动同步方式。

通过以上步骤dg处于备机不能正常同步状态。

保护模式开启
注意事项:
以下操作请在主库执行.
1检查保护模式
sqlplus /nolog
SQL->connect /as sysdba
SQL->select DATABASE_ROLE,PROTECTION_MODE,PROTECTION_LEVEL from v$database;
DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL
---------------- -------------------- --------------------
PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
默认保护模式为最大性能
2修改保护模式
SQL->shutdown immediate
SQL->startup mount
SQL->ALTER DATABASE SET STANDBY DATABASE TO maximize availability;
SQL->ALTER DATABASE OPEN;。

相关主题