Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1619557
  • 博文数量: 292
  • 博客积分: 10791
  • 博客等级: 上将
  • 技术积分: 2479
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-20 21:06
文章分类

全部博文(292)

文章存档

2011年(31)

2010年(261)

分类: Oracle

2010-06-15 08:43:34

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

 

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

阅读(8404) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

131752015-12-05 01:30:58

数据文件数超过maxdatafiles,maxdatafiles会自动翻倍自动扩展。无需重建controlfile。