转载自www.itpub.net,觉得不错,拉过来学习一下
所有控制文件损坏,掉电(shutdown abort),无归档,无备份的成功恢复 -biti_rainy
一个例子希望给大家以帮助
注意创建控制文件的时候,正常的话使用 红色部分的 reuse and noresetlogs,这样就不用手工apply日志而是 直接就可以自动恢复了
连接到:
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
SQL> drop table rn;
表已丢弃。
SQL> alter system checkpoint;
系统已更改。
SQL> drop table test_group;
表已丢弃。
SQL> conn / as sysdba
已连接。
SQL> shutdown abort
ORACLE 例程已经关闭。
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 31229980 bytes
Fixed Size 75804 bytes
Variable Size 14299136 bytes
Database Buffers 16777216 bytes
Redo Buffers 77824 bytes
SQL> CREATE CONTROLFILE SET /reuse DATABASE "billy" RESETLOGS /NOresetlogs NOARCHIVELOG
2 MAXLOGFILES 64
3 MAXLOGMEMBERS 2
4 MAXDATAFILES 254
5 MAXINSTANCES 32
6 MAXLOGHISTORY 113
7 LOGFILE
8 GROUP 1 'E:/ORACLE/ORADATA/BILLY/REDO01.LOG' SIZE 1048576 ,
9 GROUP 2 'E:/ORACLE/ORADATA/BILLY/REDO02.LOG' SIZE 1048576 ,
10 GROUP 3 'E:/ORACLE/ORADATA/BILLY/REDO03.LOG' SIZE 1048576
11 DATAFILE
12 'E:/ORACLE/ORADATA/BILLY/SYSTEM01.DBF',
13 'E:/ORACLE/ORADATA/BILLY/RBS01.DBF',
14 'E:/ORACLE/ORADATA/BILLY/USERS01.DBF',
15 'E:/ORACLE/ORADATA/BILLY/TEMP01.DBF',
16 'E:/ORACLE/ORADATA/BILLY/TOOLS01.DBF',
17 'E:/ORACLE/ORADATA/BILLY/INDX01.DBF',
18 'E:/ORACLE/ORADATA/BILLY/DR01.DBF',
19 'E:/ORACLE/ORADATA/BILLY/DB4K.DBF'
20 CHARACTER SET ZHS16GBK
21 ;
数据簇已更改。
SQL> shutdown
ORA-01109: ??????
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 31229980 bytes
Fixed Size 75804 bytes
Variable Size 14299136 bytes
Database Buffers 16777216 bytes
Redo Buffers 77824 bytes
数据库装载完毕。
SQL> recover database using backup controlfile until cancel;
ORA-00279: ?? 25526706 (? 03/20/2003 09:45:25 ??) ???? 1 ????
ORA-00289: ??: E:/ORACLE/ORA81/RDBMS/ARC00001.001
ORA-00280: ?? 25526706 ???? 1 ???? # 1 ???
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
'E:/ORACLE/ORADATA/BILLY/REDO01.LOG'
ORA-00339: ???????????
ORA-00334: ????: 'E:/ORACLE/ORADATA/BILLY/REDO01.LOG'
ORA-01547: ??: RECOVER ??? OPEN RESETLOGS ???????
ORA-01194: ??1?????????????
ORA-01110: ???? 1: 'E:/ORACLE/ORADATA/BILLY/SYSTEM01.DBF'
SQL> recover database using backup controlfile until cancel;
ORA-00279: ?? 25526706 (? 03/20/2003 09:45:25 ??) ???? 1 ????
ORA-00289: ??: E:/ORACLE/ORA81/RDBMS/ARC00001.001
ORA-00280: ?? 25526706 ???? 1 ???? # 1 ???
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
'E:/ORACLE/ORADATA/BILLY/REDO03.LOG'
已应用的日志。
完成介质恢复。
SQL> recover database using backup controlfile until cancel;
ORA-00279: ?? 25526718 (? 03/20/2003 09:45:38 ??) ???? 1 ????
ORA-00289: ??: E:/ORACLE/ORA81/RDBMS/ARC00001.001
ORA-00280: ?? 25526718 ???? 1 ???? # 1 ???
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
'E:/ORACLE/ORADATA/BILLY/REDO01.LOG'
ORA-00339: ???????????
ORA-00334: ????: 'E:/ORACLE/ORADATA/BILLY/REDO01.LOG'
SQL> alter database open resetlogs;
数据库已更改。
SQL>
在最后一步注意日志文件选择的正确,一个一个试都没有关系
注意创建控制文件的时候,正常的话使用 红色部分的 reuse and noresetlogs,这样就不用手工apply日志而是 直接就可以自动恢复了
连接到:
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
SQL> drop table rn;
表已丢弃。
SQL> alter system checkpoint;
系统已更改。
SQL> drop table test_group;
表已丢弃。
SQL> conn / as sysdba
已连接。
SQL> shutdown abort
ORACLE 例程已经关闭。
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 31229980 bytes
Fixed Size 75804 bytes
Variable Size 14299136 bytes
Database Buffers 16777216 bytes
Redo Buffers 77824 bytes
SQL> CREATE CONTROLFILE SET /reuse DATABASE "billy" RESETLOGS /NOresetlogs NOARCHIVELOG
2 MAXLOGFILES 64
3 MAXLOGMEMBERS 2
4 MAXDATAFILES 254
5 MAXINSTANCES 32
6 MAXLOGHISTORY 113
7 LOGFILE
8 GROUP 1 'E:/ORACLE/ORADATA/BILLY/REDO01.LOG' SIZE 1048576 ,
9 GROUP 2 'E:/ORACLE/ORADATA/BILLY/REDO02.LOG' SIZE 1048576 ,
10 GROUP 3 'E:/ORACLE/ORADATA/BILLY/REDO03.LOG' SIZE 1048576
11 DATAFILE
12 'E:/ORACLE/ORADATA/BILLY/SYSTEM01.DBF',
13 'E:/ORACLE/ORADATA/BILLY/RBS01.DBF',
14 'E:/ORACLE/ORADATA/BILLY/USERS01.DBF',
15 'E:/ORACLE/ORADATA/BILLY/TEMP01.DBF',
16 'E:/ORACLE/ORADATA/BILLY/TOOLS01.DBF',
17 'E:/ORACLE/ORADATA/BILLY/INDX01.DBF',
18 'E:/ORACLE/ORADATA/BILLY/DR01.DBF',
19 'E:/ORACLE/ORADATA/BILLY/DB4K.DBF'
20 CHARACTER SET ZHS16GBK
21 ;
数据簇已更改。
SQL> shutdown
ORA-01109: ??????
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 31229980 bytes
Fixed Size 75804 bytes
Variable Size 14299136 bytes
Database Buffers 16777216 bytes
Redo Buffers 77824 bytes
数据库装载完毕。
SQL> recover database using backup controlfile until cancel;
ORA-00279: ?? 25526706 (? 03/20/2003 09:45:25 ??) ???? 1 ????
ORA-00289: ??: E:/ORACLE/ORA81/RDBMS/ARC00001.001
ORA-00280: ?? 25526706 ???? 1 ???? # 1 ???
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
'E:/ORACLE/ORADATA/BILLY/REDO01.LOG'
ORA-00339: ???????????
ORA-00334: ????: 'E:/ORACLE/ORADATA/BILLY/REDO01.LOG'
ORA-01547: ??: RECOVER ??? OPEN RESETLOGS ???????
ORA-01194: ??1?????????????
ORA-01110: ???? 1: 'E:/ORACLE/ORADATA/BILLY/SYSTEM01.DBF'
SQL> recover database using backup controlfile until cancel;
ORA-00279: ?? 25526706 (? 03/20/2003 09:45:25 ??) ???? 1 ????
ORA-00289: ??: E:/ORACLE/ORA81/RDBMS/ARC00001.001
ORA-00280: ?? 25526706 ???? 1 ???? # 1 ???
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
'E:/ORACLE/ORADATA/BILLY/REDO03.LOG'
已应用的日志。
完成介质恢复。
SQL> recover database using backup controlfile until cancel;
ORA-00279: ?? 25526718 (? 03/20/2003 09:45:38 ??) ???? 1 ????
ORA-00289: ??: E:/ORACLE/ORA81/RDBMS/ARC00001.001
ORA-00280: ?? 25526718 ???? 1 ???? # 1 ???
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
'E:/ORACLE/ORADATA/BILLY/REDO01.LOG'
ORA-00339: ???????????
ORA-00334: ????: 'E:/ORACLE/ORADATA/BILLY/REDO01.LOG'
SQL> alter database open resetlogs;
数据库已更改。
SQL>
在最后一步注意日志文件选择的正确,一个一个试都没有关系
__________________