在使用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!