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;
此时数据库已按新的参数运行。