在使用resetlogs选重建控制文件后在打开数据库时会报错,错误信息如下:
ERROR at line 1: ORA-01092: ORACLE instance terminated. Disconnection forced
而一般情况下如果数据文件和日志文件都在使用noresetlogs创建控制文件
后recover数据库是打开数据库.就是不明白为什么会报ora-01092这个错误
所以我就删除原来的重做日志文件
SQL> CREATE CONTROLFILE set Database ocp noresetlogs 2 MAXLOGFILES 16 3 MAXLOGMEMBERS 3 4 MAXDATAFILES 100 5 MAXINSTANCES 8 6 MAXLOGHISTORY 292 7 LOGFILE 8 GROUP 1 'D:\oracle\product\10.2.0\oradata\ocp\RED001.LOG'SIZE 50M, 9 GROUP 2 'D:\oracle\product\10.2.0\oradata\ocp\RED002.LOG'SIZE 50M, 10 GROUP 3 'D:\oracle\product\10.2.0\oradata\ocp\RED003.LOG'SIZE 50M 11 DATAFILE 12 'D:\oracle\product\10.2.0\oradata\ocp\SYSTEM01.DBF', 13 'D:\oracle\product\10.2.0\oradata\ocp\UNDOTBS01.DBF', 14 'D:\oracle\product\10.2.0\oradata\ocp\SYSAUX01.DBF', 15 'D:\oracle\product\10.2.0\oradata\ocp\USERS01.DBF' 16 CHARACTER SET ZHS16GBK 17 ; 控制文件已创建。 SQL> alter database open; alter database open * 第 1 行出现错误: ORA-01589: ??????????? RESETLOGS ? NORESETLOGS ?? SQL> alter database open resetlogs; alter database open resetlogs * 第 1 行出现错误: ORA-01194: ?? 1 ????????????? ORA-01110: ???? 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\OCP\SYSTEM01.DBF' SQL> alter database add logfile group 1; alter database add logfile group 1 * 第 1 行出现错误: ORA-01184: ????? 1 ??? SQL> select group#,sequence#,members,bytes,status,archived from v$log; GROUP# SEQUENCE# MEMBERS BYTES STATUS ARC ---------- ---------- ---------- ---------- ---------------- --- 1 0 1 52428800 UNUSED YES 3 0 1 52428800 CURRENT YES 2 0 1 52428800 UNUSED YES SQL> ALTER DATABASE ADD LOGFILE GROUP 4 2 ('D:\oracle\product\10.2.0\oradata\ocp\redo04a.log','D:\oracle\product\ 10.2 3 .0\oradata\ocp\redo04b.log') 4 SIZE 512 M; ALTER DATABASE ADD LOGFILE GROUP 4 * 第 1 行出现错误: ORA-00301: ?????? 'D:\oracle\product\10.2 .0\oradata\ocp\redo04b.log' ??? - ?????? ORA-27040: ??????, ?????? OSD-04002: ???????????? O/S-Error: (OS 123) ???????????????????????????????? SQL> ALTER DATABASE ADD LOGFILE GROUP 4 2 ('D:\oracle\product\10.2.0\oradata\ocp\redo04a.log','D:\oracle\product\ 10.2.0\oradata\ocp\redo04b.log') 3 SIZE 50 M; 数据库已更改。 SQL> alter database drop logfile group 1; 数据库已更改。 SQL> alter database drop logfile group 2; 数据库已更改。 SQL> recover database until cancel; ORA-00283: ?????????? ORA-01610: ?? BACKUP CONTROLFILE ?????????? SQL> alter database open resetlogs; alter database open resetlogs * 第 1 行出现错误: ORA-01194: ?? 1 ????????????? ORA-01110: ???? 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\OCP\SYSTEM01.DBF' SQL> recover database; ORA-00283: ?????????? ORA-01610: ?? BACKUP CONTROLFILE ?????????? SQL> create pfile from spfile; 文件已创建。
在创建的initSID.ora的初始化参数文件中加入以下参数:
_allow_resetlogs_corruption=true _allow_terminal_recovery_corruption=true undo_tablespace='SYSTEM' undo_management='MANUAL'
SQL> shutdown abort ORACLE 例程已经关闭。 SQL> startup mount pfile=D:\oracle\product\10.2.0\db_1\database\initocp.ora ORACLE 例程已经启动。 Total System Global Area 612368384 bytes Fixed Size 1250428 bytes Variable Size 88083332 bytes Database Buffers 515899392 bytes Redo Buffers 7135232 bytes 数据库装载完毕。 SQL> alter database open; alter database open * 第 1 行出现错误: ORA-01113: 文件 1 需要介质恢复 ORA-01110: 数据文件 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\OCP\SYSTEM01.DBF' SQL> recover datafile 1; 完成介质恢复。 SQL> recover datafile 2; 完成介质恢复。 SQL> recover datafile 3; 完成介质恢复。 SQL> recover datafile 4; 完成介质恢复。 SQL> recover datafile 5; ORA-01179: 文件 5 不存在 SQL> alter database open; 数据库已更改。
Heyy there! I’m at work surfing around your blog from my new iphone!
Just wanted to say I love reading your blog and look forward tto
aall your posts! Keep up the superb work!