Oracle数据库基于用户管理的备份与恢复之恢复重做日志

Oracle数据库中基于用户管理的备份与恢复之重做日志的恢复过程,接下来我们就一一介绍。

因为日志组的某个日志成员损坏,如下:

 

  1. SQL> select group#,status,member from v$logfile;  
  2.  
  3. GROUP# STATUS  MEMBER  
  4.  
  5. ---------- ------- ----------------------------------------------------------------------  
  6.  
  7. 3         F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG  
  8.  
  9. 2         F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG  
  10.  
  11. 1         F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG  
  12.  
  13. 1         F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01_ADD.LOG  
  14.  
  15. 2         F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02_ADD.LOG  
  16.  
  17. 3         F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03_ADD.LOG 

 

已选择6行。

–使用360强力删除REDO01_ADD.LOG文件,以模拟日志成员损坏。

–多次切换日志,以使刚删除的redo文件处于invalid状态。

SQL> alter system  switch logfile;

系统已更改。

SQL> alter system  switch logfile;

系统已更改。

 

  1. ......  
  2.  
  3. SQL> select group#,status from v$log;  
  4.  
  5. GROUP# STATUS  
  6.  
  7. ---------- ----------------  
  8.  
  9. 1 CURRENT  
  10.  
  11. 2 ACTIVE  
  12.  
  13. 3 ACTIVE  
  14.  
  15. SQL> select group#,status,member from v$logfile;  
  16.  
  17. GROUP# STATUS  MEMBER  
  18.  
  19. ---------- ------- ----------------------------------------------------------------------  
  20.  
  21. 3         F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG  
  22.  
  23. 2         F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG  
  24.  
  25. 1         F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG  
  26.  
  27. 1 INVALID F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01_ADD.LOG  
  28.  
  29. 2         F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02_ADD.LOG  
  30.  
  31. 3         F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03_ADD.LOG 

 

已选择6行。

–如果为为当前日志组成员,则不能被删除,这时需要切换日志,才能够删除成员。

 

  1. SQL> alter database drop logfile member 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01_ADD.LOG';  
  2.  
  3. alter database drop logfile member 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01_ADD.LOG'  
  4.  

 

第1 行出现错误:

ORA-01609: 日志 1 是线程 1 的当前日志 – 无法删除成员

ORA-00312: 联机日志 1 线程 1: ‘F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG’

ORA-00312: 联机日志 1 线程 1: ‘F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01_ADD.LOG’

SQL> alter system  switch logfile;

系统已更改。

 

  1. SQL> select group#,status from v$log;  
  2.  
  3. GROUP# STATUS  
  4.  
  5. ---------- ----------------  
  6.  
  7. 1 ACTIVE  
  8.  
  9. 2 CURRENT  
  10.  
  11.  
  12. 3 ACTIVE  
  13.  
  14. SQL> alter database drop logfile member 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01_ADD.LOG'; 

 

数据库已更改。

–添加日志组成员

SQL> alter database add logfile member ‘F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01_ADD_NEW.LOG’ to group 1;

数据库已更改。

 

  1. SQL> select group#,status,member from v$logfile;  
  2.  
  3. GROUP# STATUS  MEMBER  
  4.  
  5. ---------- ------- ----------------------------------------------------------------------  
  6.  
  7. 3         F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG  
  8.  
  9. 2         F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG  
  10.  
  11. 1         F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG  
  12.  
  13. 1 INVALID F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01_ADD_NEW.LOG  
  14.  
  15. 2         F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02_ADD.LOG  
  16.  
  17. 3         F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03_ADD.LOG 

 

已选择6行。

注意,新增加的日志组成员状态也为invalid。

关于Oracle数据库基于用户管理的备份与恢复之重做日志的恢复就介绍到这里了,希望本次的介绍能够给您带来一些收获!

【编辑推荐】

  1. MySQL数据库如何实现跨表更新与数据并合
  2. Oracle数据库中序列(SEQUENCE)的用法详解
  3. 虚拟机安装Oracle错误ORA-12514的解决方案
  4. Oracle数据库如何创建对象类型和对象类型表
  5. Oracle数据库如何创建DB Link操作远程数据库

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/271833.html<

(0)
管理的头像管理
上一篇2025-05-08 11:24
下一篇 2025-05-08 11:26

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注