Oracle 11g 資料庫伺服器CPU、IO負載高的故障排除流程
使用top檢視負載高的程式
~ [OSMSRDB]$ top
top - 11:02:43 up 12 days, 17:15, 4 users, load average: 1.50, 0.93, 0.36
Tasks: 363 total, 1 running, 362 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.2%us, 0.3%sy, 0.0%ni, 68.4%id, 30.1%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 10129680k total, 7539812k used, 2589868k free, 478612k buffers
Swap: 4194300k total, 0k used, 4194300k free, 5973136k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
22584 ora112 -2 0 837m 16m 14m S 100.0 3.7 74:09.62 oracle
3274 ora112 -2 0 837m 16m 14m S 1.0 0.2 211:11.85 oracle
6147 ora112 -2 0 837m 16m 14m S 1.0 0.2 19:25.63 oracle
7787 ora112 -2 0 837m 16m 14m S 1.0 0.2 62:43.66 oracle
10696 ora112 -2 0 2251m 16m 14m S 1.0 0.2 190:34.75 oracle
17198 ora112 -2 0 837m 16m 14m S 1.0 0.2 60:53.89 oracle
1874 root 20 0 13584 740 576 S 0.3 0.0 1:11.80 lldpad
3323 ora112 20 0 837m 18m 16m S 0.3 0.2 21:49.55 oracle
使用 PS 檢視程式的資訊
~ [OSMSRDB]$ ps -ef|grep 22584
ora112 15567 16186 0 11:06 pts/1 00:00:00 grep 22584
ora112 22584 1 1 Sep19 ? 01:14:13 ora_vktm_OSMSRDB
登陸資料庫,檢視等待事件
SELECT * FROM V$SESSION_WAIT WHERE WAIT_CLASS <> 'Idle' ORDER BY SECONDS_IN_WAIT DESC;
檢視資料庫正在執行的SQL,發現一直在執行的是DBMS_SCHEDULER模組,job名是OSMSR_OPERATION_DURATION
select s.SID,s.SERIAL#,MACHINE,TERMINAL, OSUSER, SCHEMANAME, PROGRAM,MODULE,ACTION,CLIENT_INFO,
decode(s.COMMAND,3,'SELECT',s.COMMAND) COMMAND,STATUS,SQL_ID,SQL_ADDRESS,SQL_EXEC_START,
DECODE(STATUS,'ACTIVE',LAST_CALL_ET,NULL) "SQL執行時間",EVENT,STATE,SECONDS_IN_WAIT,SERVICE_NAME
from V$SESSION s where s.USERNAME is not null AND WAIT_CLASS <> 'Idle';
檢視job
select job_name,state from dba_scheduler_jobs where state= 'RUNNING';
停止job
SQL> BEGIN
DBMS_SCHEDULER.STOP_JOB('OSMSR_OPERATION_DURATION');
END; 2 3
4 /
PL/SQL procedure successfully completed.
SQL> select job_name,state from dba_scheduler_jobs where state= 'RUNNING';
no rows selected
~ [OSMSRDB]$ top
top - 11:02:43 up 12 days, 17:15, 4 users, load average: 1.50, 0.93, 0.36
Tasks: 363 total, 1 running, 362 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.2%us, 0.3%sy, 0.0%ni, 68.4%id, 30.1%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 10129680k total, 7539812k used, 2589868k free, 478612k buffers
Swap: 4194300k total, 0k used, 4194300k free, 5973136k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
22584 ora112 -2 0 837m 16m 14m S 100.0 3.7 74:09.62 oracle
3274 ora112 -2 0 837m 16m 14m S 1.0 0.2 211:11.85 oracle
6147 ora112 -2 0 837m 16m 14m S 1.0 0.2 19:25.63 oracle
7787 ora112 -2 0 837m 16m 14m S 1.0 0.2 62:43.66 oracle
10696 ora112 -2 0 2251m 16m 14m S 1.0 0.2 190:34.75 oracle
17198 ora112 -2 0 837m 16m 14m S 1.0 0.2 60:53.89 oracle
1874 root 20 0 13584 740 576 S 0.3 0.0 1:11.80 lldpad
3323 ora112 20 0 837m 18m 16m S 0.3 0.2 21:49.55 oracle
使用 PS 檢視程式的資訊
~ [OSMSRDB]$ ps -ef|grep 22584
ora112 15567 16186 0 11:06 pts/1 00:00:00 grep 22584
ora112 22584 1 1 Sep19 ? 01:14:13 ora_vktm_OSMSRDB
登陸資料庫,檢視等待事件
SELECT * FROM V$SESSION_WAIT WHERE WAIT_CLASS <> 'Idle' ORDER BY SECONDS_IN_WAIT DESC;
檢視資料庫正在執行的SQL,發現一直在執行的是DBMS_SCHEDULER模組,job名是OSMSR_OPERATION_DURATION
select s.SID,s.SERIAL#,MACHINE,TERMINAL, OSUSER, SCHEMANAME, PROGRAM,MODULE,ACTION,CLIENT_INFO,
decode(s.COMMAND,3,'SELECT',s.COMMAND) COMMAND,STATUS,SQL_ID,SQL_ADDRESS,SQL_EXEC_START,
DECODE(STATUS,'ACTIVE',LAST_CALL_ET,NULL) "SQL執行時間",EVENT,STATE,SECONDS_IN_WAIT,SERVICE_NAME
from V$SESSION s where s.USERNAME is not null AND WAIT_CLASS <> 'Idle';
檢視job
select job_name,state from dba_scheduler_jobs where state= 'RUNNING';
停止job
SQL> BEGIN
DBMS_SCHEDULER.STOP_JOB('OSMSR_OPERATION_DURATION');
END; 2 3
4 /
PL/SQL procedure successfully completed.
SQL> select job_name,state from dba_scheduler_jobs where state= 'RUNNING';
no rows selected
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-2125355/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【故障公告】資料庫伺服器 CPU 100% 造成全站故障資料庫伺服器
- 【故障公告】資料庫伺服器 CPU 100% 引發全站故障資料庫伺服器
- 【故障公告】資料庫伺服器再次 CPU 100% 引發全站故障資料庫伺服器
- 【故障公告】資料庫伺服器 CPU 100% 引發網站故障資料庫伺服器網站
- oracle資料庫CPU特別高的解決方法Oracle資料庫
- ORACLE 資料庫11.2.0.4 單例項伺服器IO等待高問題分析Oracle資料庫單例伺服器
- 【故障公告】資料庫伺服器今年第七次 CPU 100% 故障資料庫伺服器
- 【故障公告】資料庫伺服器今年第六次 CPU 100% 故障資料庫伺服器
- 【故障公告】訪問高峰資料庫伺服器 CPU 100% 引發全站故障資料庫伺服器
- 故障分析 | 大量短時程式導致 cpu 負載過高案例一則負載
- 解決Oracle資料庫遷移後的伺服器負載效能問題JSOracle資料庫伺服器負載JS
- CPU使用率低負載高負載
- mysql資料庫磁碟io高的排查MySql資料庫
- cpu負載是什麼意思 電腦cpu負載過高怎麼處理解決負載
- 確保Oracle 11g R2資料庫高可用性WQOracle資料庫
- 11G oracle資料庫重新啟動crsOracle資料庫
- 靜默安裝Oracle資料庫11gOracle資料庫
- Oracle 11g用impdp還原資料庫Oracle資料庫
- oracle 11g 單例項資料庫的安裝Oracle單例資料庫
- 資料庫資料恢復-ORACLE資料庫的常見故障&各種故障下的資料恢復可能性資料庫資料恢復Oracle
- 磁碟IO故障導致的SQLServer資料庫無法寫入SQLServer資料庫
- 資料庫高io問題調查資料庫
- Oracle 11G資料庫單例項安裝Oracle資料庫單例
- 總結導致oracle資料庫主機CPU sys%高的一些原因Oracle資料庫
- 雲資料庫的雲端故障排除策略:關鍵技術與實施方案資料庫
- CPU 使用率低高負載的原因,看看這篇!負載
- 【故障公告】阿里雲 RDS 資料庫突發 CPU 近 100% 引發全站故障阿里資料庫
- MVCC缺陷與高負載PG資料庫最佳化要點MVC負載資料庫
- 【故障公告】資料庫伺服器 CPU 近 100% 造成全站故障,雪上加霜難上加難的三月資料庫伺服器
- oracle資料庫常見故障和解決難度Oracle資料庫
- MySQL資料庫SYS CPU高的可能性分析MySql資料庫
- Oracle資料庫 11.2.0.4 EMON程式持續消耗CPUOracle資料庫
- 【故障公告】阿里雲 RDS SQL Server 資料庫例項 CPU 100% 引發全站故障阿里SQLServer資料庫
- 伺服器負載過高的處理方式伺服器負載
- Shell----監控CPU/記憶體/負載高時的程式記憶體負載
- Tuning CPU 100% in Oracle 11g rac-20220215Oracle
- 從Oracle資料庫故障到AIX記憶體管理Oracle資料庫AI記憶體
- Oracle資料庫管理——表資料庫高水位及shrink操作Oracle資料庫
- Oracle效能優化-資料庫CPU使用率100%Oracle優化資料庫