前段时间碰到一个数据库的数据文件数(200)达到了数据库定义的参数db_files的值,而原本需要使用alter system可以修改这个参数,但是因为限制该参数的maxdatafiles值(由控制文件定义)仪200,故要想改大db_files参数值,需要重建控制文件,下面是我个人根据实验总结的操作过程。

一、参数察看

$sqlplus /nolog

conn / as sysdba

SQL> show parameter db_files;

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_files                             integer     200

由此可看出db_files值为200,如果数据库中数据文件数达到或超过200,就需要更改该参数了。

更改db_files有两种情况:

1,  如果控制文件中定义的maxdatafiles以及系统允许打开的文件数值大于200,则可以通过alter方式来修改db_files的值

2,  如果控制文件中maxdatafiles值等于200,则需要重建控制文件来修改maxdatafiles值。

察看maxdatafiles方法

SQL>alter database backup controlfile to trace;

到$ORACLE_BASE/admin/db_name/udump下面查找最新生成的trc文件

$grep –i MAXDATAFILES boss_ora_4310.trc

MAXDATAFILES 200

MAXDATAFILES 200

系统允许打开文件数可用ulimit –a察看

$ulimit –a

open files                      (-n) 1024

二、修改步骤

1,生成控制文件创建脚本

SQL>alter database backup controlfile to trace;

在$ORACLE_BASE/admin/db_name/udump目下新生成的trc文件oracle/admin/boss/udump/boss_ora_4310.trc

根据上述文件创建控制文件生成脚本recreate_control.sql

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE "BOSS" NORESETLOGS  NOARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 300     修改MAXDATAFILES值

MAXINSTANCES 8

MAXLOGHISTORY 292

LOGFILE

GROUP 1 '/oracle/oradata/boss/redo01.log'  SIZE 50M,

GROUP 2 '/oracle/oradata/boss/redo02.log'  SIZE 50M,

GROUP 3 '/oracle/oradata/boss/redo03.log'  SIZE 50M

-- STANDBY LOGFILE

DATAFILE

'/oracle/oradata/boss/system01.dbf',

'/oracle/oradata/boss/undotbs01.dbf',

'/oracle/oradata/boss/sysaux01.dbf',

'/oracle/oradata/boss/users01.dbf',

'/oracle/oradata/boss/example01.dbf'

CHARACTER SET ZHS16GBK

;

2,关闭数据库

SQL>shutdown

3, 备份原有控制文件,删除原有控制文件

备份控制文件

cd /oracle/oradata/boss/

cp control01.ctl control01.ctl.0520

cp control02.ctl control02.ctl.0520

cp control03.ctl control03.ctl.0520

删除控制文件

rm control0*.ctl

4, 创建新的控制文件

$sqlplus /nolog

SQL>conn / as sysdba

SQL>@ oracle/admin/boss/udump/recreate_control.sql

ORACLE instance started.

Total System Global Area  268435456 bytes

Fixed Size                  1218892 bytes

Variable Size              75499188 bytes

Database Buffers          188743680 bytes

Redo Buffers                2973696 bytes

Control file created.

5,使用控制文件恢复

SQL> RECOVER DATABASE USING BACKUP CONTROLFILE

ORA-00279: change 567684 generated at 05/15/2010 00:19:32 needed for thread 1

ORA-00289: suggestion :

/oracle/flash_recovery_area/BOSS/archivelog/2010_05_15/o1_mf_1_3_%u_.arc

ORA-00280: change 567684 for thread 1 is in sequence #3

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

/oracle/oradata/boss/redo01.log

ORA-00310: archived log contains sequence 2; sequence 3 required

ORA-00334: archived log: '/oracle/oradata/boss/redo01.log'

SQL> RECOVER DATABASE USING BACKUP CONTROLFILE

ORA-00279: change 567684 generated at 05/15/2010 00:19:32 needed for thread 1

ORA-00289: suggestion :

/oracle/flash_recovery_area/BOSS/archivelog/2010_05_15/o1_mf_1_3_%u_.arc

ORA-00280: change 567684 for thread 1 is in sequence #3

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

/oracle/oradata/boss/redo02.log

Log applied.

Media recovery complete.

这里恢复要使用redo在线日志,需要逐个尝试,直到介质恢复成功。

6,resetlogs方式启动数据库

SQL> ALTER DATABASE OPEN RESETLOGS;

Database altered

7,恢复临时表空间

SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '/oracle/oradata/boss/temp01.dbf'

2       SIZE 20971520  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;

Tablespace altered.

8,修改参数

SQL> show parameter db_files;

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_files                             integer     200

SQL> alter system set db_files=250 scope=spfile;

System altered.

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

Total System Global Area  268435456 bytes

Fixed Size                  1218892 bytes

Variable Size              75499188 bytes

Database Buffers          188743680 bytes

Redo Buffers                2973696 bytes

Database mounted.

Database opened.

SQL>show parameter db_files

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_files                             integer     250

SQL> exit

至此db_files参数修改工作完成

