控制文件的恢复(二进制)

1.备份二进制控制文件

SQL> alter database backup controlfile to '/tmp/c1.bin';


 

2.创建表空间

SQL> create tablespace app3 datafile '/u01/app/oracle/oradata/demo1/app3_01.dbf' size 10M autoextend on;

3.创建表并插入数据

SQL> create table t1 (id int,name varchar2(20)) tablespace app3;


SQL> insert into t1  values(0,'zhangning');


SQL> commit;

 

4.删除所有控制文件

[oracle@asm demo1]$ rm -f control0*

 

5.关闭数据库

SQL> shutdown abort

 

6.拷贝控制文件到原来位置

cp /tmp/c1.bin ./control01.ctl

cp /tmp/c1.bin ./control02.ctl

cp /tmp/c1.bin ./control03.ctl

 

7.启动数据库mount状态

SQL> startup mount

 

8.查看SCN号码

SQL> select file#,checkpoint_change# from v$datafile;(来自控制文件)


SQL> select file#,checkpoint_change# from v$datafile_header;(来自数据文件)

 

9.恢复数据库

SQL> recover database using backup controlfile;
ORA-00279: change 673673 generated at 01/30/2012 12:50:27 needed for thread 1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/DEMO1/archivelog/2012_01_30/o1_mf_1_24_%u_.arc ----经查并无此文件
ORA-00280: change 673673 for thread 1 is in sequence #24


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

 

SQL> recover database using backup controlfile;
ORA-00283: recovery session canceled due to errors
ORA-01111: name for data file 7 is unknown - rename to correct file
ORA-01110: data file 7: '/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00007'
ORA-01157: cannot identify/lock data file 7 - see DBWR trace file
ORA-01111: name for data file 7 is unknown - rename to correct file
ORA-01110: data file 7: '/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00007'

 

10.查看视图

SQL> select * from v$recover_file;

SQL> select file#,name from v$datafile;

 

11.恢复数据文件到原来位置

SQL> alter database rename file '/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00007' to '/u01/app/oracle/oradata/demo1/app3_01.dbf';

 

12.恢复数据库

SQL> recover database using backup controlfile until cancel;
ORA-00279: change 674860 generated at 01/30/2012 13:01:31 needed for thread 1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/DEMO1/archivelog/2012_01_30/o1_mf_1_24_%u_.a
rc
ORA-00280: change 674860 for thread 1 is in sequence #24


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/u01/app/oracle/oradata/demo1/redo02.log
Log applied.
Media recovery complete.

 

13.打开数据库

SQL> alter database open resetlogs;

 

14.验证

SQL> select * from t1;

        ID NAME
---------- --------------------------------------------------
         0 zhangning

 

 

上一篇: 控制文件的恢复
下一篇: rman完成恢复到不同路径
Phoenix_99
博客等级 码龄18年 116粉丝 358原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值