关于备份恢复的一个小问题,(冷备+当前的控制文件能不能跑归档?)
问题描述:①我将库shutdown immediate后冷备(数据文件、控制文件、日志文件)
②然后把库startup起来,做一系列的操作,提交,切归档。shutdown immediate
③然后把冷备的数据文件和日志文件拿来+做了一系列操作后的控制文件;我能不能跑归档把这个库恢复出来?
实验过程:
1、停库做冷备份
[oracle@dba oradata]$ cp -R tt ttbak
[oracle@dba oradata]$ ls
testbak testyd tt
ttbak
---其中tt目录是库的数据文件、控制文件、日志文件
2、把库起来做一系列的操作:
Database opened.
SQL> conn scott/tiger
Connected.
SQL> create table t1 as select * from emp;
Table created.
SQL> insert into t1 select * from t1;
14 rows created.
SQL> /
28 rows created.
SQL> /
56 rows created.
SQL> commit;
Commit complete.
SQL> conn /as sysdba
Connected.
SQL> alter system switch logfile;
System altered.
SQL> alter system switch logfile;
System altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down
3、现在我用我的冷备份的数据文件和日志文件+做了一系列操作后的控制文件去跑归档恢复数据库
[oracle@dba oradata]$ ls
testbak testyd tt ttbak
[oracle@dba oradata]$ mv tt tt001
[oracle@dba oradata]$ cp -R ttbak tt
[oracle@dba oradata]$ rm -rf tt/*.ctl
[oracle@dba oradata]$ cp tt001/*.ctl tt/
[oracle@dba oradata]$ ls
testbak testyd tt tt001 ttbak
------现在tt目录下是冷备份的数据文件和日志文件+做了操作后的控制文件------
好,准备工作做完了,下面就是重点了
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 1224736768 bytes
Fixed Size 1219112 bytes
Variable Size 318768600 bytes
Database Buffers 889192448 bytes
Redo Buffers 15556608 bytes
Database mounted.
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/u01/app/oracle/oradata/tt/system01.dbf'
SQL>
select status from v$instance;
STATUS
------------
MOUNTED
SQL>
recover database until cancel
ORA-00279: change 5571109 generated at 07/24/2013 15:07:32 needed for thread 1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/TT/archivelog/2013_07_24/
o1_mf_1_2