10g中佔用CPU很高異常oracle程式分析
在AIX 5.3平臺下oracle 10.2.0.3測試環境中,經常發現某些oracle程式佔用很大的CPU資源,但這些程式並不存在v$session中,具體發現指令碼如下:
SQL>select spid, pid, program from v$process
where addr not in (select paddr from v$session)
SPID PID PROGRAM
------------ ------------------------------------------------
1962208 18 xxxxx@xxxx (TNS V1-V3)
2039826 49 xxxxx@xxxx (TNS V1-V3)
檢視系統中發現該程式佔用CPU比例很高,每個程式消耗CPU大約20%資源。
以下是該問題的具體分析:
SQL> alter session set events ' immediate trace name systemstate level 266'
或者
SQL>oradebug setospid 1962208
SQL>oradebug short_stack
查詢對應的 PROCESS 18,具體資訊如下:
Short stack dump: ksdxfstk+002c
Dump of memory from 0x070000009E5EF668 to 0x070000009E5EF870
................................
Repeat 29 times
----------------------------------------
SO: 70000009ea7aef8, type: 3, owner: 70000009e6322a0, flag: INIT/-/-/0x00
(call) sess: cur 0, rec 0, usr 0; depth: 0
----------------------------------------
SO: 7000000941eced0, type: 16, owner: 70000009e6322a0, flag: INIT/-/-/0x00
(osp req holder)
short stack分析:
start ->main->opimai_real->sou2o->opidrv->ipiodrv->opiino->ksucrp
->kscnfy->ktsmg_register_tac+0074->sspuser ..........
sspuser()功能是給oradebug 請求的程式碼路徑,所以我們關注ktsmg_register_tac,通過metalink查詢,發現BUG:6084108與我們所發現的問題非常相似,在10.2.0.4解決該bug。
附錄:
其BUG:6084108具體問題描述:
SQL>select spid, pid, program from v$process
where addr not in (select paddr from v$session)
SPID PID PROGRAM
------------ ------------------------------------------------
1962208 18 xxxxx@xxxx (TNS V1-V3)
2039826 49 xxxxx@xxxx (TNS V1-V3)
檢視系統中發現該程式佔用CPU比例很高,每個程式消耗CPU大約20%資源。
以下是該問題的具體分析:
SQL> alter session set events ' immediate trace name systemstate level 266'
或者
SQL>oradebug setospid 1962208
SQL>oradebug short_stack
查詢對應的 PROCESS 18,具體資訊如下:
Short stack dump: ksdxfstk+002c
Dump of memory from 0x070000009E5EF668 to 0x070000009E5EF870
................................
Repeat 29 times
----------------------------------------
SO: 70000009ea7aef8, type: 3, owner: 70000009e6322a0, flag: INIT/-/-/0x00
(call) sess: cur 0, rec 0, usr 0; depth: 0
----------------------------------------
SO: 7000000941eced0, type: 16, owner: 70000009e6322a0, flag: INIT/-/-/0x00
(osp req holder)
short stack分析:
start ->main->opimai_real->sou2o->opidrv->ipiodrv->opiino->ksucrp
->kscnfy->ktsmg_register_tac+0074->sspuser ..........
sspuser()功能是給oradebug 請求的程式碼路徑,所以我們關注ktsmg_register_tac,通過metalink查詢,發現BUG:6084108與我們所發現的問題非常相似,在10.2.0.4解決該bug。
附錄:
其BUG:6084108具體問題描述:
PROBLEM:
--------
Intermittently, oracle process abnormally terminates due to ora-3115, then
consumed one cpu 100%. There was no v$session info so could not get session
information to track down the root cause.
STACK TRACE:
------------
ktsmg_register_tac 0074 kscnfy ksucrp opiino opiodr opidrv sou2o opimai_real
main
暫時解決辦法,用作業系統命令kill -9 刪除以上程式。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/354732/viewspace-609745/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java程式佔用cpu異常升高Java
- 查詢操作佔用cpu很高語句
- ORACLE程式佔用CPU情況分析(轉載)Oracle
- mac的cpu某段時間佔用很高Mac
- Oracle JOB異常中斷原因分析Oracle
- 異常程式導致大量資源佔用
- 程式佔用cpu排序排序
- win10系統explorer佔用cpu很高的解決方法Win10
- win10系統下Conhost.exe程式佔用cpu率很高如何解決Win10
- 監控某程式記憶體佔用異常記憶體
- ORACLE CPU佔率高的程式Oracle
- tomcat埠被佔用異常Tomcat
- win10系統中.NET Runtime Optimization Service佔用CPU使用率很高怎麼辦Win10
- Oracle的home目錄空間佔用異常處理Oracle
- Oracle資料庫經常會遇到CPU利用率很高的情況Oracle資料庫
- Win10系統chrome瀏覽器佔用CPU很高的解決方法Win10Chrome瀏覽器
- Oracle中RAISE異常OracleAI
- 如何在 Linux 中找出 CPU 佔用高的程式Linux
- oracle 11g vktm程式佔用CPU高 【轉載】Oracle
- Win10系統cpu佔有率很高的解決方法Win10
- ORACLE中的異常(轉)Oracle
- Linux 查詢佔用磁碟IO讀寫很高的程式方法Linux
- C#獲取CPU佔用率、記憶體佔用、磁碟佔用、程式資訊C#記憶體
- svchost.exe佔用很高的記憶體記憶體
- 第十四篇:回射程式中的異常分析
- crontab導致CPU異常的問題分析及處理
- 系統cpu佔用超高故障分析一例
- sqlplus命令無響應,cpu佔用率很高的問題處理SQL
- 訪問ASM的ONNN程式佔用大量CPUASM
- oracle 異常Oracle
- Node.js 應用高 CPU 佔用率的分析方法Node.js
- oracle異常捕獲程式碼(轉)Oracle
- Flutter 常見異常分析Flutter
- Java中的CPU佔用高和記憶體佔用高的問題排查Java記憶體
- 日誌異常,IO,CPU的檢查
- cpu故障現象分析 CPU常見故障案例
- Dubbo Hession反序列化導致CPU佔用飆高用例分析
- 異常等待事件Resmgr:Cpu Quantum導致CPU利用率高事件