ToB企服应用市场:ToB评测及商务社交产业平台

标题: Oracle 死锁与慢查询总结 [打印本页]

作者: 莫张周刘王    时间: 2023-5-28 23:07
标题: Oracle 死锁与慢查询总结
查看死锁
  1. SELECT
  2. s.sid "会话ID",
  3. s.lockwait "等待锁",
  4. s.event "等待的资源/事件",  -- 最近等待或正在等待的资源/事件
  5. DECODE(lo.locked_mode, 0, '尚未获得锁', 1, NULL, 2, '行共享锁', 3, '行排它锁', 4, '共享表锁',
  6. 5,'共享行排它锁',6, '排它表锁') "锁模式",
  7. do.object_name "被锁对象",
  8. s.status "会话状态",
  9. sq.SQL_TEXT,
  10. sq.SQL_FULLTEXT,
  11. sq.executions "SQL执行次数",
  12. ROUND(sq.elapsed_time/1000000, 2) "SQL执行时间(秒)",
  13. DECODE(sq.executions,0,'-',NULL,'-',ROUND(sq.elapsed_time/1000000/sq.executions, 2)) "SQL平均执行时间(秒)",
  14. DECODE(sq.executions,0,'-',NULL,'-',ROUND(sq.rows_processed/sq.executions, 2)) "平均返回行数",
  15. s.sql_exec_start "SQL开始执行时间",
  16. sq.last_active_time "查询计划最后活跃时间",
  17. lo.process "操作系统进程ID",
  18. s.port "进程端口号",
  19. s.program "进程名称",
  20. lo.os_user_name "操作系统用户名",
  21. s.machine "操作系统机器名称",
  22. 'ALTER SYSTEM KILL SESSSION '''||s.sid||','||s.serial#||''';' "终止会话操作"
  23. FROM v$sql sq
  24. JOIN v$session s on s.sql_hash_value = sq.hash_value
  25. JOIN v$locked_object lo on lo.session_id = s.sid
  26. JOIN dba_objects do on do.object_id = lo.object_id
  27. WHERE s.username='OPT_WMS_USER' ; -- Oracle用户名称,大写
复制代码
说明:
查看慢查询

查询执行最慢的SQL
[code]SELECT * FROM (  SELECT s.sql_text,  --s.sql_fulltext, 注释掉该列,可以加快查询速度(如果需要查询完整sql文本,可以考虑通过sql_id二次查询)  s.sql_id,  s.executions "执行次数",  ROUND(s.elapsed_time / 1000000, 2) "总执行时间(秒)",  ROUND(s.elapsed_time / 1000000 / s.executions, 2) "平均执行时间", --单位:秒  s.first_load_time "父游标创建时间",  s.parsing_user_id "用户id",  u.username "用户名"  FROM v$sqlarea s  LEFT JOIN all_users u ON s.parsing_user_id = u.user_id  WHERE s.executions > 0  AND u.username = 'OPT_WMS_USER' --注意 用户名大写  ORDER BY 平均执行时间 DESC)WHERE rownum




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4