本次实验将模拟Oracle Control文件丢失场景,利用之前备份的景象Control file 对数据库进行恢复;
SQL> show parameter control_file ;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string /u01/oracle/oradata/TESTDB/controlfile/o1_mf_gqgcxtfb_.ctl, /u01/oracle/fast_recovery_area/testdb/TESTDB/controlfile/o1_mf_gqgcxtgf_.ctl
[oracle@rhel7 ~]$ cp /u01/oracle/oradata/TESTDB/controlfile/o1_mf_gqgcxtfb_.ctl /home/oracle/
SQL> shutdown immediate ;
步骤1中查询出来的所有控制文件;
startup ;
ORACLE instance started.
Total System Global Area 2466250752 bytes
Fixed Size 8623688 bytes
Variable Size 671091128 bytes
Database Buffers 1778384896 bytes
Redo Buffers 8151040 bytes
ORA-00205: error in identifying control file, check alert log for more info
SQL> shutdown immediate ;
SQL> startup nomount ;
7,将备份的控制文件copy回原来的控制文件位置,且名称与之前保持一致;
[oracle@rhel7 ~]$ cp o1_mf_gqgcxtfb_.ctl /u01/oracle/oradata/TESTDB/controlfile/o1_mf_gqgcxtfb_.ctl
[oracle@rhel7 ~]$ cp o1_mf_gqgcxtfb_.ctl /u01/oracle/fast_recovery_area/testdb/TESTDB/controlfile/o1_mf_gqgcxtgf_.ctl
SQL> alter database mount ;
Database altered.
recover database using backup controlfile until cancel
观察出错信息,搜索sequence以及数字
SQL> recover database using backup controlfile until cancel ;
ORA-00279: change 1440371 generated at 09/12/2019 09:11:47 needed for thread 1
ORA-00289: suggestion :
/u01/oracle/fast_recovery_area/testdb/TESTDB/archivelog/2019_09_12/o1_mf_1_1_%u_.arc
ORA-00280: change 1440371 for thread 1 is in sequence #1
select group#,sequence# from v$log ;
select group#,member from v$logfile ;
SQL> select group#,sequence# from v$log ;
GROUP# SEQUENCE#
---------- ----------
1 1
3 0
2 0
SQL> select group#,member from v$logfile ;
GROUP# MEMBER
--------------------------------------------------------------------------------
3 /u01/oracle/oradata/TESTDB/onlinelog/o1_mf_3_gqgcygnw_.log
3 /u01/oracle/fast_recovery_area/testdb/TESTDB/onlinelog/o1_mf_3_gqgcypjf_.log
2 /u01/oracle/oradata/TESTDB/onlinelog/o1_mf_2_gqgcxwn8_.log
GROUP# MEMBER
--------------------------------------------------------------------------------
2 /u01/oracle/fast_recovery_area/testdb/TESTDB/onlinelog/o1_mf_2_gqgcy4xq_.log
1 /u01/oracle/oradata/TESTDB/onlinelog/o1_mf_1_gqgcxwmk_.log
1 /u01/oracle/fast_recovery_area/testdb/TESTDB/onlinelog/o1_mf_1_gqgcy3jq_.log
6 rows selected.
recover database using backup controlfile until cancel
输入上一步查询得到重做日志文件,恢复结束
SQL> recover database using backup controlfile until cancel ;
ORA-00279: change 1440371 generated at 09/12/2019 09:11:47 needed for thread 1
ORA-00289: suggestion :
/u01/oracle/fast_recovery_area/testdb/TESTDB/archivelog/2019_09_12/o1_mf_1_1_%u_.arc
ORA-00280: change 1440371 for thread 1 is in sequence #1
Specify log: {=suggested | filename | AUTO | CANCEL}
/u01/oracle/fast_recovery_area/testdb/TESTDB/onlinelog/o1_mf_1_gqgcy3jq_.log
Log applied.
Media recovery complete.
SQL > alter database open RESETLOGS ;
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞2
添加新评论0 条评论