今天接到客户电话说前端业务出现无法使用的情况,通过表空间查看发现是表空间使用率占用到了100%,所以需要进行datafile文件的扩容,但是在扩容语句执行后遇见报错。
1、报错内容为ora-00059:超出db_files的最大值,如下图:
2、查询db_files的最大值,发现最大值为200,如图:
show parameter db_files
3、查询目前datafiles的数量,目前数据文件已经达到了200个,所有扩容表空间增加数据文件报错
select count(*) from dba_data_files;
4、增大db_files参数需要修改参数文件,修改参数文件前需要备份参数文件,备份参数文件命令如下:
5、备份参数文件完成后,进行参数修改,参数修改如下:
6、由于是静态参数,在修改完成后需要对数据库进行重启,如下图:
7、重启完成后,查看最大db_files参数,已经修改成功,如下:
8、再次添加数据文件,数据文件添加成功,业务故障修复。
9、如果环境为rac环境,则需要按修改参数后对两节点同时重启,如下:
alter system set db_files=500 sid='*' scope=spfile;
系统层次启动数据库:
$ srvctl stop database -d xiaozc
$ srvctl start database -d xiaozc
10、总结
修改db_files参数需要重启数据库,基于此强烈建议在建库的时候对此参数进行调整,避免后期使用过程中更改此参数影响业务运行。