控制文件丢失恢复实例(3) - 使用重建控制文件方式(noresetlogs)



SQL> alter database backup controlfile to trace ; (具体的脚本见后面) 
数据库已更改。

SQL> shutdown immeidate
SP2-0717: 非法的 SHUTDOWN 选项
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

SQL> host del  D:\oracle\product\10.2.0\oradata\test\CONTROL01.CTL
SQL> host del  D:\oracle\product\10.2.0\oradata\test\CONTROL02.CTL
SQL> host del  D:\oracle\product\10.2.0\oradata\test\CONTROL03.CTL

SQL> startup
ORACLE 例程已经启动。

Total System Global Area  524288000 bytes
Fixed Size                  1249920 bytes
Variable Size             180358528 bytes
Database Buffers          335544320 bytes
Redo Buffers                7135232 bytes
ORA-00205: ?????????, ??????, ???????

 

准备重新建立控制文件,使用noresetlogs .

SQL > shutdown immediate 

SQL> STARTUP NOMOUNT

开始重建控制文件(noresetlogs模式) 

SQL> CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\REDO01.LOG'  SIZE 5M,
  GROUP 2 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\REDO02.LOG'  SIZE 5M,
  GROUP 3 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\REDO03.LOG'  SIZE 5M
-- STANDBY LOGFILE
DATAFILE
  'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBF',
  'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOTBS01.DBF',
  'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSAUX01.DBF',
  'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS01.DBF',
  'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS02.DBF',
  'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS03.DBF'
CHARACTER SET AL32UTF8 ;


SQL> RECOVER DATABASE
ORA-00283: recovery session canceled due to errors
ORA-00264: no recovery required

SQL> ALTER SYSTEM ARCHIVE LOG ALL; 
系统已更改。

SQL> ALTER DATABASE OPEN;
数据库已更改。

SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\TEMP01.DBF'
     SIZE 20971520  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;
表空间已更改。

数据库已正常开启。

请使用浏览器的分享功能分享到微信等