关于oracle数据库中db_files参数和maxdatafiles参数

oracle中在创建表空间的时候经常会遇到数据文件超过就大数的限制,如何解决 这个问题呢?

这个问题受两个参数的限制一个是maxdatafiles,一个是db_filesmaxdatafiles在控制文件中指定,db_files在参数文件中指定,一般db_files<=maxdatafiles

select  count(*) from dba_data_files;

当查询已经达到db_files时,需要修改db_files,把这个值调大。修改方法是,在8i中,在init$ORACLE_SID.ora指定这个值即可,如在文件末尾添加 db_files=xxx,然后重启数据库即可,在9i中如果是使用spfile参数文件的话,使用下面的sqllter system set db_files=xxx scope=both; 即可。

 

db_files达到maxdatafiles的值时,就要修改maxdatafiles,把这个值调大,因为这个参数值在控制文件中指定,要修改的话,就要 重建控制文件,方法如下:

 

  1. 备份控制文件

sqlplus “/ as sysdba”

alter database backup controlfile to trace;

show parameter user_dump_dest;

  1. 修改生重建控制文件的脚本

user_dump_dest参数指定的目录查看刚才生成的trace文件,把它改名为 create_control.sql,用vi修改这个文件,把注释以及无关的文件描述删除后保存。修改maxdatafiles参数的值,把它调大到你所要的值。

  1.  重建控制文件

sqlplus “/ nolog”

connect internal

@create_control.sql

脚本会启动数据库,到这一步,修改即可成功。

共有 0 条评论

Top