db_files参数限制了数据库数据文件总的个数,datafiles数目达到db_files指定后数据库不能添加新的数据文件,如果需要修改要重新重启数据库

所以这个参数都会有一定的预留,但是如果预先设置太大的话会影响oracle内存的使用

下面采取极端的 200 vs 20000 来做一个简单的比较

首先我们来看其对SGA的影响

db_files=200

SQL> show sga

Total System Global Area  555559728 bytes
Fixed Size                   731952 bytes
Variable Size             385875968 bytes
Database Buffers          167772160 bytes
Redo Buffers                1179648 bytes
SQL> create table b as select * from v$sgastat;

Table created.

SQL> show parameter db_files

NAME                                 TYPE        VALUE
———————————— ———– ————————————————————
db_files                             integer     200

db_files=20000

Total System Global Area 1444753456 bytes
Fixed Size                   733232 bytes
Variable Size            1275068416 bytes
Database Buffers          167772160 bytes
Redo Buffers                1179648 bytes
Database mounted.
Database opened.

SQL> create table e as select * from v$sgastat;

Table created.

SQL> show parameter db_files

NAME                                 TYPE        VALUE
———————————— ———– ————————————————————
db_files                             integer     20000

可以看出shared pool部分20000的db_files比200的db_files多了848M,这个多出来的值不是固定的,和其他参数还有关系,如果在正式环境上会高出更多

我遇到过db_files参数设置为10000比设置为1000要使用2G空间的情况

上面我对v$sgastat做了两次snapshot,现在我们可以看看是哪个component占用了这些空间

SQL>  select b.pool,b.name,b.bytes before,e.bytes after,e.bytes-b.bytes delta from b,e
2   where b.pool=e.pool and b.name=e.name and b.bytes!=e.bytes order by delta desc;

POOL        NAME                           BEFORE      AFTER      DELTA
———– ————————– ———- ———- ———-
shared pool free memory                 300344592  948654528  648309936  – 600M
shared pool Checkpoint queue              2053120  204805120  202752000  –  200M
shared pool FileOpenBlock                 7517528   16440360    8922832
shared pool enqueue                       1833832    4568752    2734920
shared pool enqueue resources              662048    3236424    2574376
shared pool KGK heap                         6904     640600     633696
shared pool fixed allocation callback         560        640         80
shared pool trigger inform                    344        216       -128
shared pool sim memory hea                1274744    1274040       -704
shared pool KQR M PO                       118832      11288    -107544
shared pool KQR L PO                       414720     235544    -179176
shared pool KGLS heap                      898344     390168    -508176
shared pool miscellaneous                30526568   29338032   -1188536
shared pool library cache                 4324488    2925224   -1399264
shared pool sql area                      5029320    1234712   -3794608

15 rows selected.

下面来看看对PGA的影响,PGA中有一部分内存空间是用来存放opened file descriptors,db_files参数设置越高,这部分预留空间越大

db_files=200

SQL> select min(value) from v$sesstat s,v$statname n
2   where s.statistic# = n.statistic# and
3  n.name = ‘session pga memory’
4  /

MIN(VALUE)
———-
118760

db_files=20000

SQL> select min(value) from v$sesstat s,v$statname n
2   where s.statistic# = n.statistic# and
3  n.name = ‘session pga memory’
4  /

MIN(VALUE)
———-
1866088

如果按照1000个process计算的话,PGA的差距大约为1.6G

SQL>  select 1000*(1866088-118760)/power(1024,3) from dual;

1000*(1866088-118760)/POWER(1024,3)
———————————–
1.62732601

所以db_files不要预留太大,否则会大大影响到内存空间的使用

