暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
Oracle DataGuard GAP_修复.txt
89
2页
1次
2024-05-23
100墨值下载
11G 常规修复
首先,模拟备库断电,主库切几个最新的归档,然后手工删掉,重新开启 DG 同步。
备库停止 DG 同步进程:
sqlplus / as sysdba
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
shutdown immediate
主库切换多次归档:
sqlplus / as sysdba
alter system switch logfile;
主库删除最近几个归档日志:
rm 1_34_1070147137.arc
rm 1_33_1070147137.arc
备库开启同步进程:
startup
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT
FROM SESSION;
查看 GAP
sqlplus / as sysdba
SELECT * FROM V$ARCHIVE_GAP;
THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
---------- ------------- --------------
1 32 34
SELECT max(sequence#) from v$archived_log where applied='YES';
MAX(SEQUENCE#)
--------------
31
注意: 当前 DG 数据库已存在 GAPGAP 日志为:32---34
a.在主库上创建一个备库的控制文件
alter database create standby controlfile as '/tmp/standby.ctl';
b.以备库的当前 SCN 号为起点,在主库上做一个增量备份
备库查询当前 scn 号:
sqlplus / as sysdba
select to_char(current_scn) from v$database;
TO_CHAR(CURRENT_SCN)
----------------------------------------
1086639
确认主备 GAP 期间是否新增数据文件:
sqlplus / as sysdba
select file# from v$datafile where creation_change# > =1086639;
主库根据备库 scn 号进行增量备份:
rman target /
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
backup INCREMENTAL from scn 1086639 database format '/tmp/incre_%U';
release channel c1;
release channel c2;
}
注意: 如果存在新增数据文件,备库恢复时需要先 restore 新添加的数据文件。
c.将增量备份和控制文件拷贝到备库上
主库拷贝增量备份和控制文件你至备库:
scp incre_0* oracle@orcl_stby:/home/oracle
scp standby.ctl oracle@orcl_stby:/home/oracle
注意: 确认备库的磁盘空间是否足够存放。
d.使用新的控制文件将备库启动到 mount 状态
备库关闭数据库实例,开启至 nomount 状态:
sqlplus / as sysdba
shutdown immediate
startup nomount
备库恢复新的控制文件:
rman target /
restore controlfile from '/home/oracle/standby.ctl';
备库开启到 mount 状态:
alter database mount;
e.增量备份注册到 RMAN catalog,取消日志应用,恢复增量备份
确认备库已关闭 DG 同步进程:
sqlplus / as sysdba
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
备库 rman 注册增量备份文件:
rman target /
catalog start with '/home/oracle/';
YES
备库开启恢复增量备份:
recover database noredo;
f.开启备库的恢复进程
备库开启日志同步进程:
sqlplus / as sysdba
alter database open read only;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT
FROM SESSION;
主库重新激活同步:
sqlplus / as sysdba
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=defer;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=enable;
查询是否存在 GAP,确认主备是否同步:
sqlplus / as sysdba
SELECT * FROM V$ARCHIVE_GAP;
SELECT max(sequence#) from v$archived_log where applied='YES';
SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK#, BLOCKS FROM
V$MANAGED_STANDBY;
至此,DG GAP 已被修复,以上方式为常规修复方式,各个版本都通用。
of 2
100墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。