SYS@seiang11g>startup
ORACLE instance started.
Total System Global Area 1252663296 bytes
Fixed Size 2252824 bytes
Variable Size 788533224 bytes
Database Buffers 452984832 bytes
Redo Buffers 8892416 bytes
Database mounted.
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
--查看控制文件和数据文件头,发现并没有comsys表空间的相关记录
SYS@seiang11g>select file#,checkpoint_change#,name from v$datafile;
FILE# CHECKPOINT_CHANGE# NAME
---------- ------------------ --------------------------------------------------
1 1986883 /u01/app/oracle/oradata/OraDB11g/system01.dbf
2 1986883 /u01/app/oracle/oradata/OraDB11g/sysaux01.dbf
3 1986883 /u01/app/oracle/oradata/OraDB11g/undotbs01.dbf
4 1986883 /u01/app/oracle/oradata/OraDB11g/users01.dbf
5 1986883 /u01/app/oracle/oradata/OraDB11g/example01.dbf
6 1986883 /u01/app/oracle/oradata/OraDB11g/rman01.dbf
7 1986883 /u01/app/oracle/oradata/OraDB11g/seiang01.dbf
8 1986883 /u01/app/oracle/oradata/OraDB11g/wjq01.dbf
9 1986883 /u01/app/oracle/oradata/OraDB11g/wjqbest01.dbf
SYS@seiang11g>select file#,checkpoint_change#,name from v$datafile_header;
FILE# CHECKPOINT_CHANGE# NAME
---------- ------------------ --------------------------------------------------
1 1913765 /u01/app/oracle/oradata/OraDB11g/system01.dbf
2 1913765 /u01/app/oracle/oradata/OraDB11g/sysaux01.dbf
3 1913765 /u01/app/oracle/oradata/OraDB11g/undotbs01.dbf
4 1913765 /u01/app/oracle/oradata/OraDB11g/users01.dbf
5 1913765 /u01/app/oracle/oradata/OraDB11g/example01.dbf
6 1913765 /u01/app/oracle/oradata/OraDB11g/rman01.dbf
7 1913765 /u01/app/oracle/oradata/OraDB11g/seiang01.dbf
8 1913765 /u01/app/oracle/oradata/OraDB11g/wjq01.dbf
9 1913765 /u01/app/oracle/oradata/OraDB11g/wjqbest01.dbf
--尝试完全恢复,提示使用备份的控制文件做恢复
SYS@seiang11g>recover database;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
--使用备份的控制文件做恢复
SYS@seiang11g>recover database using backup controlfile;
ORA-00279: change 1913766 generated at 08/02/2017 11:12:22 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/arch/arch_1_950971495_1.log
ORA-00280: change 1913766 for thread 1 is in sequence #1
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto (该日志已归档,所以选择auto)
ORA-00279: change 1914386 generated at 08/02/2017 14:48:59 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/arch/arch_1_950971495_2.log
ORA-00280: change 1914386 for thread 1 is in sequence #2
ORA-00278: log file '/u01/app/oracle/arch/arch_1_950971495_1.log' no longer needed for this recovery
ORA-00279: change 1914402 generated at 08/02/2017 14:59:56 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/arch/arch_1_950972396_1.log
ORA-00280: change 1914402 for thread 1 is in sequence #1
ORA-00279: change 1936446 generated at 08/02/2017 15:39:52 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/arch/arch_1_950972396_2.log
ORA-00280: change 1936446 for thread 1 is in sequence #2
ORA-00278: log file '/u01/app/oracle/arch/arch_1_950972396_1.log' no longer needed for this recovery
ORA-00279: change 1937042 generated at 08/02/2017 15:49:42 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/arch/arch_1_950972396_3.log
ORA-00280: change 1937042 for thread 1 is in sequence #3
ORA-00278: log file '/u01/app/oracle/arch/arch_1_950972396_2.log' no longer needed for this recovery
ORA-00279: change 1937100 generated at 08/02/2017 15:51:34 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/arch/arch_1_950972396_4.log
ORA-00280: change 1937100 for thread 1 is in sequence #4
ORA-00278: log file '/u01/app/oracle/arch/arch_1_950972396_3.log' no longer needed for this recovery
ORA-00279: change 1937111 generated at 08/02/2017 16:23:53 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/arch/arch_1_950977433_1.log
ORA-00280: change 1937111 for thread 1 is in sequence #1
ORA-00279: change 1955524 generated at 08/02/2017 22:00:32 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/arch/arch_1_950977433_2.log
ORA-00280: change 1955524 for thread 1 is in sequence #2
ORA-00278: log file '/u01/app/oracle/arch/arch_1_950977433_1.log' no longer needed for this recovery
ORA-00279: change 1981768 generated at 08/03/2017 08:19:54 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/arch/arch_1_950977433_3.log
ORA-00280: change 1981768 for thread 1 is in sequence #3
ORA-00278: log file '/u01/app/oracle/arch/arch_1_950977433_2.log' no longer needed for this recovery
ORA-00279: change 1986580 generated at 08/03/2017 10:00:19 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/arch/arch_1_950977433_4.log
ORA-00280: change 1986580 for thread 1 is in sequence #4
ORA-00278: log file '/u01/app/oracle/arch/arch_1_950977433_3.log' no longer needed for this recovery
ORA-00279: change 1986880 generated at 08/03/2017 10:33:47 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/arch/arch_1_951042827_1.log
ORA-00280: change 1986880 for thread 1 is in sequence #1
ORA-00308: cannot open archived log '/u01/app/oracle/arch/arch_1_951042827_1.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
出现此错误,因为当前的日志文件尚未归档,所以出现错误,所以接下来使用当前的日志文件来做恢复
SYS@seiang11g>recover database using backup controlfile;
ORA-00279: change 1986880 generated at 08/03/2017 10:33:47 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/arch/arch_1_951042827_1.log
ORA-00280: change 1986880 for thread 1 is in sequence #1
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/u01/app/oracle/oradata/OraDB11g/redo01.log (当前的日志文件)
ORA-00283: recovery session canceled due to errors
ORA-01244: unnamed datafile(s) added to control file by media recovery
ORA-01110: data file 10: '/u01/app/oracle/oradata/OraDB11g/comsys01.dbf'
(从当前的日志文件中,我们发现了关于comsys表空间的相关记录)
ORA-01112: media recovery not started
当再次使用备份的控制文件做恢复时,出现如下的错误提示
SYS@seiang11g>recover database using backup controlfile;
ORA-00283: recovery session canceled due to errors
ORA-01111: name for data file 10 is unknown - rename to correct file
ORA-01110: data file 10: '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00010'
ORA-01157: cannot identify/lock data file 10 - see DBWR trace file
ORA-01111: name for data file 10 is unknown - rename to correct file
ORA-01110: data file 10: '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00010'
--查看控制文件和数据文件头,有了关于comsys表空间的相关记录
SYS@seiang11g>select file#,checkpoint_change#,name from v$datafile;
FILE# CHECKPOINT_CHANGE# NAME
---------- ------------------ --------------------------------------------------
1 1986883 /u01/app/oracle/oradata/OraDB11g/system01.dbf
2 1986883 /u01/app/oracle/oradata/OraDB11g/sysaux01.dbf
3 1986883 /u01/app/oracle/oradata/OraDB11g/undotbs01.dbf
4 1986883 /u01/app/oracle/oradata/OraDB11g/users01.dbf
5 1986883 /u01/app/oracle/oradata/OraDB11g/example01.dbf
6 1986883 /u01/app/oracle/oradata/OraDB11g/rman01.dbf
7 1986883 /u01/app/oracle/oradata/OraDB11g/seiang01.dbf
8 1986883 /u01/app/oracle/oradata/OraDB11g/wjq01.dbf
9 1986883 /u01/app/oracle/oradata/OraDB11g/wjqbest01.dbf
10 1988334 /u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAME
D00010
SYS@seiang11g>select file#,checkpoint_change#,name from v$datafile_header;
FILE# CHECKPOINT_CHANGE# NAME
---------- ------------------ --------------------------------------------------
1 1988336 /u01/app/oracle/oradata/OraDB11g/system01.dbf
2 1988336 /u01/app/oracle/oradata/OraDB11g/sysaux01.dbf
3 1988336 /u01/app/oracle/oradata/OraDB11g/undotbs01.dbf
4 1988336 /u01/app/oracle/oradata/OraDB11g/users01.dbf
5 1988336 /u01/app/oracle/oradata/OraDB11g/example01.dbf
6 1988336 /u01/app/oracle/oradata/OraDB11g/rman01.dbf
7 1988336 /u01/app/oracle/oradata/OraDB11g/seiang01.dbf
8 1988336 /u01/app/oracle/oradata/OraDB11g/wjq01.dbf
9 1988336 /u01/app/oracle/oradata/OraDB11g/wjqbest01.dbf
10 0
--创建数据文件,并对控制文件中记录未知的数据文件重命名
SYS@seiang11g>alter database create datafile '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00010'
2 as '/u01/app/oracle/oradata/OraDB11g/comsys01.dbf';
Database altered.
(当前的日志文件)
SYS@seiang11g>select file#,checkpoint_change#,name from v$datafile;
FILE# CHECKPOINT_CHANGE# NAME
---------- ------------------ --------------------------------------------------
1 1986883 /u01/app/oracle/oradata/OraDB11g/system01.dbf
2 1986883 /u01/app/oracle/oradata/OraDB11g/sysaux01.dbf
3 1986883 /u01/app/oracle/oradata/OraDB11g/undotbs01.dbf
4 1986883 /u01/app/oracle/oradata/OraDB11g/users01.dbf
5 1986883 /u01/app/oracle/oradata/OraDB11g/example01.dbf
6 1986883 /u01/app/oracle/oradata/OraDB11g/rman01.dbf
7 1986883 /u01/app/oracle/oradata/OraDB11g/seiang01.dbf
8 1986883 /u01/app/oracle/oradata/OraDB11g/wjq01.dbf
9 1986883 /u01/app/oracle/oradata/OraDB11g/wjqbest01.dbf
10 1988334 /u01/app/oracle/oradata/OraDB11g/comsys01.dbf
--再次查看控制文件和数据文件头
SYS@seiang11g>select file#,checkpoint_change#,name from v$datafile_header;
FILE# CHECKPOINT_CHANGE# NAME
---------- ------------------ --------------------------------------------------
1 1988336 /u01/app/oracle/oradata/OraDB11g/system01.dbf
2 1988336 /u01/app/oracle/oradata/OraDB11g/sysaux01.dbf
3 1988336 /u01/app/oracle/oradata/OraDB11g/undotbs01.dbf
4 1988336 /u01/app/oracle/oradata/OraDB11g/users01.dbf
5 1988336 /u01/app/oracle/oradata/OraDB11g/example01.dbf
6 1988336 /u01/app/oracle/oradata/OraDB11g/rman01.dbf
7 1988336 /u01/app/oracle/oradata/OraDB11g/seiang01.dbf
8 1988336 /u01/app/oracle/oradata/OraDB11g/wjq01.dbf
9 1988336 /u01/app/oracle/oradata/OraDB11g/wjqbest01.dbf
10 1988334 /u01/app/oracle/oradata/OraDB11g/comsys01.dbf
--再次使用备份的控制文件和当前日志做恢复
SYS@seiang11g>recover database using backup controlfile;
ORA-00279: change 1988334 generated at 08/03/2017 10:53:39 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/arch/arch_1_951042827_1.log
ORA-00280: change 1988334 for thread 1 is in sequence #1
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/u01/app/oracle/oradata/OraDB11g/redo01.log
Log applied.
Media recovery complete.
--恢复完成后,使用resetlogs打开数据库
SYS@seiang11g>alter database open resetlogs;
Database altered.
--查看控制文件和数据文件头SCN一致
SYS@seiang11g>select file#,checkpoint_change#,name from v$datafile;
FILE# CHECKPOINT_CHANGE# NAME
---------- ------------------ --------------------------------------------------
1 1989738 /u01/app/oracle/oradata/OraDB11g/system01.dbf
2 1989738 /u01/app/oracle/oradata/OraDB11g/sysaux01.dbf
3 1989738 /u01/app/oracle/oradata/OraDB11g/undotbs01.dbf
4 1989738 /u01/app/oracle/oradata/OraDB11g/users01.dbf
5 1989738 /u01/app/oracle/oradata/OraDB11g/example01.dbf
6 1989738 /u01/app/oracle/oradata/OraDB11g/rman01.dbf
7 1989738 /u01/app/oracle/oradata/OraDB11g/seiang01.dbf
8 1989738 /u01/app/oracle/oradata/OraDB11g/wjq01.dbf
9 1989738 /u01/app/oracle/oradata/OraDB11g/wjqbest01.dbf
10 1989738 /u01/app/oracle/oradata/OraDB11g/comsys01.dbf
SYS@seiang11g>select file#,checkpoint_change#,name from v$datafile_header;
FILE# CHECKPOINT_CHANGE# NAME
---------- ------------------ --------------------------------------------------
1 1989738 /u01/app/oracle/oradata/OraDB11g/system01.dbf
2 1989738 /u01/app/oracle/oradata/OraDB11g/sysaux01.dbf
3 1989738 /u01/app/oracle/oradata/OraDB11g/undotbs01.dbf
4 1989738 /u01/app/oracle/oradata/OraDB11g/users01.dbf
5 1989738 /u01/app/oracle/oradata/OraDB11g/example01.dbf
6 1989738 /u01/app/oracle/oradata/OraDB11g/rman01.dbf
7 1989738 /u01/app/oracle/oradata/OraDB11g/seiang01.dbf
8 1989738 /u01/app/oracle/oradata/OraDB11g/wjq01.dbf
9 1989738 /u01/app/oracle/oradata/OraDB11g/wjqbest01.dbf
10 1989738 /u01/app/oracle/oradata/OraDB11g/comsys01.dbf
--查看已恢复test4表中的数据记录
SYS@seiang11g>select * from seiang.test4;
AGE ADDRESS
---------- ----------
23 beijing
25 shanghai