oralce备份与恢复1 控制文件

前提条件是某一个控制文件破坏,但是存在其他镜像文件:
SQL> show parameter contro
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time        integer     7
control_files                        string      E:\ORACLE\PRODUCT\10.2.0\ORADA
                                                 TA\AFC\CONTROL01.CTL, E:\ORACL
                                                 E\PRODUCT\10.2.0\ORADATA\AFC\C
                                                 ONTROL02.CTL, E:\ORACLE\PRODUC
                                                 T\10.2.0\ORADATA\AFC\CONTROL03
                                                 .CTL, E:\ORACLE\PRODUCT\10.2.0
                                                 \ORADATA\AFC\CONTROL04.CTL
                                                
由上看出控制文件有4个copy,镜像,
现在关闭数据库,并将04号文件删除
打开数据库时候
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area  167772160 bytes
Fixed Size                  1247900 bytes
Variable Size              62915940 bytes
Database Buffers          100663296 bytes
Redo Buffers                2945024 bytes
SQL> alter database mount
  2  ;
alter database mount
*
第 1 行出现错误:
ORA-00205: error in identifying controlfile,check alert log for more info
SQL> show parameter contro
NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
control_file_record_keep_time        integer
7
control_files                        string
E:\ORACLE\PRODUCT\10.2.0\ORADA
TA\AFC\CONTROL01.CTL, E:\ORACL
E\PRODUCT\10.2.0\ORADATA\AFC\C
ONTROL02.CTL, E:\ORACLE\PRODUC
T\10.2.0\ORADATA\AFC\CONTROL03
.CTL, E:\ORACLE\PRODUCT\10.2.0

SQL> alter system set control_files= -
> 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL01.CTL', -
> 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL02.CTL', -
> 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL03.CTL' -
> SCOPE=SPFILE;
系统已更改。
SQL> SHUTDOWN IMMEDIATE
ORA-01507:
ORACLE 例程已经关闭。

SQL> STARTUP
ORACLE 例程已经启动。
Total System Global Area  167772160 bytes
Fixed Size                  1247900 bytes
Variable Size              62915940 bytes
Database Buffers          100663296 bytes
Redo Buffers                2945024 bytes
数据库装载完毕。
数据库已经打开。

SQL> SHOW PARAMETER CONTRO
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time        integer     7
control_files                        string      E:\ORACLE\PRODUCT\10.2.0\ORADA
                                                 TA\AFC\CONTROL01.CTL, E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL02.CTL, E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL03.CTL


SQL> SHUTDOWN IMMEDIATE
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭
                                                
SQL> HOST COPY E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL01.CTL E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL04.CTL

SQL> alter system set control_files= -
>  'E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL01.CTL', -
>  'E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL02.CTL', -
> 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL03.CTL', -
> 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL04.CTL' -
> SCOPE=SPFILE;
系统已更改。
SQL> SHUTDOWN IMMEDIATE
ORA-01109:
已经卸载数据库。
ORACLE 例程已经关闭。

SQL> startup
ORACLE 例程已经启动。
Total System Global Area  167772160 bytes
Fixed Size                  1247900 bytes
Variable Size              62915940 bytes
Database Buffers          100663296 bytes
Redo Buffers                2945024 bytes
ORA-00214: ???? ''E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL01.CTL'' ?? 2543
??? ''E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL04.CTL'' ?? 2541 ???
提示控制文件不一致

SQL> host copy E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL01.CTL E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL04.CTL
重新copy一次

SQL> startup
ORACLE 例程已经启动。
Total System Global Area  167772160 bytes
Fixed Size                  1247900 bytes
Variable Size              62915940 bytes
Database Buffers          100663296 bytes
Redo Buffers                2945024 bytes
数据库装载完毕。
数据库已经打开。
SQL> show parameter control
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time        integer     7
control_files                        string      E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL01.CTL, E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL02.CTL,
E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL03.CTL, E:\ORACLE\PRODUCT\10.2.0\ORADATA\AFC\CONTROL04.CTL

以上为在windows平台使用文件系统 存储oracle数据结构
如果使用裸设备的话,是否要考虑使用dd命令 复制,或aix平台下的cplv命令

F50:[/]#dd if=/dev/rraw of=/dev/rraw1 bs=1024
65536+0 records in.
65536+0 records out.