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

数据库 Oracle
本文我们主要介绍了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不完全恢复之基于日志序列号恢复的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!

【编辑推荐】

  1. Oracle数据库PL/SQL快捷键设置详解
  2. Oracle数据库学习笔记之表的联合查询
  3. 一个Oracle数据库执行存储过程的错误解决
  4. Oracle数据库日期范围搜索的两种方法简介
  5. Oracle数据库RMAN恢复之数据文件的恢复详解
责任编辑:赵鹏 来源: CSDN博客
相关推荐

2011-08-30 09:50:22

OracleRMAN不完全恢复基于SCN恢复

2011-08-30 09:35:10

OracleRMAN不完全恢复基于时间恢复

2017-04-13 08:46:41

oracle数据挖掘

2011-08-23 11:09:36

Oraclerman恢复system表空间恢复

2011-08-29 16:41:14

OracleRMAN恢复数据文件的恢复

2011-08-29 17:00:47

Oracle数据库RM表空间数据块介质

2011-08-03 18:42:21

Oracle数据库重做日志

2010-03-31 10:39:40

RMANOracle

2011-05-24 10:26:12

Oracle数据库日志文件

2009-11-20 13:29:59

Oracle数据库恢复

2011-02-28 13:31:17

Oracle数据库

2011-05-26 09:36:07

Oracle数据库Redo故障

2011-08-01 12:44:25

Oracle基于用户管理备份与恢复

2010-11-19 13:28:13

2021-05-20 11:45:16

数据库中间件架构

2011-08-01 14:50:10

日志挖掘数据库

2011-05-11 13:25:57

Oracle数据库后备恢复

2024-01-02 16:43:58

2011-03-04 14:59:16

Raidoracle数据库

2009-04-03 10:54:49

Oracle备份恢复
点赞
收藏

51CTO技术栈公众号