oracle 性能问题分析方法4
适用使用linux命令
1 在linux上执行
top -d 1 -u oracle ,进入后按F,然后选k以cpu使用率排序 ,查看当前cpu使用率高的进程ID
不同linux可能具体命令不同,主要是找到占用cpu比较高的进程.
2 分析正在执行的sql
12345表示进程id
SQL> SELECT sql_text
FROM v$sqltext sqltext
WHERE (sqltext.hash_value, sqltext.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 sess
WHERE sess.paddr = (SELECT addr
FROM v$process proc
WHERE proc.spid = 12345 ))
order by piece;