非歸檔無備份下控制檔案丟失的恢復

zuoluo2003發表於2014-07-10
1、alter database backup controlfile to trace;
    可以在alertSID.log裡面看到備份的控制檔案指令碼,也可以
    select spid from v$process where addr=(select paddr from v$session where sid=(select distinct sid from v$mystat));
   在user_dump_dest 下 可以找到 SID_ora_spid.trc 檔案
2、刪除所有的控制檔案
3、shutdown abort資料庫
4、startup nomount;

檢視生成的檔案,重建控制檔案有兩種方式的建立指令碼:NORESETLOGS 、 RESETLOGS ,
online redolog可用時用NORESETLOGS 指令碼
online redolog不可用時用RESETLOGS 指令碼。

5、我並沒有刪online redolog 所以用 noresetlogs

CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/oradata/orcl/redo01.log'  SIZE 50M BLOCKSIZE 512,
  GROUP 2 '/oradata/orcl/redo02.log'  SIZE 50M BLOCKSIZE 512,
  GROUP 3 '/oradata/orcl/redo03.log'  SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  '/oradata/orcl/system01.dbf',
  '/oradata/orcl/sysaux01.dbf',
  '/oradata/orcl/undotbs01.dbf',
  '/oradata/orcl/users01.dbf',
  '/oradata/orcl/example01.dbf'
CHARACTER SET ZHS16GBK
;
6、RECOVER DATABASE;
7、ALTER DATABASE OPEN;
8、ALTER TABLESPACE TEMP ADD TEMPFILE '/oradata/orcl/temp01.dbf'
     SIZE 10485760  REUSE AUTOEXTEND OFF;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/76103/viewspace-1215645/,如需轉載,請註明出處,否則將追究法律責任。

相關文章