ALLSTARS_ORACLE 发表于 2017-4-17 14:42:47

恢复测试:全部online redo log文件损坏的恢复,但无法清空cu...

恢复测试:全部online redo log文件损坏的恢复,但无法清空current的redo文件!
测试过程:
  * shutdown immediate
    *  删除全部redo log文件
  * startup mount
    * SQL> select * from v$log;
    GROUP#   THREAD#  SEQUENCE#  ARC STATUS         
-------------------- ----------  --- ----------------
         1         1         35  YES INACTIVE        
         2         1         36  NO  CURRENT         
         3         1         34  YES INACTIVE     
SQL> alter database clear logfile group 1;

数据库已更改。

SQL> alter database clear logfile group 3;

数据库已更改。

SQL> alter database clear unarchived logfile group 2;
alter database clear unarchived logfile group 2
*
ERROR 位于第 1 行:
ORA-00313: 无法打开日志组 2 (线程 1) 的成员
ORA-00312: 联机日志 2 线程 1: 'D:\ORACLE\ORADATA\KACA2U\REDO02.LOG'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。


SQL> alter database clear logfile group 2;
alter database clear logfile group 2
*
ERROR 位于第 1 行:
ORA-00350: 日志 2 (线程 1) 中需要归档
ORA-00312: 联机日志 2 线程 1: 'D:\ORACLE\ORADATA\KACA2U\REDO02.LOG'

SQL> alter database add logfile member 'D:\oracle\oradata\kaca2u\redo02.log' to group 2;
alter database add logfile member 'D:\oracle\oradata\kaca2u\redo02.log' to group 2
*
ERROR 位于第 1 行:
ORA-01577: 无法添加日志文件'D:\oracle\oradata\kaca2u\redo02.log' - 文件已是数据库的一部分


SQL> alter database drop logfile member 'D:\ORACLE\ORADATA\KACA2U\REDO02.LOG';
alter database drop logfile member 'D:\ORACLE\ORADATA\KACA2U\REDO02.LOG'
*
ERROR 位于第 1 行:
ORA-00361: 无法删除最后一个日志成员 D:\ORACLE\ORADATA\KACA2U\REDO02.LOG (组 2)

SQL> alter database add logfile member 'D:\oracle\oradata\kaca2u\redo02-2.log' to group 2;

数据库已更改。

SQL> alter database drop logfile member 'D:\ORACLE\ORADATA\KACA2U\REDO02.LOG';
alter database drop logfile member 'D:\ORACLE\ORADATA\KACA2U\REDO02.LOG'
*
ERROR 位于第 1 行:
ORA-00362: 组成组 2 中的有效日志文件要求输入成员
ORA-01517: 日志成员: 'D:\ORACLE\ORADATA\KACA2U\REDO02.LOG'

* 用了很多方法,无法清除或加入current文件,最后用redo02-2.log改名成redo02.log,但启动后SQL> alter database open ;
alter database open
*
ERROR 位于第 1 行:
ORA-03113: 通信通道的文件结束

SQL> startup force;
ORA-24324: 未初始化服务句柄
ORA-01041: 内部错误,hostdef 扩展名不存在
SQL> shutdown immeidate
SP2-0717: 非法的 SHUTDOWN 选项
SQL> shutdown immediate
ORA-24324: 未初始化服务句柄
ORA-01041: 内部错误,hostdef 扩展名不存在

  ** 如果遇到全部online redo损坏的情况下,只有用上一次的全备加归档日志恢复到损坏redo之前的scn或时间点这一种方法吗?我已经正常关闭db,因该没有online redo下,重建redo后因该可以正常打开数据库,为什么现在不行?其实在真实环境中,丢失全部的redo下数据库一定是以非正常的方式关闭,因此更加复杂,以上问题解决后会模拟一下非正常关闭db的情况!

数据库未打开的情况下

如何LOG SWTICH


有谁知道呀?

万一redo全部损失,那不是要全库恢复,这样好像效率有点低!
页: [1]
查看完整版本: 恢复测试:全部online redo log文件损坏的恢复,但无法清空cu...