日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle 查询cpu 100%,Oracle 11g中查询CPU占有率高的SQL

發布時間:2025/3/15 数据库 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 查询cpu 100%,Oracle 11g中查询CPU占有率高的SQL 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

oracle版本:oracle11g

背景:今天在Linux中的oracle服務上,運用top命令發現許多進程的CPU占有率是100%。

操作步驟:

以進程PID:7851為例

執行以下語句:

方法一:

(1)通過PID,查得相對應的系統進程對應的session id

select sid from v$session where paddr in (select addr from v$process where spid=7851

得到SID:206

(2)根據所得的會話ID查得sql地址和hash值

select sql_address,sql_hash_value from v$session where sid=206

得到:SQL_ADDRESS:6EC554F4? ? ? SQL_HASH_VALUE:3141392848

(3)根據sql hash值查得sql語句

select sql_text from v$sqltext where hash_value=3141392848

得到SQL語句:INSERT INTO TEST SELECT * FROM SYS.DBA_OBJECTS? ? ? 此SQL語句就是此進程CPU占有率過高的語句了。

方法二:

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 = 7851))

ORDER BY piece ASC

通過此SQL語句可以直接得出:

INSERT INTO TEST SELECT * FROM SYS.DBA_OBJECTS? ? ? 此SQL語句就是此進程CPU占有率過高的語句了。

原文:https://www.cnblogs.com/xiangxiushu/p/13613600.html

總結

以上是生活随笔為你收集整理的oracle 查询cpu 100%,Oracle 11g中查询CPU占有率高的SQL的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。