水煮二《Oracle9i——ora-00214"控制檔案"

1向2飛發表於2010-05-11

   oracle9i老兄甚忙,其也不讓寡人閒住,哀聲嘆一,好在興趣所在,及罷了、罷了!

2010年3月10日:ora-00214總結
方法一:說明其只能啟動至nomount模式下
sql>shutdown immediate;
ora-01507:資料未裝載
sql>startup nomount;
sql>alter system set control_files='e:\oracle\oradata\oracle\controle01.ctl'
2 scope=spfile;
sql>shutdown immediate;
sql>startup
ora-01113:檔案3需要介質恢復
ora-01110:資料檔案3:'e:\oracle\oradata\oracle\*.dbf'
sql>shutdown abort;
sql>startup mount;
sql>recover datafile 'e:\oracle\oradata\oracle\*.dbf';
sql>alter database open;

只要上面三次操作中有一次成功,就可以用那個成功的控制檔案來重新作出另外兩個控制檔案。即
   1.先關閉開啟的資料庫,然後刪掉無用的控制檔案
   2.把有用的複製(重新命名成刪掉的控制檔案)一份然後 
SQL>alter system set control_files='../control01.ctl','../control02.ctl' scope=spfile;
3.開啟資料庫即可

方案二:重做控制檔案

具體步驟:
SQL>sqlplus/nolog
SQL>conn/as sysdba
SQL>shutdown immediate
報錯:ora-01507
SQL>startup nomount
SQL>archive log list;//說明其命令必須在mount模式下用
SQL>alter database backup controlfile to trace;
生成恢復指令碼!《路徑:E:\oracle\admin\oracle\udump\oracle_ora_數值.trc》
1.對於沒有歸檔用“Set #1. NORESETLOGS case”下面的檔案
2.對於歸檔用“Set #2. RESETLOGS case”下面的檔案
SQL>CREATE CONTROLFILE REUSE DATABASE "ORACLE" RESETLOGS  ARCHIVELOG
--  SET STANDBY TO MAXIMIZE PERFORMANCE
    MAXLOGFILES 50
    MAXLOGMEMBERS 5
    MAXDATAFILES 100
    MAXINSTANCES 1
    MAXLOGHISTORY 226
LOGFILE
  GROUP 1 'E:\ORACLE\ORADATA\ORACLE\REDO01.LOG'  SIZE 100M,
  GROUP 2 'E:\ORACLE\ORADATA\ORACLE\REDO02.LOG'  SIZE 100M,
  GROUP 3 'E:\ORACLE\ORADATA\ORACLE\REDO03.LOG'  SIZE 100M
-- STANDBY LOGFILE
DATAFILE
  'E:\ORACLE\ORADATA\ORACLE\SYSTEM01.DBF',
  'E:\ORACLE\ORADATA\ORACLE\UNDOTBS01.DBF',
  'E:\ORACLE\ORADATA\ORACLE\CWMLITE01.DBF',
  'E:\ORACLE\ORADATA\ORACLE\DRSYS01.DBF',
  'E:\ORACLE\ORADATA\ORACLE\EXAMPLE01.DBF',
  'E:\ORACLE\ORADATA\ORACLE\INDX01.DBF',
  'E:\ORACLE\ORADATA\ORACLE\ODM01.DBF',
  'E:\ORACLE\ORADATA\ORACLE\TOOLS01.DBF',
  'E:\ORACLE\ORADATA\ORACLE\USERS01.DBF',
  'E:\ORACLE\ORADATA\ORACLE\XDB01.DBF'
CHARACTER SET ZHS16GBK
;
SQL>recover database using backup controlfile until cancel;
報錯:ora-00279:更改3190737(在 02/25/2010 09:45:00生成)對於執行緒1是必須的
ora-00289:建議:E:\oracle\ora92\rdbms\arc00085.001
ora-00280:更改3190737用於執行緒1在序列#85中

指定日誌:{=suggested | filename | AUTO | CANCEL}
E:\oracle\oradata\oracle\REDO03.log/*說明如果報錯換用其他日誌檔案*/
SQL>alter database open;
報錯:ora-01589:要開啟資料庫必須使用resetlogs或noresetlogs選項
SQL>alter database open resetlogs;
@@@@@@@@重建完成@@@@@@@@@
對於非歸檔模式生成指令碼後:
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;

 

 

 



 

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

相關文章