注册
linux/RHEL/银河麒麟 达梦会话进程占用过高的排查方法
培训园地/ 文章详情 /

linux/RHEL/银河麒麟 达梦会话进程占用过高的排查方法

影中之月 2023/05/19 2170 0 0

通过监控发现达梦数据库内存占用过高的时候,可以根据如下方法进行排查

  1. 登陆服务器 使用top -H -p 进程号(PID)查询目前该进程内哪些线程占用较高

  2. 通过 ps -T -p 进程号 查询线程 ps -ef |grep DM 查询进程号

  3. 找到占用较高的线程后,登陆数据库执行命令select * from SYS."V$SESSIONS" t where t.THRD_ID=线程号。 可以看到实际执行的sql是什么,sessionID是什么,辅助检查内存占用过高的原因。

  4. 或者从 sqlhistory里面查询历史sql

select * from SYS."V$SQL_HISTORY" t where t.sess_id=sessionid;

  1. 通过动态视图通过执行时间查慢sql 慢的排前面
    select * from SYS."V$SQL_HISTORY" t order by t.TIME_USED desc;

直接查询

select * from "SYS"."V$LONG_EXEC_SQLS";

6.如果会话找不到,无法提交或者取消,使得造成表锁的情况 可以通过关闭会话的方式关闭会话 解锁表

sp_close_session(sess_id);

7.也可以select * from sys.sysobjects t where id= 1069; --查询被锁的表

通过上述方式可以排查项目内sql执行导致的性能问题

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服