3

Oracle故障系列:ORA-00059超出db_files的最大值

 1 year ago
source link: https://blog.51cto.com/xiaozc/5389231
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Oracle故障系列:ORA-00059超出db_files的最大值

原创

今天接到客户电话说前端业务出现无法使用的情况,通过表空间查看发现是表空间使用率占用到了100%,所以需要进行datafile文件的扩容,但是在扩容语句执行后遇见报错。

1、报错内容为ora-00059:超出db_files的最大值,如下图:

Oracle故障系列:ORA-00059超出db_files的最大值_ora-00059

2、查询db_files的最大值,发现最大值为200,如图:

show parameter db_files

Oracle故障系列:ORA-00059超出db_files的最大值_ora-00059_02

3、查询目前datafiles的数量,目前数据文件已经达到了200个,所有扩容表空间增加数据文件报错

select count(*) from dba_data_files;

Oracle故障系列:ORA-00059超出db_files的最大值_ora-00059_03

4、增大db_files参数需要修改参数文件,修改参数文件前需要备份参数文件,备份参数文件命令如下:

Oracle故障系列:ORA-00059超出db_files的最大值_spfile_04

5、备份参数文件完成后,进行参数修改,参数修改如下:

Oracle故障系列:ORA-00059超出db_files的最大值_db_files_05

6、由于是静态参数,在修改完成后需要对数据库进行重启,如下图:

Oracle故障系列:ORA-00059超出db_files的最大值_spfile_06

7、重启完成后,查看最大db_files参数,已经修改成功,如下:

Oracle故障系列:ORA-00059超出db_files的最大值_spfile_07

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参数需要重启数据库,基于此强烈建议在建库的时候对此参数进行调整,避免后期使用过程中更改此参数影响业务运行。

  • 收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK