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修改这个文件,把注释以及无关的文件描述删除后保存。

CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG     
    MAXLOGFILES 16                                                     
    MAXLOGMEMBERS 3                                                    
    MAXDATAFILES 100                                                   
    MAXINSTANCES 8                                                     
    MAXLOGHISTORY 292                                                  
LOGFILE                                                                
GROUP 1 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG' SIZE 50M,
GROUP 2 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG' SIZE 50M,
GROUP 3 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG' SIZE 50M 
DATAFILE                                                               
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF',                
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF',               
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF',                
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF',                 
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF',               
'E:\ORACLE\DATE\ZMCS.ORA',                                           
'E:\ORACLE\DATE\GJ.ORA',                                             
'E:\ORACLE\DATE\FAXIN.ORA',                                          
'E:\ORACLE\DATE\WWW.ORA',                                            
'E:\ORACLE\DATE\CRE.ORA',                                            
'E:\ORACLE\DATE\CRE1.ORA',                                           
'E:\ORACLE\DATE\ZHENGJIA.ORA'                                        
CHARACTER SET ZHS16GBK                                                 
;                                                                     

修改maxdatafiles参数的值,把它调大到你所要的值。

  1.  重建控制文件

   sqlplus /nolog
  sql>connect internal 
  sql>shutdown immediate 
  sql>@ctl.sql 
  sql>alter database open; 
  此时数据库已按新的参数运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值