不為人知的Oracle控制文件重建
本章主要是重點(diǎn)介紹Oracle控制文件重建的方法,因?yàn)閿?shù)據(jù)庫系統(tǒng)運(yùn)行一段時間后有很多參數(shù)需要調(diào)整,有些參數(shù)可在$ORACLE_HOME/dbs/initXXX.ora文件中調(diào)整,而有些參數(shù)必須要在Oracle控制文件中調(diào)整。如Oracle缺省數(shù)據(jù)文件個數(shù)為30個,在系統(tǒng)需要擴(kuò)表空間而數(shù)據(jù)文件個數(shù)不夠時就需要進(jìn)行調(diào)整。
一種方法是將所有數(shù)據(jù)全倒出來,重建庫,再將數(shù)據(jù)倒進(jìn)出。這種方法較麻煩。
二種方法是只重建Oracle控制文件,因?yàn)閿?shù)據(jù)文件個數(shù)的限制參數(shù)存放在控制文件中。
以下是一種較好的重建控制文件的方法:
1. 備份數(shù)據(jù)庫中的數(shù)據(jù),以防不測。
2. svrmgrl
3. svrmgrl>connect internal
4. svrmgrl>alter database backup controlfile to trace; 備份控制文件
5. 在/home/oracle//admin/ora7/udump下可找到最新生成的TRACE文件,假設(shè)為ora_15269.trc,此文件就包含了當(dāng)前控制文件的參數(shù)及生成語法。
6. 提取ora_15269.trc中有關(guān)控制文件生成的語句另存為creatctl.sql。
7. creatctl.sql的內(nèi)容為:
8. 可按自己的需要編輯creatctl.sql中的參數(shù),如maxdatafiles、maxinstances等。
- 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'
- ;
9. svrmgrl
10. svrmgrl>connect internal
11. svrmgrl>shutdown immediate
12. svrmgrl>@creatctl.sql
13. svrmgrl>alter database open;
此時數(shù)據(jù)庫已按新的參數(shù)運(yùn)行。
【編輯推薦】