Oracle 基于scn号的不完全恢复

2025-10-25 12:38:59

1、创建实验表t1。

create table t1(a varchar2(10),b varchar2(10));

insert into t1 values('aaaaa','aaaaa');

commit;

Oracle 基于scn号的不完全恢复

2、查询系统scn号(生产环境可以通过logminer获得scn)。

select name,current_scn from v$database;

Oracle 基于scn号的不完全恢复

3、t1表数据被篡改。

update t1 set a='*****',b='*****';

commit;

Oracle 基于scn号的不完全恢复

Oracle 基于scn号的不完全恢复

4、关闭数据库将数据库启动到mount。

shutdown immediate;

startup mount;

Oracle 基于scn号的不完全恢复

5、执行基于scn号的数据恢复。

run{

set until scn 2939682;

restore database;

recover database;

alter database open resetlogs;

}

输出日志:

[oracle@db udump]$ rman target /

Recovery Manager: Release 10.2.0.4.0 - Production on Mon Dec 11 16:35:51 2017

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

connected to target database: DB1 (DBID=1525588825, not open)

RMAN> run{

2> set until scn 2939682;

3> restore database;

4> recover database;

5> alter database open resetlogs;

6> }

executing command: SET until clause

using target database control file instead of recovery catalog

Starting restore at 11-DEC-17

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=155 devtype=DISK

channel ORA_DISK_1: starting datafile backupset restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

restoring datafile 00001 to /oracle/app/oradata/db1/system01.dbf

restoring datafile 00002 to /oracle/app/oradata/db1/undotbs01.dbf

restoring datafile 00003 to /oracle/app/oradata/db1/sysaux01.dbf

restoring datafile 00004 to /oracle/app/oradata/db1/users01.dbf

channel ORA_DISK_1: reading from backup piece /oracle/app/flash_recovery_area/DB1/backupset/2017_12_11/o1_mf_nnndf_TAG20171211T161907_f2whvvyz_.bkp

channel ORA_DISK_1: restored backup piece 1

piece handle=/oracle/app/flash_recovery_area/DB1/backupset/2017_12_11/o1_mf_nnndf_TAG20171211T161907_f2whvvyz_.bkp tag=TAG20171211T161907

channel ORA_DISK_1: restore complete, elapsed time: 00:02:25

Finished restore at 11-DEC-17

Starting recover at 11-DEC-17

using channel ORA_DISK_1

starting media recovery

media recovery complete, elapsed time: 00:00:01

Finished recover at 11-DEC-17

database opened

RMAN>

6、查看被篡改的数据是否恢复正常。

select * from t1;

Oracle 基于scn号的不完全恢复

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