Oracle 死锁与慢查询总结

打印 上一主题 下一主题

主题 891|帖子 891|积分 2675

查看死锁
  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用户名称,大写
复制代码
说明:

  • 如果lockwait值不为空(形如0000001F83D6C748),并且status为ACTIVE,则说明存在死锁
  • event  最近等待或正在等待的资源/事件:

    • enq: TX - row lock contention :按模式6等待TX:当会话等待另一个会话已持有的行级锁时发生该事件,即某个用户正在更新、删除另一个会话希望更新、删除的行时,会发生这种情况。这种类型的TX排队等待对应于等待事件 enq:TX - row lock contention。
      解决方案:已经持有锁的第一个会话执行提交或回

查看慢查询

查询执行最慢的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
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南七星之家

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表