重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: 查询共享池中占用内存超大的 SQL 语句 [打印本页]

作者: jiawang    时间: 2026-4-8 14:11
标题: 查询共享池中占用内存超大的 SQL 语句
SELECT substr(sql_text,1,100) "Stmt",
       count(*),
       sum(sharable_mem) "Mem",
       sum(users_opening) "Open",
       sum(executions) "Exec"
FROM v$sql
GROUP BY substr(sql_text,1,100)
HAVING sum(sharable_mem) > 1000000
ORDER BY sum(sharable_mem) DESC;

按内存占用量降序排列,用于定位ORA-04031 共享池内存耗尽、硬解析过高、SQL版本过多等性能问题的根源 SQL。
8343569d5ea777576d.png
登录/注册后可看大图