对使用"ALTER DATABASE BACKUP CONTROLFILE TO ''" 备份的控制文件的恢

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 中
  
   指定日志: {=suggested | filename | AUTO | CANCEL}
   在这里输入第二组 redo 文件,指定绝对路径
  E:/oracle/product/10.2.0/oradata/orcl/redo02.log
   已应用的日志。
   完成介质恢复。  
7/RESETLOGS 方式打开数据库
   SQL> alter database open resetlogs;
   数据库已更改。

你可能感兴趣的:(Oracle)