首页 > 数据库 > Oracle > 无归档数据库当前redo损坏
os:centos 6.5
DB:10.2.0.4
模拟测试,查询current redo文件
1. dd if=/dev/zero of=/oradata/DARK/onlinelog/o1_mf_2_b14qcjhd_.log bs=1M count=10;
手动执行redo切换,报错
1. SQL> alter system switch logfile;
2. alter system switch logfile
3. *
4. ERROR at line 1:
5. ORA-03113: end-of-file on communication channel
查看alert
1. Tue Sep 30 09:53:05 2014
2. Errors in file /u01/app/oracle/admin/dark/bdump/dark_lgwr_19308.trc:
3. ORA-00316: log 2 of thread 1, type 0 in header is not log file
4. ORA-00312: online log 2 thread 1: '/oradata/DARK/onlinelog/o1_mf_2_b14qcjhd_.log'
5. Tue Sep 30 09:53:05 2014
6. Errors in file /u01/app/oracle/admin/dark/bdump/dark_lgwr_19308.trc:
7. ORA-00316: log 2 of thread 1, type 0 in header is not log file
8. ORA-00312: online log 2 thread 1: '/oradata/DARK/onlinelog/o1_mf_2_b14qcjhd_.log'
9. Tue Sep 30 09:53:05 2014
10. LGWR: terminating instance due to error 316
11. Instance terminated by LGWR, pid = 19308
startup报错
1. Database mounted.
2. ORA-00316: log 2 of thread 1, type 0 in header is not log file
3. ORA-00312: online log 2 thread 1:
4. '/oradata/DARK/onlinelog/o1_mf_2_b14qcjhd_.log'
将控制文件和spfile备份出来
1. alter database backup controlfile to trace;
2. create pfile='/soft/dark.ora' from spfile;
udump目录下找到controlfile的trc文件,并修改redo文件组,去掉损坏的当前日志行
pfile修改:
1. *._allow_resetlogs_corruption=TRUE --添加
2. *.undo_management='MANUAL' --修改
startup nomount pfile='/soft/dark.ora';
重建控制文件
1. CREATE CONTROLFILE REUSE DATABASE "DARK" RESETLOGS ARCHIVELOG
2. MAXLOGFILES 16
3. MAXLOGMEMBERS 3
4. MAXDATAFILES 100
5. MAXINSTANCES 8
6. MAXLOGHISTORY 292
7. LOGFILE
8. GROUP 1 '/oradata/DARK/onlinelog/o1_mf_1_b2n31081_.log' SIZE 50M,
9. GROUP 3 '/oradata/DARK/onlinelog/o1_mf_3_b14qcjkv_.log' SIZE 50M,
10. GROUP 4 '/oradata/DARK/onlinelog/o1_mf_4_b2n311k8_.log' SIZE 50M
11. DATAFILE
12. '/oradata/DARK/datafile/o1_mf_system_b14qclk3_.dbf',
13. '/oradata/DARK/datafile/o1_mf_undotbs1_b14qcq6w_.dbf',
14. '/oradata/DARK/datafile/o1_mf_sysaux_b14qcs4v_.dbf',
15. '/oradata/DARK/datafile/o1_mf_users_b14qd36z_.dbf',
16. '/oradata/DARK/SDJTDATA.DBF',
17. '/oradata/DARK/SDJT_HASH_P.DBF'
18. CHARACTER SET AL32UTF8
19. ;
20. alter database open resetlogs;
21. ALTER TABLESPACE TEMP ADD TEMPFILE '/oradata/DARK/datafile/o1_mf_temp_b14qctql_.tmp' REUSE;
修改pfile
1. *._allow_resetlogs_corruption=TRUE --删除此行
2. *.undo_management='AUTO' --修改
生成spfile
1. create spfile from pfile='/bak/dark.ora';
end/
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29326234/viewspace-1285998/ ,如需转载,请注明出处,否则将追究法律责任。