第一种方法是将所有数据全倒出来,重建库,再将数据倒进出。(注释:此方法较繁琐。)
第二种方法是仅仅重建控制文件,因为数据文件个数的限制参数存放在控制文件中。
以下是一种较好的重建控制文件的方法:
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;
至此数据库已经按新的参数运行。
责任编辑:虫虫