1、共享内存
SQL> select distinct name,is_shared from v$mem_pool order by 2;
共享内存池一次性向操作系统申请大片的内存,即内存池在实例运行中需要内存时,可在共享内存池内进行申请或者释放。共享内存池可以在实例的配置文件(dm.ini)进行配置。
达梦数据库的内存结构
MEMORY_TARGET 共享内存的总大小 。0:表示不限制。
Oracle: memory_target=sga+pga
公共池:Memory_pool 157 (减少系统调用)

2、数据缓冲区
数据缓冲区用于缓存使用的数据块,增加逻辑读的次数,提高修改和查询的性能。
参数:BUFFER
参考值:
Oltp:buffer 大小占整个物理内存的40%-60%
Olap:buffer 大小为整个物理内存的60%-80%
数据缓冲区保存的是数据页,其中包括用户更改的数据页和查询时从磁盘读取的数据页。
相关的视图:
Vbufferpool:Vbufferpool:用来记录页面缓冲区结构的信息。 Vbuffer_lru_first:显示所有缓冲区LRU链首页信息。
Vbufferlrulast:LRUVbuffer_lru_last:显示所有缓冲区LRU链末页信息。 Vbuffer_upd_first:显示所有缓冲区update链首页信息。
Vbufferupdlast:update5NormalkeepfastrecyclerollORACLE:RECYCLEkeepDM:recyclekeepOracle:altersystemset....DM:SPSETPARAVALUE(scope,paraname,paravalue);vbuffer_upd_last:显示所有缓冲区update链末页信息。 数据缓冲区的5种类型:Normal 、keep、 fast、 recycle 、roll。 ORACLE: RECYCLE和keep存的表。 DM:recycle和keep 存的是表空间。 修改参数值: Oracle:alter system set .... DM:SP_SET_PARA_VALUE(scope,para_name,para_value); 通过视图vparameter来查看类型
达梦数据库的内存结构DM的参数类型:
Sys/session:动态参数,同时修改内存和配置文件
Read only:在数据库运行状态时,不能修改。
IN FILE:静态参数,修改配置文件,重启服务生效。
Scope:
1:动态参数
2:静态参数。
SQL> Select para_name,para_value from v$dm_ini where para_name=‘BUFFER’;
达梦数据库的内存结构SQL> sp_set_para_value(2,‘BUFFER’,1500);
重启后生效
达梦数据库的内存结构达梦数据库的内存结构BUFFER_POOLS: 缓冲池个数
Max_buffer:缓冲区最大值
达梦数据库的内存结构
3、字典缓冲区
字典缓冲区主要存的一些数据字典信息,如模式信息,表信息,列信息,触发器信息等等。实例在启动的时候,会将部分的数据字典信息加载到字典缓冲区中,并采LRU算法进行字典信息的控制。
DICT_BUF_SIZE
达梦数据库的内存结构

VDICTCACHEITEM:VDICT_CACHE_ITEM:字典缓冲区中字典对象的信息。 VDICT_CAHCE:字典缓冲区的信息.
4、Sql缓冲区
SQL> Select para_name,para_value from v$dm_ini where para_name=‘DICT_BUF_SIZE’;
达梦数据库的内存结构RS_CAN_CACHE:控制结果集缓存
达梦数据库的内存结构

0:禁止重用结果集
1:强制模式:默认缓存所有的结果集
2:手动模式:默认不缓存结果集。
仅当参数RS_CAN_CACHE=1 且USE_PLN_POOL非0的时候,才会缓存结果集。
相关的视图:
VsqlplanVsql_plan:缓冲区中的执行计划信息。 Vsql_history:sql执行历史信息
Vsqltext:sqlVsql_text:sql执行信息。 Vcachesql:缓冲区中SQL语句的信息。

5、重做日志缓冲区
用于存放重做日志的内存缓冲区,为了避免直接对磁盘的io进行读写,对数据库的性能产生影响。
Rlog_buf_size:日志缓冲区的大小 单位:page 大小设置为2的幂。
Rlog_pool_size:最大日志缓冲区的大小 :单位M
达梦数据库的内存结构
机制是:每3秒写一次,或者是当我们提交的时候,commit;
6、排序区
提供数据排序所需要的内存空间,如果内存排序无法完成,把部分排序转到磁盘上,tmp
SORT_BUF_SIZE
达梦数据库的内存结构
7、Hash区
为哈希连接设定的缓冲区,该缓冲区是虚拟缓冲区
HJ_BUF_SIZE
达梦数据库的内存结构

8、SSD缓冲区
SSD缓存即ssd文件作为内存缓存与普通磁盘之间的缓冲层。SSD缓冲区默认是关闭的,启用ssd缓冲,将SSD_BUF_SIZE设置为大于0,并指定SSD_FILE_PAT。
达梦数据库的内存结构

相关文章: