以下是一种较好的重建控制文件的方法: 
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; 
此时数据库已按新的参数运行。