恢复误删除的redo log

恢复非当前的日志组

[oracle@zwc primarydb]$ rm -rf redo01*
SYS@zwcdb:~>startup
ORACLE instance started.

Total System Global Area  285212672 bytes
Fixed SIZE                  1218992 bytes
Variable SIZE              96470608 bytes
DATABASE Buffers          184549376 bytes
Redo Buffers                2973696 bytes
DATABASE mounted.
ORA-00313: OPEN failed FOR members OF log GROUP 1 OF thread 1
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/primarydb/redo01.log'
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/primarydb/redo01_.log'


SYS@zwcdb:~>ALTER DATABASE clear logfile GROUP 1;

DATABASE altered.

SYS@zwcdb:~>ALTER DATABASE OPEN;

DATABASE altered.

恢复当前日志组

SYS@zwcdb:~>startup
ORACLE instance started.

Total System Global Area  285212672 bytes
Fixed SIZE                  1218992 bytes
Variable SIZE              96470608 bytes
DATABASE Buffers          184549376 bytes
Redo Buffers                2973696 bytes
DATABASE mounted.
ORA-00313: OPEN failed FOR members OF log GROUP 1 OF thread 1
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/primarydb/redo01.log'
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/primarydb/redo01_.log'


SYS@zwcdb:~>recover DATABASE until cancel;
Media recovery complete.
SYS@zwcdb:~>ALTER DATABASE OPEN resetlogs;

DATABASE altered.

SYS@zwcdb:~>SELECT a.GROUP#,a.TYPE,b.STATUS,b.bytes/1024/1024||'M' "SIZE",a.member,a.is_recovery_dest_file 
  2  FROM v$logfile a,v$log b WHERE a.GROUP#=b.GROUP# ORDER BY 1;

    GROUP# TYPE    STATUS           SIZE  MEMBER                                             IS_RECOVERY_DEST_FILE
---------- ------- ---------------- ----- -------------------------------------------------- ---------------------
         1 ONLINE  INACTIVE         50M   /u01/app/oracle/oradata/primarydb/redo01.log       NO
         1 ONLINE  INACTIVE         50M   /u01/app/oracle/oradata/primarydb/redo01_.log      NO
         2 ONLINE  CURRENT          50M   /u01/app/oracle/oradata/primarydb/redo02_.log      NO
         2 ONLINE  CURRENT          50M   /u01/app/oracle/oradata/primarydb/redo02.log       NO
         3 ONLINE  UNUSED           50M   /u01/app/oracle/oradata/primarydb/redo03_.log      NO
         3 ONLINE  UNUSED           50M   /u01/app/oracle/oradata/primarydb/redo03.log       NO

6 ROWS selected.


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
redolog是MySQL数据库中的一种日志文件,用于记录对数据库的修改操作。当数据库发生故障或崩溃时,可以利用redolog恢复数据,保证数据的一致性和完整性。 redolog恢复数据的过程主要分为以下几个步骤: 1. 检查数据库状态:首先要检查数据库的状态,确定数据库是否处于正常可用的状态。如果数据库无法正常启动,需要采取相应的修复措施,例如修复损坏的文件或恢复备份等。 2. 恢复redo日志:在数据库启动后,系统会自动检查redolog文件,将未完成的事务进行回滚或者重做。系统会根据redo日志中的记录,将已提交的事务重新应用到数据库中,以恢复数据库的一致性。 3. 事务回滚:对于未提交的事务,系统会根据redo日志中的记录,将其进行回滚操作。通过回滚操作,可以将未提交的事务中对数据库所做的修改操作撤销,以保证数据的完整性。 4. 数据库恢复完成:当redo日志中的所有记录都被应用到数据库中,并且未提交的事务都被回滚完成后,数据库恢复过程就完成了。此时数据库可以正常使用,并且数据的一致性和完整性得到了保证。 需要注意的是,redolog恢复过程是自动进行的,数据库会自动检查和应用redolog文件中的记录。在正常情况下,用户不需要手动介入redolog恢复过程。但在某些特殊情况下,如数据库崩溃后无法自动恢复,可能需要进行手动的redolog恢复操作。这种情况下,一般需要借助MySQL提供的相关工具和命令来进行操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值