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

数据库 Oracle
本文主要介绍了基于用户管理的备份和恢复之重做日志的恢复过程,希望能够对您有所帮助。

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

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

 

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

 

已选择6行。

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

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

SQL> alter system  switch logfile;

系统已更改。

SQL> alter system  switch logfile;

系统已更改。

 

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

 

已选择6行。

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

 

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

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

 

第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;

系统已更改。

 

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

 

数据库已更改。

--添加日志组成员

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

数据库已更改。

 

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

 

已选择6行。

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

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

【编辑推荐】

  1. MySQL数据库如何实现跨表更新与数据并合
  2. Oracle数据库中序列(SEQUENCE)的用法详解
  3. 虚拟机安装Oracle错误ORA-12514的解决方案
  4. Oracle数据库如何创建对象类型和对象类型表
  5. Oracle数据库如何创建DB Link操作远程数据库
责任编辑:赵鹏 来源: CSDN博客
相关推荐

2011-08-01 12:44:25

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

2011-08-02 08:59:52

Oracle控制文件

2011-08-04 10:31:43

归档日志参数文件

2009-04-03 10:54:49

Oracle备份恢复

2009-10-13 09:43:43

Oracle数据库备份

2010-04-13 11:09:21

Oracle数据库

2011-08-30 10:02:18

OracleRMAN不完全恢复基于日志序列号恢复

2010-04-19 15:53:20

Oracle重做日志

2011-08-30 09:35:10

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

2011-08-30 09:50:22

OracleRMAN不完全恢复基于SCN恢复

2011-05-20 09:35:24

Oracle数据库恢复备份

2009-03-17 16:00:47

Oracle数据库备份

2010-04-12 10:40:49

Oracle数据库

2023-11-15 09:38:49

Oracle数据库

2011-08-29 16:41:14

OracleRMAN恢复数据文件的恢复

2010-04-12 14:19:00

Oracle数据库备份

2011-04-11 13:46:17

Oracle数据库备份

2009-04-17 11:28:16

Oracle备份恢复

2011-07-26 13:55:01

MongoDB备份与恢复

2011-05-24 10:26:12

Oracle数据库日志文件
点赞
收藏

51CTO技术栈公众号