Oracle redo log 删除后处理方法

本文介绍了在Oracle数据库中redo log意外删除后的处理方法,包括shutdown immediate时的数据安全性和数据库open时的不同处理方案,如非当前日志和当前日志被删除的应对策略,以及实例可用时的数据导出解决方案。
摘要由CSDN通过智能技术生成


在生产中,难免碰到各种场景。下面记录一下redo log被删除掉的处理方法。

数据库版本:

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE    11.2.0.3.0      Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production

一、shutdow immediate情况下被删除redo

这种情况下最容易处理,数据完全不会丢失。

SQL> startup mount;
ORACLE instance started.

Total System Global Area 1887350784 bytes
Fixed Size                  2229464 bytes
Variable Size            1207962408 bytes
Database Buffers          671088640 bytes
Redo Buffers                6070272 bytes
Database mounted.

SQL> recover database until cancel;
Media recovery complete.
SQL> alter database open resetlogs;

Database altered.
open的时候需要resetlogs,open之后,立刻做一次全库备份。

二、数据库open的情况下被删除redo

打开情况下分两种情况,即当前日志被删除和非当前日志被删除。

1、非当前日志被删除

SQL>  select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME      NEXT_CHANGE# NEXT_TIME
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------------- ------------ ---------------
         1          1          1   52428800        512          1 YES INACTIVE              
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值