达梦数据库的内存结构

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

2、数据缓冲区
数据缓冲区用于缓存使用的数据块,增加逻辑读的次数,提高修改和查询的性能。
参数:BUFFER
参考值:
Oltp:buffer 大小占整个物理内存的40%-60%
Olap:buffer 大小为整个物理内存的60%-80%
数据缓冲区保存的是数据页,其中包括用户更改的数据页和查询时从磁盘读取的数据页。
相关的视图:
V b u f f e r p o o l : 用 来 记 录 页 面 缓 冲 区 结 构 的 信 息 。 V bufferpool:用来记录页面缓冲区结构的信息。 V bufferpool:Vbuffer_lru_first:显示所有缓冲区LRU链首页信息。
V b u f f e r l r u l a s t : 显 示 所 有 缓 冲 区 L R U 链 末 页 信 息 。 V buffer_lru_last:显示所有缓冲区LRU链末页信息。 V bufferlrulast:LRUVbuffer_upd_first:显示所有缓冲区update链首页信息。
V b u f f e r u p d l a s t : 显 示 所 有 缓 冲 区 u p d a t e 链 末 页 信 息 。 数 据 缓 冲 区 的 5 种 类 型 : N o r m a l 、 k e e p 、 f a s t 、 r e c y c l e 、 r o l l 。 O R A C L E : R E C Y C L E 和 k e e p 存 的 表 。 D M : r e c y c l e 和 k e e p 存 的 是 表 空 间 。 修 改 参 数 值 : O r a c l e : a l t e r s y s t e m s e t . . . . D M : S P S E T P A R A V A L U E ( s c o p e , p a r a n a m e , p a r a v a l u e ) ; 通 过 视 图 v buffer_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); 通过视图v bufferupdlast:update5NormalkeepfastrecyclerollORACLE:RECYCLEkeepDM:recyclekeepOracle:altersystemset....DM:SPSETPARAVALUE(scope,paraname,paravalue);vparameter来查看类型
达梦数据库的内存结构_第2张图片DM的参数类型:
Sys/session:动态参数,同时修改内存和配置文件
Read only:在数据库运行状态时,不能修改。
IN FILE:静态参数,修改配置文件,重启服务生效。
Scope:
1:动态参数
2:静态参数。
SQL> Select para_name,para_value from v$dm_ini where para_name=‘BUFFER’;
达梦数据库的内存结构_第3张图片SQL> sp_set_para_value(2,‘BUFFER’,1500);
重启后生效
达梦数据库的内存结构_第4张图片达梦数据库的内存结构_第5张图片BUFFER_POOLS: 缓冲池个数
Max_buffer:缓冲区最大值
达梦数据库的内存结构_第6张图片
3、字典缓冲区
字典缓冲区主要存的一些数据字典信息,如模式信息,表信息,列信息,触发器信息等等。实例在启动的时候,会将部分的数据字典信息加载到字典缓冲区中,并采LRU算法进行字典信息的控制。
DICT_BUF_SIZE
达梦数据库的内存结构_第7张图片

V D I C T C A C H E I T E M : 字 典 缓 冲 区 中 字 典 对 象 的 信 息 。 V DICT_CACHE_ITEM:字典缓冲区中字典对象的信息。 V DICTCACHEITEM:VDICT_CAHCE:字典缓冲区的信息.
4、Sql缓冲区
SQL> Select para_name,para_value from v$dm_ini where para_name=‘DICT_BUF_SIZE’;
达梦数据库的内存结构_第8张图片RS_CAN_CACHE:控制结果集缓存
达梦数据库的内存结构_第9张图片

0:禁止重用结果集
1:强制模式:默认缓存所有的结果集
2:手动模式:默认不缓存结果集。
仅当参数RS_CAN_CACHE=1 且USE_PLN_POOL非0的时候,才会缓存结果集。
相关的视图:
V s q l p l a n : 缓 冲 区 中 的 执 行 计 划 信 息 。 V sql_plan:缓冲区中的执行计划信息。 V sqlplanVsql_history:sql执行历史信息
V s q l t e x t : s q l 执 行 信 息 。 V sql_text:sql执行信息。 V sqltext:sqlVcachesql:缓冲区中SQL语句的信息。

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

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

你可能感兴趣的:(达梦数据库的内存结构)