db_files 不要设置的太大,否则影响内存的使用相关推荐

  1. 为什么有些应用程序愿意采用不可靠的UDP,而不愿意采用可靠的TCP?试解释为什么ARP高速缓存每存入一个项目就要设置10~20分钟的超时计时器。这个时间设置的太大或太小会出现什么问题?

    1.为什么有些应用程序愿意采用不可靠的UDP,而不愿意采用可靠的TCP?当接收方收到有差错的UDP用户数据报时,会如何处理? VOIP(Voice over Internet Protocol)即网络 ...

  2. 模型训练遇到数据量太大而导致内存不够问题?今天教你一招

    在比赛和工作中,我们经常会遇到数据量太大而导致内存不够的问题.这里可以细分为两种情况: 情况1:数据太大,无法加载到内存: 情况2:加载数据但训练时内存不够: 针对情况1可以考虑使用Spark或者Da ...

  3. 文件太大导致jvm内存溢出,针对业务实现简易的大文件(txt)拆分执行功能

    在日常完成业务过程中,出现了要在内存中操作很大的txt的需求,文件每行作为一条数据,但是由于数据量很大,不能一次性拉入内存中操作,但是又需要使用hashmap进行去重,于是借鉴hashmap的源码,编 ...

  4. 接口数据量太大,导致内存溢出,解决办法

    通常我们使用接口调用数据总是返回一段我们需要的信息,或者是json 格式信息,通过接收将数据保存到程序当中,再对接收到的数据进行转换成对应的模型格式 .目前遇到的问题是接收的数据量过于巨大,导致完整接 ...

  5. 解决springboot项目部署时视上传视频太大导致的内存溢出问题

    在项目部署时输入命令java -Xms512m -Xmx1024m -jar 项目名.jar

  6. 计算机用户文件内存,win7用户文件夹太大占用大量内存空间怎么清除?

    win7的用户文件夹一般都是储存在C盘当中,时间久了,随着Windows里安装的软件越来越多,就会有越来越多的文件保存在用户文件夹当中,导致运行速度变慢,怎么办呢?有什么方法可以彻底清除用户文件夹?下 ...

  7. 值对于 int32 太大或太小_怎样将视频文件变小却对画质没有太大影响呢?

    不管是我们平时没事儿时喜欢追的电视剧,电影,还是自己拍的视频,我们经常会遇到一个问题,就是视频文件太大,导致想要将好看好玩的视频传到手机上时,上传时间太长,而且有的时候可能上传了一半却又上传失败,导致 ...

  8. 英国电信进军中国市场,难对三大运营商造成太大影响

    英国电信正式在中国获得了电信业务牌照,一些人士认为这将加剧国内的运营商市场的竞争,促进运营商的进一步降价,不过柏颖科技认为由于种种因素的局限,英国电信将难对现有的运营商市场产生太大的影响. 移动通信市 ...

  9. CentOS Linux虚拟机内存耗费太大

    CentOS Linux虚拟机内存耗费太大 在运行虚拟机的时候人们可能会遇到一个问题,就是内存耗费太大,几乎内存一下载就少了几个G 刚刚开机还没有运行虚拟机时: 运行VMware时: 解决方法: 在任 ...

最新文章

  1. 阿里资深算法专家:如何突围大厂算法面试?
  2. 目标跟踪初探(DeepSORT)
  3. RabbitMq简单应用
  4. MySQL高级最左前缀法则
  5. 怎么看linux电脑是不是双核,Linux系统如何判断CPU是双核还是单核
  6. C语言读取txt文档中的数据
  7. html css 走马灯,纯css 实现跑马灯效果
  8. leetcode python3 简单题205. Isomorphic Strings
  9. Jedis问题解决方案大全:No more cluster attempts left
  10. DSA——直接插入排序笔记
  11. SecureCRT连接虚拟机中的Linux系统
  12. javaweb filter
  13. 读书感受 之 《三体》
  14. 如何购买一台云服务器
  15. 起伏激荡的以太网,抱上这条大腿才能乘风破浪
  16. 十九、RTC实时时钟
  17. P4学习笔记(一)初识P4
  18. tekton taskrun资源
  19. 《游戏设计艺术(第2版)》——学习笔记(8)第8章 游戏通过迭代提高
  20. 电脑双网卡共享给其他电脑上网的方法

热门文章

  1. linux中查看用户组标识符,Linux用户和组管理
  2. 树形结构:从二分查找,二叉搜索树寻找最近祖先,从递归到迭代,实现技巧总结
  3. transient-java 关键字
  4. 【2017-04--28】Winform中ListView控件
  5. Android Json解析与总结
  6. Linux动态库应用
  7. 八皇后问题 回溯方法
  8. 文本域字数限制统计(不区分中英文 符号)
  9. u-boot移植重要问题说明
  10. u-boot命令解释