sql > select name, thread#, sequence#, status, first_time, next_time, first_change#, next_change# from v$archived_log where190484119926 between first_change# and next_change#;
1417084 D 2022/2/218:18:242022/2/218:25:12190484059031190484560204 2290359 D 2022/2/218:18:232022/2/218:26:17190484054919190484743638
要恢复的起始scn号为这里first_change#的最小值,也就是190484054919。
这里的status为"D", 表示已经被删除
Status of the archived log:
A - Available
D - Deleted
U - Unavailable
X - Expired
1 2 3
connect / as sysdba alterdatabase register or replace logical logfile '<new_location> arch1_258_611031260.dbf'for'<Integrated_Extract_Name>'; alterdatabase register or replace logical logfile '<new_location> arch1_260_611031260.dbf'for'<Integrated_Extract_Name>';
对于每个涉及到的日志,‘register or replace logical’ 命令做了以下操作:
从system.logmnr_log$删除日志条目,然后将新日志的存放路径进行插入替换。
根据前面查到的SCN号,可以查出需要从哪个归档日志开始进行恢复
1 2
select * from v$archived_log where first_change# >= 190484054919 and deleted = 'YES'; select * from dba_registered_archived_log where first_scn = 190484054919
根据查到的已经删除的归档日志编号进行恢复
1
RMAN> restore archivelog fromlogseq=417084 until logseq=417417 thread=1;