Redo LOG丢失恢复

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE 2.4 重做日志文件恢复

shutdown immediateshutdown abort两种情况

2.4.1 shutdown immediate情况下

1.SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE
例程已经关闭。

2. 移走日志文件到上一层目录

$mv log0* ../

3.SQL> startup
ORACLE
例程已经启动。

Total System Global Area   135338868 bytes
Fixed Size                    453492 bytes
Variable Size              109051904 bytes
Database Buffers            25165824 bytes
Redo Buffers                  667648 bytes
数据库装载完毕。
ORA-00313:
无法打开日志组 1 (线程 1) 的成员
ORA-00312:
联机日志 1 线程 1: 'D:\ORACLE\ORADATA\HUNTER\REDO01.LOG'

4.SQL> select * from v$log;

     GROUP#     THREAD#   SEQUENCE#   MEMBERS    ARC STATUS          
---------- ---------- ---------- ---------- --- ----------------
          1           1           1       1      NO   CURRENT               
          2           1           0       1      YES UNUSED                       
          3           1           0       1      YES UNUSED                      

STATUS含义:

状态

含义

Current

正在使用此日志文件

Active

实例恢复时需要此日志文件

Inactive

实例恢复时不需要此日志文件


5.
看出group#2,group#3已归档,并且不是当前,可以直接用clear重建

SQL> alter database clear logfile group 3;

数据库已更改。

SQL> alter database clear logfile group 2;


对于没有归档的可以用alter database   clear unarchived   logfile group ;

6.对于当前的并且没有归档的不能用clear这样意味着丢失数据.直接做不完全恢复,用UNTIL CANCEL方法

SQL> recover database until cancel;
完成介质恢复。

SQL> alter database open resetlogs;

数据库已更改。

2.4.2 shutdown abort情况下

这种情况下是不可能用上面的办法恢复的

1.SQL> shutdown abort;
ORACLE
例程已经关闭。

2. 移走日志文件到上一层目录

$mv log0* ../

3.SQL> startup
ORACLE
例程已经启动。

Total System Global Area   135338868 bytes
Fixed Size                    453492 bytes
Variable Size              109051904 bytes
Database Buffers            25165824 bytes
Redo Buffers                  667648 bytes
数据库装载完毕。
ORA-00313:
无法打开日志组 1 (线程 1) 的成员
ORA-00312:
联机日志 1 线程 1: 'D:\ORACLE\ORADATA\HUNTER\REDO01.LOG'
ORA-27041:
无法打开文件
OSD-04002:
无法打开文件
O/S-Error: (OS 2)
系统找不到指定的文件。

4.SQL> select * from v$log;

     GROUP#     THREAD#   SEQUENCE#       BYTES     MEMBERS ARC STATUS            FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ----------
          1           1           1   104857600           1 NO   CURRENT                 2535233 24-7
-06
          2           1           0   104857600           1 YES UNUSED                        0
          3           1           0   104857600           1 YES UNUSED                        0

5.SQL> recover database until cancel;
ORA-00279:
更改 2535234 ( 07/24/2006 15:01:13 生成) 对于线程 1 是必需的
ORA-00289:
建议: D:\ORACLE\ORA92\RDBMS\ARC00001.001
ORA-00280:
更改 2535234 对于线程 1 是按序列 # 1 进行的


指定日志: {=suggested | filename | AUTO | CANCEL}

ORA-00308: 无法打开存档日志 'D:\ORACLE\ORA92\RDBMS\ARC00001.001'
ORA-27041:
无法打开文件
OSD-04002:
无法打开文件
O/S-Error: (OS 2)
系统找不到指定的文件。


ORA-01547:
警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误
ORA-01194:
文件1需要更多的恢复来保持一致性
ORA-01110:
数据文件 1: 'D:\ORACLE\ORADATA\HUNTER\SYSTEM01.DBF'

SQL> recover database until cancel;
ORA-00279:
更改 2535234 ( 07/24/2006 15:01:13 生成) 对于线程 1 是必需的
ORA-00289:
建议: D:\ORACLE\ORA92\RDBMS\ARC00001.001
ORA-00280:
更改 2535234 对于线程 1 是按序列 # 1 进行的


指定日志: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00308:
无法打开存档日志 'D:\ORACLE\ORA92\RDBMS\ARC00001.001'
ORA-27041:
无法打开文件
OSD-04002:
无法打开文件
O/S-Error: (OS 2)
系统找不到指定的文件。


ORA-00308:
无法打开存档日志 'D:\ORACLE\ORA92\RDBMS\ARC00001.001'
ORA-27041:
无法打开文件
OSD-04002:
无法打开文件
O/S-Error: (OS 2)
系统找不到指定的文件。


ORA-01547:
警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误
ORA-01194:
文件1需要更多的恢复来保持一致性
ORA-01110:
数据文件 1: 'D:\ORACLE\ORADATA\HUNTER\SYSTEM01.DBF'

------没有办法恢复,必须应该之前的redo日志才能打开

6.C:\>dir *.log
驱动器 C 中的卷没有标签。
卷的序列号是 6C16-C6C3

C:\ 的目录

2006-07-24   15:05        104,858,112 REDO01.LOG
2006-07-24   15:01        104,858,112 REDO02.LOG
2006-07-24   15:01        104,858,112 REDO03.LOG
                3
个文件     314,574,336 字节
                0
个目录   4,267,880,448 可用字节

C:\>exit

SQL> recover database until cancel;
ORA-00279:
更改 2535234 ( 07/24/2006 15:01:13 生成) 对于线程 1 是必需的
ORA-00289:
建议: D:\ORACLE\ORA92\RDBMS\ARC00001.001
ORA-00280:
更改 2535234 对于线程 1 是按序列 # 1 进行的


指定日志: {=suggested | filename | AUTO | CANCEL}
c:\REDO01.LOG
已应用的日志。
完成介质恢复。

SQL> alter database open resetlogs;

数据库已更改。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27681/viewspace-627482/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/27681/viewspace-627482/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值