注册

rman不能恢复宕机前已提交的数据

WFS 2025/01/02 378 2

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: 03134284294-20241009-244896-20119
【操作系统】:银河麒麟v10sp3
【CPU】:
【问题描述】*:已提交未归档的事务不能恢复

我每周1次 全量备份,每天一次增量备份, 每隔1小时做一次 归档日志备份,
在最后一次归档备份后,
按时间顺序, 事务A提交 -->切换日志 --> 事务B提交了, 但没有切换日志,
这时候如果宕机, 但备份齐全,归档日志也齐全, 恢复的话事务B丢失, 怎么才能实现恢复到宕机前的一刻?

备份演示如下:

create table T1 ( A char(200)); insert into T1 VALUES('1.before full backup'); COMMIT; ALTER system switch logfile; BACKUP DATABASE FULL BACKUPSET '/bak/full' BACKUPINFO 'full'; insert into T1 VALUES('2.before inc1 backup'); COMMIT; ALTER system switch logfile; BACKUP DATABASE INCREMENT WITH BACKUPDIR '/bak/full' BACKUPSET '/bak/inc1' BACKUPINFO 'inc1'; insert into T1 VALUES('6.before archlog backup'); COMMIT; ALTER system switch logfile; BACKUP ARCHIVELOG ALL NOT BACKED UP BACKUPSET '/bak/arch' BACKUPINFO 'arch'; insert into T1 VALUES('7.after archlog backup, before switch logfile'); COMMIT; alter system switch logfile; insert into T1 VALUES('8.after archlog backup, after switch logfile'); COMMIT; insert into T1 VALUES('9.before crash');

异机恢复演示如下

RESTORE DATABASE '/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/bak/full'; RESTORE DATABASE '/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/bak/inc1' WITH BACKUPDIR '/bak/full'; RESTORE ARCHIVE LOG FROM BACKUPSET '/bak/arch' TO ARCHIVEDIR '/dmdata/arch' OVERWRITE 3; 源主机可用,比较归档日志,复制未备份归档日志到新环境 /dmdata/arch RECOVER DATABASE '/dmdata/DAMENG/dm.ini' WITH ARCHIVEDIR '/dmdata/arch'; RECOVER DATABASE '/dmdata/DAMENG/dm.ini' UPDATE DB_MAGIC;

此时, 恢复后的数据库,只有 ‘7.after archlog backup, before switch logfile’
怎么恢复到已提交的 ‘8.after archlog backup, after switch logfile’
即使我把源环境的dameng01.log , dameng02.log 覆盖新环境的dameng01.log , dameng02.log , 也不行。

信息

回答 0
暂无回答
扫一扫
联系客服