注册
查询每个会话使用内存大小(DM8达梦数据库)
技术分享/ 文章详情 /

查询每个会话使用内存大小(DM8达梦数据库)

祢真伟大 2024/03/27 1355 2 0

DM8达梦数据库查询每个会话使用内存大小

1 环境介绍

  • 在某些环境数据库内存增长到服务器内存用完,发生OOM事件,可以分析sql会话使用内存大小;

2 查询每个sql会话使用内存大小

-- DROP TABLE T_SQLMEM; -- 创建SQL会话占用内存记录表 CREATE TABLE IF NOT EXISTS T_SQLMEM AS --查询每个会话使用内存大小: SELECT M.CREATOR , S.USER_NAME, S.SQL_TEXT , S.CUR_SQLSTR, M.NAME MEM_NAME , M.TOTAL_SIZE/1024/1024 TOTAL_M, M.DATA_SIZE /1024/1024 DATA_SIZE_M, S.STATE, S.CLNT_IP, S.CLNT_VER, S.CLNT_HOST, S.APPNAME, S.OSNAME, S.RUN_STATUS, S.MSG_STATUS, S.CREATE_TIME, S.LAST_RECV_TIME, S.LAST_SEND_TIME, DATEDIFF(S, LAST_RECV_TIME, SYSDATE) EXECTIME_S, SYSDATE() INS_SYSDATE FROM V$MEM_POOL M, V$SESSIONS S WHERE M.CREATOR = S.THRD_ID ORDER BY TOTAL_M DESC; -- 可以将INSERT 一段SQL 配置到作业,定时监测 INSERT INTO T_SQLMEM SELECT M.CREATOR , S.USER_NAME, S.SQL_TEXT , S.CUR_SQLSTR, M.NAME MEM_NAME , M.TOTAL_SIZE/1024/1024 TOTAL_M, M.DATA_SIZE /1024/1024 DATA_SIZE_M, S.STATE, S.CLNT_IP, S.CLNT_VER, S.CLNT_HOST, S.APPNAME, S.OSNAME, S.RUN_STATUS, S.MSG_STATUS, S.CREATE_TIME, S.LAST_RECV_TIME, S.LAST_SEND_TIME, DATEDIFF(S, LAST_RECV_TIME, SYSDATE) EXECTIME_S, SYSDATE() INS_SYSDATE FROM V$MEM_POOL M, V$SESSIONS S WHERE M.CREATOR = S.THRD_ID ORDER BY TOTAL_M DESC; -- 查询SQL会话占用内存记录表 SELECT * FROM T_SQLMEM ORDER BY TOTAL_M DESC;

3 达梦数据库学习使用列表

达梦数据库学习使用列表 - - 点击跳转

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服