linux的oracle的cpu过高分析
2016-03-30 08:30
656 查看
根据linux的oracle进程号查询正在执行的sql
SELECT
sql_text
FROM v$sqltext a
WHERE (a.hash_value, a.address) IN
(SELECT DECODE(sql_hash_value, 0, prev_hash_value, sql_hash_value),
DECODE(sql_hash_value, 0, prev_sql_addr, sql_address)
FROM v$session b
WHERE b.paddr =
(SELECT addr FROM v$process c WHERE c.spid = '&pid'))
ORDER BY piece ASC
获取耗时的前10条sql
select *
from (select v.sql_id,
v.child_number,
v.sql_fulltext,
v.elapsed_time,
v.cpu_time,
v.disk_reads,
rank() over(order by v.elapsed_time desc) elapsed_rank
from v$sql v) a
where elapsed_rank <= 10
ORDER BY cpu_time desc;
sql执行计划
EXPLAIN PLAN FOR select questionid,mark from zeanswerdetail where username=:1 and paperid =:2 and questionid=:3 and answerid=:4 ;
select * from table(DBMS_XPLAN.DISPLAY);
SELECT
sql_text
FROM v$sqltext a
WHERE (a.hash_value, a.address) IN
(SELECT DECODE(sql_hash_value, 0, prev_hash_value, sql_hash_value),
DECODE(sql_hash_value, 0, prev_sql_addr, sql_address)
FROM v$session b
WHERE b.paddr =
(SELECT addr FROM v$process c WHERE c.spid = '&pid'))
ORDER BY piece ASC
获取耗时的前10条sql
select *
from (select v.sql_id,
v.child_number,
v.sql_fulltext,
v.elapsed_time,
v.cpu_time,
v.disk_reads,
rank() over(order by v.elapsed_time desc) elapsed_rank
from v$sql v) a
where elapsed_rank <= 10
ORDER BY cpu_time desc;
sql执行计划
EXPLAIN PLAN FOR select questionid,mark from zeanswerdetail where username=:1 and paperid =:2 and questionid=:3 and answerid=:4 ;
select * from table(DBMS_XPLAN.DISPLAY);
相关文章推荐
- Oracle学习(七)----查询Top—N问题 & 相关子查询
- oracle 层次查询判断叶子和根节点
- PowerDesigner oracle 反向工程到cdm文件
- Oracle 排序中使用nulls first 或者nulls last 语法
- Oracle数据的导出与导入
- oracle 远程连接超时问题
- Oracle自定义聚集函数
- oracle数据库的备份与恢复
- 关于oracle分组后组外排序的问题
- Oracle 数据库类型和java 类型以及jdbc类型对照
- 40.Oracle深度学习笔记——全库备份常用
- 39.Oracle深度学习笔记——自动创建ASM UDEV设备脚本
- 38.Oracle深度学习笔记——OS下关闭连接进程脚本
- Oracle学习(六)----子查询
- Oracle SQL 经典查询练手第二篇
- Oracle 常见的SQL调优
- asp.net用npoi读取ecxel数据到oracle表
- 验证ORACLE不同字符集中汉字占用的byte及NLS_LENGTH_SEMANTICS参数的影响
- oracle中的char、varchar、varchar2、nvarchar、nvarchar2区别
- oracle聚簇表