龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Oracle数据库RMAN不完全恢复之基于日志序列号恢复

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
之前介绍了: Oracle 数据库 RMAN不完全恢复 之基于SCN恢复 ,本文我们主要介绍一下Oracle数据库RMAN不完全恢复之 基于日志序列号恢复 的相关知识,希望能够对您有所帮助。 基于日志序列

之前介绍了:Oracle数据库RMAN不完全恢复之基于SCN恢复,本文我们主要介绍一下Oracle数据库RMAN不完全恢复之基于日志序列号恢复的相关知识,希望能够对您有所帮助。

基于日志序列号恢复是指恢复数据库到指定日志序列号的状态。

  1. --查看归档日志信息     
  2. SQL> select * from t_user;    
  3. TEXT    
  4. --------------------     
  5. java_    
  6. spring_    
  7. spring mvc_    
  8. SQL> insert into t_user select 'oracle_' from dual;    
  9. 1 row created.    
  10. SQL> commit;    
  11. Commit complete.    
  12. SQL> alter system switch logfile;    
  13. System altered.    
  14. SQL> alter system checkpoint;    
  15. System altered.    
  16. SQL> select sequence#,name,first_change# from v$archived_log where status='A' order by sequence#;    
  17. SEQUENCE# NAME                                                   FIRST_CHANGE#    
  18. ---------- ---------------------------------------------------------------------------------------------------- -------------     
  19. 1 /oracle/10g/oracle/log/archive_log/archive_1_1_760487088.arclog                                            1214497    
  20. 1 /oracle/10g/oracle/log/archive_log2/archive_1_1_760487088.arclog                                           1214497    
  21. 1 /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_29/o1_mf_1_1_7       1214498    
  22. 5q9bh9d_.arc    
  23. 1 /oracle/10g/oracle/log/archive_log/archive_1_1_760487985.arclog                                            1214498    
  24. 1 /oracle/10g/oracle/log/archive_log2/archive_1_1_760487985.arclog                                           1214498    
  25. 1 /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_29/o1_mf_1_1_7       1214497    
  26. 5q95ksf_.arc    
  27. 6 rows selected.    
  28. SQL> insert into t_user select 'oracle_seq3' from dual;    
  29. 1 row created.    
  30. SQL> commit;    
  31. Commit complete.    
  32. SQL> alter system switch logfile; --生成日志序列号为2的归档日志     
  33. System altered.    
  34. SQL> alter system checkpoint;    
  35. System altered.    
  36. SQL> select sequence#,name,first_change# from v$archived_log where status='A' order by sequence#;    
  37. SEQUENCE# NAME                                                     FIRST_CHANGE#    
  38. ---------- ---------------------------------------------------------------------------------------------------- -------------     
  39. 1 /oracle/10g/oracle/log/archive_log/archive_1_1_760487088.arclog                                            1214497    
  40. 1 /oracle/10g/oracle/log/archive_log2/archive_1_1_760487088.arclog                                           1214497    
  41. 1 /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_29/o1_mf_1_1_7       1214497    
  42. 5q95ksf_.arc    
  43. 1 /oracle/10g/oracle/log/archive_log/archive_1_1_760487985.arclog                                            1214498    
  44. 1 /oracle/10g/oracle/log/archive_log2/archive_1_1_760487985.arclog                                           1214498    
  45. 1 /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_29/o1_mf_1_1_7       1214498    
  46. 5q9bh9d_.arc    
  47. 2 /oracle/10g/oracle/log/archive_log/archive_1_2_760487985.arclog                                            1216167    
  48. SEQUENCE# NAME                                                     FIRST_CHANGE#    
  49. ---------- ---------------------------------------------------------------------------------------------------- -------------     
  50. 2 /oracle/10g/oracle/log/archive_log2/archive_1_2_760487985.arclog                                           1216167    
  51. 2 /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_29/o1_mf_1_2_7       1216167    
  52. 5q9cvt1_.arc    
  53. 9 rows selected.    
  54. SQL> insert into t_user select 'oracle_seq3_act' from dual;    
  55. 1 row created.    
  56. SQL> commit;    
  57. Commit complete.    
  58. SQL> alter system switch logfile; --生成日志序列号为3的归档日志     
  59. System altered.    
  60. SQL> alter system checkpoint;    
  61. System altered.    
  62. SQL> select sequence#,name,first_change# from v$archived_log where status='A' order by sequence#;    
  63. SEQUENCE# NAME                                                     FIRST_CHANGE#    
  64. ---------- ---------------------------------------------------------------------------------------------------- -------------     
  65. 1 /oracle/10g/oracle/log/archive_log/archive_1_1_760487088.arclog                                            1214497    
  66. 1 /oracle/10g/oracle/log/archive_log2/archive_1_1_760487088.arclog                                           1214497    
  67. 1 /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_29/o1_mf_1_1_7       1214497    
  68. 5q95ksf_.arc    
  69. 1 /oracle/10g/oracle/log/archive_log/archive_1_1_760487985.arclog                                            1214498    
  70. 1 /oracle/10g/oracle/log/archive_log2/archive_1_1_760487985.arclog                                           1214498    
  71. 1 /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_29/o1_mf_1_1_7       1214498    
  72. 5q9bh9d_.arc    
  73. 2 /oracle/10g/oracle/log/archive_log/archive_1_2_760487985.arclog                                            1216167    
  74. SEQUENCE# NAME                                                     FIRST_CHANGE#    
  75. ---------- ---------------------------------------------------------------------------------------------------- -------------     
  76. 2 /oracle/10g/oracle/log/archive_log2/archive_1_2_760487985.arclog                                           1216167    
  77. 2 /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_29/o1_mf_1_2_7       1216167    
  78. 5q9cvt1_.arc    
  79. 3 /oracle/10g/oracle/log/archive_log/archive_1_3_760487985.arclog                                            1216186    
  80. 3 /oracle/10g/oracle/log/archive_log2/archive_1_3_760487985.arclog                                           1216186    
  81. 3 /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_29/o1_mf_1_3_7       1216186    
  82. 5q9f4d6_.arc    
  83. 12 rows selected.    
  84. --恢复到日志序列号为3时的状态     
  85. [oracle@localhost ~]$ rman target sys/oracle@oralife nocatalog    
  86. RMAN> run {    
  87. startup force mount;    
  88. set until sequence=3;    
  89. restore database;    
  90. recover database;    
  91. sql 'alter database open resetlogs';    
  92. }    
  93. --查看,可见不包括日志序列号为3的归档日志信息(oracle_seq3_act),即恢复到日志序列号为2的归档日志     
  94. SQL> conn sys/oracle@oralife as sysdba    
  95. Connected.    
  96. SQL> select * from t_user;    
  97. TEXT    
  98. --------------------     
  99. java_    
  100. spring_    
  101. oracle_    
  102. oracle_seq3    
  103. spring mvc_   

可见不包括日志序列号为3的归档日志信息(oracle_seq3_act),即恢复到日志序列号为2的归档日志。

在执行了不完全恢复之后,推荐删除早期所有备份,重新备份数据库。

关于Oracle数据库RMAN不完全恢复之基于日志序列号恢复的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!

精彩图集

赞助商链接