ORACLE控制文件的重建
2024-08-29 13:31:00
供稿:網友
數據庫系統運行一段時間后有很多參數需要調整,有些參數可在$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;
此時數據庫已按新的參數運行。