服务器 频道

ORACLE控制文件的重建

  【IT168 服务器学院】数据库系统运行一段时间后有很多参数需要调整,有些参数可在$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;

  此时数据库已按新的参数运行。

  

0
相关文章