之前介绍了:Oracle数据库RMAN不完全恢复之基于SCN恢复,本文我们主要介绍一下Oracle数据库RMAN不完全恢复之基于日志序列号恢复的相关知识,希望能够对您有所帮助。
基于日志序列号恢复是指恢复数据库到指定日志序列号的状态。
class="dp-xml">
- --查看归档日志信息
- SQL> select * from t_user;
- TEXT
- --------------------
- java_
- spring_
- spring mvc_
- SQL> insert into t_user select 'oracle_' from dual;
- 1 row created.
- SQL> commit;
- Commit complete.
- SQL> alter system switch logfile;
- System altered.
- SQL> alter system checkpoint;
- System altered.
- SQL> select sequence#,name,first_change# from v$archived_log where status='A' order by sequence#;
- SEQUENCE# NAME FIRST_CHANGE#
- ---------- ---------------------------------------------------------------------------------------------------- -------------
- 1 /oracle/10g/oracle/log/archive_log/archive_1_1_760487088.arclog 1214497
- 1 /oracle/10g/oracle/log/archive_log2/archive_1_1_760487088.arclog 1214497
- 1 /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_29/o1_mf_1_1_7 1214498
- 5q9bh9d_.arc
- 1 /oracle/10g/oracle/log/archive_log/archive_1_1_760487985.arclog 1214498
- 1 /oracle/10g/oracle/log/archive_log2/archive_1_1_760487985.arclog 1214498
- 1 /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_29/o1_mf_1_1_7 1214497
- 5q95ksf_.arc
- 6 rows selected.
- SQL> insert into t_user select 'oracle_seq3' from dual;
- 1 row created.
- SQL> commit;
- Commit complete.
- SQL> alter system switch logfile; --生成日志序列号为2的归档日志
- System altered.
- SQL> alter system checkpoint;
- System altered.
- SQL> select sequence#,name,first_change# from v$archived_log where status='A' order by sequence#;
- SEQUENCE# NAME FIRST_CHANGE#
- ---------- ---------------------------------------------------------------------------------------------------- -------------
- 1 /oracle/10g/oracle/log/archive_log/archive_1_1_760487088.arclog 1214497
- 1 /oracle/10g/oracle/log/archive_log2/archive_1_1_760487088.arclog 1214497
- 1 /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_29/o1_mf_1_1_7 1214497
- 5q95ksf_.arc
- 1 /oracle/10g/oracle/log/archive_log/archive_1_1_760487985.arclog 1214498
- 1 /oracle/10g/oracle/log/archive_log2/archive_1_1_760487985.arclog 1214498
- 1 /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_29/o1_mf_1_1_7 1214498
- 5q9bh9d_.arc
- 2 /oracle/10g/oracle/log/archive_log/archive_1_2_760487985.arclog 1216167
- SEQUENCE# NAME FIRST_CHANGE#
- ---------- ---------------------------------------------------------------------------------------------------- -------------
- 2 /oracle/10g/oracle/log/archive_log2/archive_1_2_760487985.arclog 1216167
- 2 /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_29/o1_mf_1_2_7 1216167
- 5q9cvt1_.arc
- 9 rows selected.
- SQL> insert into t_user select 'oracle_seq3_act' from dual;
- 1 row created.
- SQL> commit;
- Commit complete.
- SQL> alter system switch logfile; --生成日志序列号为3的归档日志
- System altered.
- SQL> alter system checkpoint;
- System altered.
- SQL> select sequence#,name,first_change# from v$archived_log where status='A' order by sequence#;
- SEQUENCE# NAME FIRST_CHANGE#
- ---------- ---------------------------------------------------------------------------------------------------- -------------
- 1 /oracle/10g/oracle/log/archive_log/archive_1_1_760487088.arclog 1214497
- 1 /oracle/10g/oracle/log/archive_log2/archive_1_1_760487088.arclog 1214497
- 1 /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_29/o1_mf_1_1_7 1214497
- 5q95ksf_.arc
- 1 /oracle/10g/oracle/log/archive_log/archive_1_1_760487985.arclog 1214498
- 1 /oracle/10g/oracle/log/archive_log2/archive_1_1_760487985.arclog 1214498
- 1 /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_29/o1_mf_1_1_7 1214498
- 5q9bh9d_.arc
- 2 /oracle/10g/oracle/log/archive_log/archive_1_2_760487985.arclog 1216167
- SEQUENCE# NAME FIRST_CHANGE#
- ---------- ---------------------------------------------------------------------------------------------------- -------------
- 2 /oracle/10g/oracle/log/archive_log2/archive_1_2_760487985.arclog 1216167
- 2 /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_29/o1_mf_1_2_7 1216167
- 5q9cvt1_.arc
- 3 /oracle/10g/oracle/log/archive_log/archive_1_3_760487985.arclog 1216186
- 3 /oracle/10g/oracle/log/archive_log2/archive_1_3_760487985.arclog 1216186
- 3 /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_29/o1_mf_1_3_7 1216186
- 5q9f4d6_.arc
- 12 rows selected.
- --恢复到日志序列号为3时的状态
- [oracle@localhost ~]$ rman target sys/oracle@oralife nocatalog
- RMAN> run {
- startup force mount;
- set until sequence=3;
- restore database;
- recover database;
- sql 'alter database open resetlogs';
- }
- --查看,可见不包括日志序列号为3的归档日志信息(oracle_seq3_act),即恢复到日志序列号为2的归档日志
- SQL> conn sys/oracle@oralife as sysdba
- Connected.
- SQL> select * from t_user;
- TEXT
- --------------------
- java_
- spring_
- oracle_
- oracle_seq3
- spring mvc_
可见不包括日志序列号为3的归档日志信息(oracle_seq3_act),即恢复到日志序列号为2的归档日志。
在执行了不完全恢复之后,推荐删除早期所有备份,重新备份数据库。
关于Oracle数据库RMAN不完全恢复之基于日志序列号恢复的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!