当然,如果控制文件损坏或丢失,也可以使用这种方法来恢复数据库。

转载于:https://www.cnblogs.com/sopost/archive/2010/09/13/2190084.html

数据库db_files参数增大怎么办相关推荐

  1. 修改oracle数据库内存参数,物理内存扩容,oracle 11g R1数据库相关参数修改

    背景:对主备机的物理内存扩容一倍,内存扩容后,需要修改数据库相关的内存参数,包括数据库层面和操作系统层面.预计对备机扩容一倍内存操作完毕后,修改相关.. 背景: 对主备机的物理内存扩容一倍,内存扩容后 ...

  2. mysql数据库参数配置_MySQL数据库配置参数优化及参数对应的解释

    Mysql参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一次性完成,需要不断的 ...

  3. mysql云数据库 磁盘利用率_云数据库MySQL参数的那些事儿

    MySQL数据库参数是数据库系统运行的关键配置信息,设置不合适的参数值可能会影响业务.本文列举了一些重要参数说明,更多参数详细说明,请参见MySQL官网. 修改敏感参数 若干参数相关说明如下:&quo ...

  4. oracle数据库恢复参数文件位置,Oracle数据库的参数文件备份与恢复

    Oracle数据库的参数文件包含两个文件: 一个是spfile二进制文件名字为spfilesid.ora(其中sid=你数据库的实例名称). 另一个是pfile文本文件的参数文件,名字为initsid ...

  5. 文件管理服务器数据库,Oracle数据库服务器参数文件管理教程

    一.在启动的时候指定参数文件. 在启动数据库的过程中,必须要提供一个准确的初始化参数文件,无论是文本参数文件还是服务器参数文件.在利用Startup命令启动数据库的时候,可以指定其采用的服务器参数文件 ...

  6. 前沿 | VLDB 2019论文解读:阿里巴巴大规模数据库智能参数优化的创新与实践

    一年一度的数据库领域顶级会议VLDB 2019于美国当地时间8月26日-8月30日在洛杉矶召开.在本届大会上,阿里云数据库产品团队多篇论文入选Research Track和Industrial Tra ...

  7. oracle 数据库bak文件怎么打开,Oracle数据库的参数文件备份与恢复

    Oracle数据库的参数文件包含两个文件: 一个是spfile二进制文件名字为spfilesid.ora(其中sid=你数据库的实例名称). 另一个是pfile文本文件的参数文件,名字为initsid ...

  8. 服务器的数据库文件是哪个文件夹,Oracle数据库服务器参数文件管理技巧是什么?...

    在Oracle数据库中,这个初始化参数文件分为两类,分别为文本参数文件与服务器参数文件.他们的内容是相同的,只是所表示的方式不同.在服务器参数文件中,是以二进制的形式保存的.可以利用数据库的命令对他们 ...

  9. mysql log-slave-update_mysql数据库log-slave-updates 参数解释

    Mysql数据库log-slave-updates 参数解释 如果写的不对,还请大家批评指正.谢谢 本文需要验证的疑问: 从库做为其他从库的主库时 log-slave-updates参数是必须要添加的 ...

最新文章

  1. 实战:人脸识别实战项目(源码共享)
  2. des加密解密JAVA与.NET互通实例
  3. 中国金控(00875.HK)获主席兼首席执行官林裕豪增持15.8万股
  4. Hibernate三大组成部分
  5. ORACLE小错误和小技巧
  6. python 命令行 参数_Python命令行参数
  7. 吉林大学计算机学院刘衍衍教授,周柚-吉林大学计算机科学与技术学院
  8. 广西2021各校高考成绩查询入口,2021广西高考成绩查询时间广西高考分数查询入口和查分方式_高三网...
  9. Docker基础教程
  10. 分享 那些经典电影的经典台词
  11. 华硕ASUS路由器AC86U无线掉线解决方法
  12. 【NTL密码算法开源库-概述】
  13. HDU 1997 汉诺塔VII
  14. Mac键盘修改F1-F12为功能键,神器karabiner-elements
  15. IDEA中dbug调试图标解释
  16. 线性代数——向量组的线性相关性
  17. 计算机到未识别网络有个叹号,上网异常:出现黄色感叹号不能上网的两种解决方案...
  18. DAE模型——阅读和理解COLLADA文档(1)
  19. 【谈天说地】巴洛克建筑
  20. WDCP是什么 关于WDCP的详细介绍

热门文章

  1. 贝壳找房挖到AI大牛叶杰平,房产中介转型需要技术,高估值更需要
  2. GitHub免费支持CI/CD了,开发测试部署高度自动化,支持各种语言,网友:第三方凉凉...
  3. 吴恩达的TensorFlow实践课上线,有Python基础就能听,4个月学完
  4. VMWARE 之 ESXI 主机标准安装
  5. Java 访问RabbitMQ
  6. Spring AOP增强(Advice)
  7. 第7件事 产品的5个要素
  8. WebApi跨域的解决方法
  9. 建站篇-用户认证系统-开始
  10. 大话数据结构-栈与队列