导航

对ALTER DATABASE BACKUP CONTROLFILE TO 备份的控制文件恢复

Posted on 2011-03-15 22:10  datalife  阅读(872)  评论(0编辑  收藏  举报
对使用"ALTER DATABASE BACKUP CONTROLFILE TO ''" 备份的控制文件的恢复
2007-11-15 22:40

ORACLE数据库提供了多种对控制文件的备份方式,RMAN,ALTER DATABASE BACKUP CONTROLFILE TO TRACE,ALTER DATABASE BACKUP CONTROLFILE TO filename

这里介绍一下使用ALTER DATABASE BACKUP CONTROLFILE TO filename对控制文件进行备份并恢复的过程

1\ 备份控制文件 ctlfile.bak
   SQL> alter database backup controlfile to 'e:\oracle\backup\ctlfile.bak';  
   数据库已更改。
2\ 关闭数据库
   SQL> SHUTDOWN IMMEDIATE
   数据库已经关闭。
   已经卸载数据库。
   ORACLE 例程已经关闭。
3\ 删除全部的控制文件,复制 ctlfile.bak 到原控制文件的位置并改名为原控制文件名
4\MOUNT 方式启动数据库
   SQL> startup mount
   ORACLE 例程已经启动。
  
   Total System Global Area 167772160 bytes
   Fixed Size                  1247876 bytes
   Variable Size              62915964 bytes
   Database Buffers           96468992 bytes
   Redo Buffers                7139328 bytes
   数据库装载完毕。
5\ 查询当前的redo文件
   SQL> SELECT * FROM V$LOG;
  
      GROUP#    THREAD# SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
   ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ------------
           1          1          0   52428800          1 YES UNUSED                       0
           3          1          0   52428800          1 YES UNUSED                       0
           2          1          1   52428800          1 NO CURRENT                 651827 15-11月-07
6\ 应用备份的控制文件ctlfile.bak对控制文件进行恢复
   SQL> recover database using backup controlfile until cancel;
   ORA-00279: 更改 653168 (在 11/15/2007 21:29:55 生成) 对于线程 1 是必需的
   ORA-00289: 建议: E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2007_11_15\O1_MF_1_1_%U_.ARC
   ORA-00280: 更改 653168 (用于线程 1) 在序列 #1 中
  
   指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
   在这里输入第二组 redo 文件,指定绝对路径
  E:\oracle\product\10.2.0\oradata\orcl\redo02.log
   已应用的日志。
   完成介质恢复。  
7\RESETLOGS 方式打开数据库
   SQL> alter database open resetlogs;
   数据库已更改。