Skip to content

适用虚谷数据库版本

v12.10.8



适用虚谷数据库版本

v12.10.8


数据缓冲区内存(data_buff_mem)

📄字数 713
👁️阅读量 加载中...

引入版本

v11.0.0

功能描述

系统预分配的用于数据页缓存的总内存大小(单位:MB)。

参数属性

属性属性值
参数类型INTEGER
默认值256
取值范围[8, 2147483647]
影响范围系统级
修改方式离线修改,重启生效

使用场景说明

  1. 该参数用于控制系统与数据表空间文件进行数据交换的总内存大小,其采用页的形式进行管理维护,其页大小固定为 8KB,是数据库进程与数据表空间物理存储介质之间的最小读写单元。
  2. 数据缓冲区内存(data_buff_mem)在系统初始化时完成预分配,当其资源紧张时,系统会阻塞申请分配数据缓冲区内存的任务线程(线程状态变为3),直到被阻塞的任务线程分配到资源。
  3. 该参数一般建议配置为主机实际物理内存的 60%。
  4. 支持访问系统变量 MEM_STATUS 或系统虚表 SYSDBA.SYS_ALL_MEM_STATUS 查看数据库节点上的数据缓冲区总内存量/页大小/空闲页数量/脏页数量等信息。

注意

  1. 数据表空间文件采用随机 IO 方式进行数据落盘。
  2. 在设计上为了更好的发挥数据库的并行处理能力,采用分组设计对数据缓冲区内存进行分组管理,相关参数 cata_parti_num
  3. 系统内部有专门的线程(线程类型 = 4)负责维护数据缓冲区内存,每当检测到空闲的数据缓冲区内存页数量达到警戒线时,系统会尝试从 SGA 内存中借用(需要 ena_share_sga 设置为true)内存并进行补充,若借用失败,则会主动尝试对数据缓冲区内存进行 LRU 淘汰。

示例

sql
-- 离线修改 data_buff_mem
编辑 xugu.ini 修改 data_buff_mem,重启数据库服务后生效。

-- 在线查看 data_buff_mem
SQL> SHOW data_buff_mem;