Oracle 性能慢排查脚本
Posted oioele
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 性能慢排查脚本相关的知识,希望对你有一定的参考价值。
查看总消耗时间最多的前100条SQL语句
select * from ( select v.sql_id,v.child_number, v.sql_text,last_load_time,v.PARSING_USER_ID, ROUND(v.ELAPSED_TIME / 1000000 / (CASE WHEN (EXECUTIONS = 0 OR NVL(EXECUTIONS, 1 ) = 1) THEN 1 ELSE EXECUTIONS END), 2) "执行时间\'S\'", v.SQL_FULLTEXT,v.cpu_time,v.disk_reads, rank() over(order by v.elapsed_time desc) elapsed_rank from v$sql v ) a where elapsed_rank <= 100 and last_load_time > to_char(sysdate - 1/24, \'YYYY-MM-DD/HH:MI:SS\') order by "执行时间\'S\'" desc
查询最近一小时内最慢的SQL
select executions, cpu_time/1e6 as cpu_sec, elapsed_time/1e6 as elapsed_sec, round(elapsed_time/sqrt(executions)) as important, v.* from v$sql v where executions > 10 and last_load_time > to_char(sysdate - 1/24, \'YYYY-MM-DD/HH:MI:SS\') order by important desc
查看CPU消耗时间最多的前10条SQL语句
select * from ( select v.sql_id,v.child_number,v.sql_text,v.elapsed_time,v.cpu_time,v.disk_reads,rank() over(order by v.cpu_time desc) elapsed_rank from v$sql v ) a where elapsed_rank <= 10
查看消耗磁盘读取最多的前10条SQL语句
select * from ( select v.sql_id,v.child_number,v.sql_text,v.elapsed_time,v.cpu_time,v.disk_reads,rank() over(order by v.disk_reads desc) elapsed_rank from v$sql v ) a where elapsed_rank <= 10
mysql问题排查与性能优化
MySQL 问题排查都有哪些手段?
- 使用 show processlist 命令查看当前所有连接信息。
- 使用 explain 命令查询 SQL 语句执行计划。
- 开启慢查询日志,查看慢查询的 SQL。
如何做 MySQL 的性能优化?
- 为搜索字段创建索引。
- 避免使用 select *,列出需要查询的字段。
- 垂直分割分表。
- 选择正确的存储引擎。
以上是关于Oracle 性能慢排查脚本的主要内容,如果未能解决你的问题,请参考以下文章