oracle的参数db_files和maxdatafiles

db_files参数在参数文件中指定,maxdatafiles在控制文件中指定。

select * from v$parameter where name='db_files';

select * from v$controlfile_record_section where type='DATAFILE';

SELECT COUNT(*) FROM Dba_Data_Files;

测试前信息数据文件的信息如下:

--模拟测试环境

--生成测试用的添加数据文件的语句

# !/bin/bash

for ((i=4;i<197;i++))

do

echo "alter tablespace users add datafile '/U01/app/oracle/product/11.2.0.4/test/user${i}.dbf' size 1m;">>/home/oracle/addfilenew.sql

done

 

 

可以看到控制文件中的maxdatafiles值翻倍增加了,增大到200.

--db_files的最大值为200,现在已经199个文件了,在添加一个看测试效果:

 

可以看到当数据文件个数达到了db_files参数设置的值,会报错。

可以通过修改参数文件中的db_files参数解决,但是需要重启数据库生效。

alter system set db_files=300 scope=spfile;

show parameter db_files;

alter tablespace users add datafile '/U01/app/oracle/product/11.2.0.4/test/user198.dbf' size 1m;