手工恢复控制文件的深入解析(六)

2014-11-24 12:31:01 · 作者: · 浏览: 7
ntrolfile/o1_mf_7q9c8pcf_.ctl
oracle@oracle:~/oradata/ORCL/controlfile> cp /opt/oracle/control.ctl /opt/oracle/oradata/ORCL/controlfile/o1_mf_7q9c8orh_.ctl
oracle@oracle:~/oradata/ORCL/controlfile> cp /opt/oracle/control.ctl /opt/oracle/flash_recovery_area/ORCL/controlfile/o1_mf_7q9c8pcf_.ctl
oracle@oracle:~/oradata/ORCL/controlfile> exit
exit
SYS@orcl#alter database mount;
数据库已更改。
SYS@orcl#
SYS@orcl#set linesize 200
SYS@orcl#
SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;
select checkpoint_change# from v$datafile;
select file#,checkpoint_change# from v$datafile_header;
CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#
------------------ --------------------- -------------------
4937839 14352 4938513
SYS@orcl#
CHECKPOINT_CHANGE#
------------------
4937839
4937839
4937839
4937839
4937839
4937839
4937839
4937839
4937839
4937839
4937839
CHECKPOINT_CHANGE#
------------------
4937839
已选择12行。
SYS@orcl#
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 4938590
2 4938590
3 4938590
4 4938590
5 4938590
6 4938590
7 4938590
8 4938590
9 4938590
10 4938590
11 4938590
FILE# CHECKPOINT_CHANGE#
---------- ------------------
12 4938590
已选择12行。
SYS@orcl#
可以看到数据文件头的scn和控制文件中不一致啊。那么就需要进行恢复数据库
SYS@orcl#recover database;
ORA-00283:
ORA-01610: BACKUP CONTROLFILE
提醒控制文件是备份过来的,需要使用 using backup controlfile恢复。
SYS@orcl#recover database using backup controlfile;
ORA-00279: 4938513 ( 06/07/2013 23:16:52 ) 1
ORA-00289: : /opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_08/o1_mf_1_3_%u_.arc
ORA-00280: 4938513 ( 1) #3
指定日志: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_08/o1_mf_1_3_%u_.arc'
ORA-27037:
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00308: '/opt/oracle/flash_recovery_area/ORCL/archivelog/2013_06_08/o1_mf_1_3_%u_.arc'
ORA-27037:
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
这是由于最后没有归档日志,其实这个是redo还没来得急归档,可以使用在线的然后进行完全恢复
SYS@orcl#select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIV STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- ------ -------------------------------- ------------- --------------
1 1 1 52428800 2 YES INACTIVE 4918661 05-6 -13
3 1 3 52428800 2 NO CURRENT 4935675 07-6 -13
2 1 2 52428800 2 YES INACTIVE 4935491 07-6 -13
SYS@orcl#select * from v$log;
GROUP# THRE