控制文件損壞 通過trace重建

Oracle數據庫系統在運行一段時間後有許多的參數需要調整,其中某些參數可以在$ORACLE_HOME/dbs/initXXX.ora中調整,而有些參數則必須在Oracle的控制文件中調整。如Oracle的缺省數據文件個數爲30個,在系統需要擴表空間而數據文件個數不夠時就需要進行調整。  

  第一種方法是將所有數據全倒出來,重建庫,再將數據倒進出。(註釋:此方法較繁瑣。)  

  第二種方法是僅僅重建控制文件,因爲數據文件個數的限制參數存放在控制文件中。  

  以下是一種較好的重建控制文件的方法:  

  1. 備份數據庫中的數據,以防不測。  

  2. svrmgrl  

  3. svrmgrl>connect internal  

  4. svrmgrl>alter database backup controlfile to trace; 備份控制文件  

  5. 在/home/oracle//admin/ora7/udump下可找到最新生成的TRACE文件,假設爲ora_15269.trc,此文件就包含了當前控制文件的參數及生成語法。  

  6. 提取ora_15269.trc中有關控制文件生成的語句另存爲creatctl.sql。  

  7. creatctl.sql的內容爲:  

  STARTUP NOMOUNT  

  CREATE CONTROLFILE REUSE DATABASE "ORA7" NORESETLOGS NOARCHIVELOG  

  MAXLOGFILES 32  

  MAXLOGMEMBERS 2  

  MAXDATAFILES 50  

  MAXINSTANCES 8  

  MAXLOGHISTORY 800  

  LOGFILE  

  GROUP 1 '/dev/vg00/roraredoa1'  SIZE 500K,  

  GROUP 2 '/dev/vg00/roraredoa2'  SIZE 500K,  

  GROUP 3 '/dev/vg00/roraredoa3'  SIZE 500K  

  DATAFILE  

   '/dev/vg00/rorasys',  

   '/dev/vg00/rorarbs',  

   '/dev/vg00/roratemp',  

   '/dev/vg00/roratools',  

   '/dev/vg00/rorauser'  

  ;

  (8)可以根據自己的實際情況來編輯creatctl.sql中的參數,例如maxdatafiles、maxinstances等。  

  (9)svrmgrl  

  (10)svrmgrl>connect internal  

  (11)svrmgrl>shutdown immediate  

  (12)svrmgrl>@creatctl.sql  

  (13) svrmgrl>alter database open;  

  至此數據庫已經按新的參數運行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章