手工恢复---控制文件全部丢失或损坏

手工恢复---控制文件全部丢失或损坏
1.还是用UE破坏所有的控制文件,并做checkpoint
2.连接数据库,将数据库启动到nomount状态
3.创建controlfile为noresetlog
4.recover数据库
5.归档所有日志
6.open数据库
7.添加temp表空间的数据文件

过程如下:
SQL >  show parameter control

NAME                                 TYPE        VALUE
-- ---------------------------------- ----------- ------------------------------
control_file_record_keep_time         integer       7
control_files                        string      D:\ORACLE\PRODUCT\
10.2 . 0 \ORADA
                                                 TA\SUREDD\CONTROL01.CTL, D:\
OR
                                                 ACLE\PRODUCT\
10.2 . 0 \ORADATA\SU
                                                 REDD\CONTROL02.CTL, D:\ORACLE\
                                                 PRODUCT\
10.2 . 0 \ORADATA\SUREDD\
                                                 CONTROL03.CTL

======================此时破坏所有控制文件======================
SQL
>   alter  system  checkpoint ;
alter  system  checkpoint
*
第 
1  行出现错误:
ORA
- 00227 : 控制文件中检测到损坏的块: (块 , # 块 )


SQL
>   select  status  from  v$instance;
ERROR:
ORA
- 03114 : 未连接到 ORALCE


SQL
>  conn  /   as  sysdba
已连接到空闲例程。
SQL
>  startup nomount
ORACLE 例程已经启动。

Total System Global Area  
612368384  bytes
Fixed Size                  
1250428  bytes
Variable Size             
201329540  bytes
Database  Buffers           402653184  bytes
Redo Buffers                
7135232  bytes
SQL
>  edit
已写入 
file  afiedt.buf

  
1    CREATE  CONTROLFILE REUSE  DATABASE  "SUREDD" NORESETLOGS  ARCHIVELOG
  
2       MAXLOGFILES  16
  
3       MAXLOGMEMBERS  3
  
4       MAXDATAFILES  100
  
5       MAXINSTANCES  8
  
6       MAXLOGHISTORY  292
  
7   LOGFILE
  
8      GROUP   1   ' D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\REDO01.LOG '   SIZE 50M,
  
9      GROUP   2   ' D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\REDO02.LOG '   SIZE 50M,
 
10      GROUP   3   ' D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\REDO03.LOG '   SIZE 50M
 
11   DATAFILE
 
12      ' D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\SYSTEM01.DBF ' ,
 
13      ' D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\UNDOTBS01.DBF ' ,
 
14      ' D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\SYSAUX01.DBF ' ,
 
15      ' D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\USERS01.DBF ' ,
 
16      ' D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\EXAMPLE01.DBF ' ,
 
17      ' D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS02.DBF '
 
18 *   CHARACTER   SET  ZHS16GBK
SQL
>   /

控制文件已创建。

SQL
>  RECOVER  DATABASE ;
完成介质恢复。
SQL
>   ALTER  SYSTEM ARCHIVE  LOG   ALL ;

系统已更改。

SQL
>   ALTER   DATABASE   OPEN ;

数据库已更改。

SQL
>  edit
已写入 
file  afiedt.buf

  
1    ALTER  TABLESPACE  TEMP   ADD  TEMPFILE  ' D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\TEMP01.DBF '
  
2 *       SIZE  20971520   REUSE AUTOEXTEND  ON   NEXT   655360   MAXSIZE 32767M
SQL
>   /

表空间已更改。

SQL
>   select   *   from  dd.t1;

        ID NAME
-- -------- ----------
          1  test1
         
2  test2

SQL
>  

你可能感兴趣的:(手工恢复---控制文件全部丢失或损坏)