注册
DM数据库内存管理
培训园地/ 文章详情 /

DM数据库内存管理

丫呼呼 2022/11/16 1170 0 0

一、内存结构

1.数据缓冲区

normal:普通数据页,缓冲区满时淘汰,参数BUFFER;
fast:数据页、回滚页,常驻缓冲区,参数FAST_POOL_PAGES;
Recycle:临时表数据页,正常删除,参数RECYCLE;
keep:普通数据页,很少淘汰,参数KEEP;
与Oracle区别,能在表空间级别设置,不能在表级别设置;
查询参数值:select name,value,sys_value,file_value,description
from v$parameter
where name in ('BUFFER','FAST_POOL_PAGES','RECYCLE','KEEP');
    查询数据页大小:
select page;
    查询缓冲区使用情况:
select * from v$bufferpool;

2.重做日志缓冲

保留重做日志的内存区域
检查点控制刷脏,查询检查点参数配置
select name,value,sys_value,file_value,description
from v$parameter
where name like 'CKPT%';
  参数RLOG_BUF_SIZE

3.SQL缓冲区

用来保存SQL执行计划,package包,SQL结果集
参数SQL_CACHE_POOL
    结果集缓存参数RS_CAN_CACHE
    执行计划缓存参数USE_PLN_POOL

4.字典缓冲区

用来缓存数据库字典表
参数DICT_BUF_SIZE

5.共享内存池与运行内存池

共享内存池:数据库启动后,自动分配的内存,称为主内存池
运行内存池:用完后释放内存
select name,value,sys_value,file_value,description
from v$parameter
where name like 'MEM%';
    排序区:SORT_BUF_SIZE
    Hash区:HJ_BUF_SIZE

二、线程结构

1.监听线程
2.IO线程
3.日志刷新线程
4.日志归档线程
5.日志重做线程
6.调度线程
7.工作线程
查看工作线程:
ps -ef|grep dmserver
ps -T -p pid(dmserver)
查看当前会话的sess_id
select sessid;
查看会话信息:
v$session
查看线程资源占用情况:
top -H -p pid(dmserver)
长SQL监控:
select * from sys.v$long_exec_sqls
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服