• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

嘻哈小王

欢迎来到我的乐园
  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

oracle--查询oracle比较慢的session和sql

1)查询最慢的sql

select * from (
select parsing_user_id,executions,sorts
command_type,disk_reads,sql_text from v$sqlarea order by disk_reads desc
)where rownum<10

2)查询对应session

select SE.SID,
       SE.SERIAL#,
       PR.SPID,
       SE.USERNAME,
       SE.STATUS,
       SE.TERMINAL,
       SE.PROGRAM,
       SE.MODULE,
       SE.SQL_ADDRESS,
       ST.EVENT,
       ST.P1TEXT,
       SI.PHYSICAL_READS,
       SI.BLOCK_CHANGES
  from v$session se, v$session_wait st, v$sess_io si, v$process pr
 where st.SID = se.SID
   and st.SID = si.SID
   AND SE.PADDR = PR.ADDR
   AND SE.SID > 6
   AND ST.WAIT_TIME = 0
   AND ST.EVENT NOT LIKE '%SQL%'
 ORDER BY PHYSICAL_READS DESC;
SELECT sql_address
  FROM V$SESSION SS, V$SQLTEXT TT
 WHERE SS.SQL_HASH_VALUE = TT.HASH_VALUE
   AND SID = 439;

3)根据sid查找完整sql语句

select sql_text
  from v$sqltext a
 where a.hash_value =
       (select sql_hash_value from v$session b where b.sid = '&sid')
 order by piece asc;

select a.CPU_TIME, --CPU时间 百万分之一(微秒)
       a.OPTIMIZER_MODE, --优化方式
       a.EXECUTIONS, --执行次数
       a.DISK_READS, --读盘次数
       a.SHARABLE_MEM, --占用shared pool的内存多少
       a.BUFFER_GETS, --读取缓冲区的次数
       a.COMMAND_TYPE, --命令类型(3:select,2:insert;6:update;7delete;47:pl/sql程序单元)
       a.SQL_TEXT, --Sql语句
       a.SHARABLE_MEM,
       a.PERSISTENT_MEM,
       a.RUNTIME_MEM,
       a.PARSE_CALLS,
       a.DISK_READS,
       a.DIRECT_WRITES,
       a.CONCURRENCY_WAIT_TIME,
       a.USER_IO_WAIT_TIME
  from SYS.V_$SQLAREA a
 WHERE PARSING_SCHEMA_NAME = 'CHEA_FILL' --表空间
 order by a.CPU_TIME desc;

v$sqltext:存储的是完整的SQL,SQL被分割

v$sqlarea:存储的SQL 和一些相关的信息,比如累计的执行

v$sql:内存共享SQL区域中已经解析的SQL语句。(即时)

posted on 2025-03-21 11:14  琅琊小王  阅读(24)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3