oracle实例恢复 redo,ORACLE不完全恢复之current或active状态redo损坏(二)

本文介绍了在Oracle数据库中遇到在线日志损坏的情况,如何进行不完全恢复。通过实例展示了在日志未丢失和已丢失两种场景下,使用lsof命令恢复和RMAN进行数据库恢复的步骤,以及如何通过`startup force`和`recover database until sequence`命令来open数据库并恢复到特定时间点。
摘要由CSDN通过智能技术生成

完全恢复:是指介质恢复阶段(即执行recover命令时)必须应用所有的应该应用的重做记录:它们包括从数据文件头中的检查点RBA所指向的重做记录开始,一直到在线的当前的重做日志的最新一条

记录结束,不论该记录保存在归档日志中还是在线日志中,recover命令将尽可能地通过通道自动索取这些记录,恢复到“当前“时间点。

不完全恢复:介质恢复阶段不需要应用所有的重做记录,而只需一部分即从数据文件头中的检查点RBA所指向的重做记录开始,终点是任意一条RBA对应的重做记录。注意:数据库一定会丢失数据

场景1: 在线日志损坏并且实例没有崩溃的情况下可采用如下方式尝试恢复(lsof命令)

[root@gpsdb ~]# lsof | grep “delete”

oracle 9189 oracle 258u REG 8,16 52429312 77922307 /oradata/TRSEN/onlinelog/o1_mf_1_c9y734hg_.log (deleted)

[root@gpsdb ~]# ls -l /proc/9189/fd/258

lrwx—— 1 oracle oinstall 64 Jan 21 15:01 /proc/9189/fd/258 -> /oradata/TRSEN/onlinelog/o1_mf_1_c9y734hg_.log (deleted)

[root@gpsdb ~]# cp /proc/9189/fd/258 /oradata/TRSEN/onlinelog/o1_mf_1_c9y734hg_.log

场景2:一般情况在线日志损坏,实例在切换日志的过程中,都会crash了,此时就需要不完全恢复来open数据库(存在有效备份)

SQL> startup force;

ORACLE instance started.

Total System Global Area 6.0663E+10 bytes

Fixed Size 2268032 bytes

Variable Size 5637145728 bytes

Database Buffers 5.4895E+10 bytes

Redo Buffers 128344064 bytes

Database mounted.

ORA-00313: open failed for members of log group 3 of thread 1

ORA-00312: online log 3 thread 1:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值