DM体系结构(内存结构)

目录

内存结构

内存池

缓冲区(简介)

通过视图查询


内存结构

内存池

首先启动数据库服务时会向操作系统申请一大片内存池。将池子分为共享内存池和运行时内存池。

共享内存池:一大片内存组成,当DM数据库需要申请小片内存时就会从这里申请。使用完再还回。

运行时内存池:数据库服务的一些功能模块需要使用的。

缓冲区(简介)

  1. 数据缓冲区:将数据页加载到内存时,存放的地方,包括要刷盘的脏页等都放在此
  2. 日志缓冲区:redo log使用
  3. 字典缓冲区:数据字典使用,加载一部分数据字典的内容存到内存,存放到这里
  4. sql缓冲区:执行sql时需要使用的内存,包括生成的执行计划,都存放在这里。
  5. 排序区:执行sql排序时使用
  6. 哈希区:哈希连接时使用

通过视图查询

1.share pool

该参数是整个共享内存的大小;通过参数memory_pool控制

select name,VALUE,DESCRIPTION from v$parameter where name='MEMORY_POOL';

select PARA_NAME,PARA_VALUE,DESCRIPTION ,PARA_TYPE from v$dm_ini where PARA_NAME like '%MEMORY_%'; 

select PARA_TYPE,count(1) from v$dm_ini group by PARA_TYPE; 

从以上结果可以看出DM内存管理也有类似内存自动管理(memory_target)

参数属性分为三种:动态,静态和手动

静态:可以被动态修改,修改后重启服务器才可生效

动态:可以被动态修改,修改后即时生效。动态参数又分为会话级和系统级两种。会话级参数被修改后,新的参数值只h会影响新创建的会话,之前的会话不会受影响。系统级参数的修改会影响所有会话。

手动:不能被动态修改,必须手动修改dm.ini参数文件,然后胡重启才能生效。

2.Buffer缓冲区

在DM数据库,buffer缓冲分为4种,分别为:

2.1.normal缓冲区

对应ini参数是buffer

2.2.keep缓冲区

常驻的数据都放在keep数据页中,对应的ini参数就是keep

2.3.recycle缓冲区

高并发系统、使用with as较多,临时数据较多,需要将这个recycle数据页所占用的内存值调大,对应ini的参数是recycle

所有的页大小在初始化实例时都已经设定好了,现在使用ini参数修改的是缓冲区内存大小。

2.4.fast缓冲区

fast包含数据页和回滚页,常驻缓冲区,这两者都是由系统自动管理,无需用户干涉。对应的ini参数是fast_pool_pages和fast_roll_pages ,代表fast缓冲区的大小为多少个数据页。

select name,PAGE_SIZE,sum(N_TOTAL_PAGES),sum(FREE) from v$bufferpool group by name,page_size;

3.sql缓冲区

通过cache_pool_size参数来进行大小定义

可以缓存执行过的sql,sql执行计划等。极大避免硬解析,同时还能缓存ssql执行的结果集。

select * from v$dm_ini where para_NAME = 'CACHE_POOL_SIZE';

4.字典缓存

select PARA_NAME,PARA_VALUE,DESCRIPTION from v$dm_ini where PARA_NAME='DICT_BUF_SIZE';

DM数据库中通过dict_buf_size参数来进行控制。数据库对像比如表,索引,视图,序列,同义词,触发器,存储过程的信息都缓存在数据字典缓冲区中。

通过v$dict_cache内存视图l来查看该内存结构的使用情况

select * from v$dict_cache;

5.日志缓冲区(log buffer)

v$rlogfile视图

通过rlog_size 来定义日志缓冲区的内存大小。

v$rlog视图

用来查询日志的总体信息。包括当前日志的检查点LSN,文件LSN等

达梦数据库的REDO日志文件是有最小大小限制的,最小大小为:4096 * 页大小,当前数据库的页大小可以通过如下语句查看:

select para_name,para_value from v$dm_ini where para_name = 'GLOBAL_PAGE_SIZE';

 达梦云适配技术社区
https://eco.dameng.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值