GoldenGate11g長交易造成CPU負載高
使用Quest PA監控,發現資料庫伺服器CPU資源消耗很大,原先CPU的負載差不多30%多,但最近一段,高達60%。從監控資訊可以看出是Goldgate使用者等待事件SQL*NET more data to/from client等待消耗CPU資源非常大。
首先想到一點是檢查是否存在僵死程式:
輸出結果中,我們發現存在兩個僵死程式,透過kill -9將其程式清除。
然後將GG中extract程式重啟:
輸出結果發現兩個抽取程式存在長交易無法正常停止程式,需要進一步定位是什麼長交易session:
從輸出結果可以看出有兩個交易啟動時間已經長達2個多月,很明顯處於不正常狀況,需要進一步確認執行語句:
從以上執行結果可以看出,長連線交易的SQL語句是透過dblink插入一張表的資料,而恰好給session造成SQL*NET more data to/from client等待時間很長,消耗大量CPU等待時間。透過作業系統命令,將該程式kill。
首先想到一點是檢查是否存在僵死程式:
SQL>select spid from v$process where addr not in (select paddr from v$session) |
然後將GG中extract程式重啟:
ggsic>info all; ggsci>stop extract * |
輸出結果發現兩個抽取程式存在長交易無法正常停止程式,需要進一步定位是什麼長交易session:
GGSCI> send extract EXTXXXX, showtrans thread 1 Sending showtrans request to EXTRACT EXTDXXXX ... Oldest redo log files necessary to restart Extract are: Redo Thread 1, Redo Log Sequence Number 31144, SCN 3108.3631174241 (13352389530209), RBA 123683344 Redo Thread 2, Redo Log Sequence Number 28782, SCN 3193.2127650774 (13715958226902), RBA 332887056 ------------------------------------------------------------ XID: 24.0.4087185 Items: 0 Extract: EXTDXXXX Redo Thread: 1 Start Time: 2013-11-14:21:27:12 SCN: 3108.3631174241 (13352389530209) Redo Seq: 31144 Redo RBA: 123683344 Status: Running ------------------------------------------------------------ XID: 27.20.3177181 Items: 0 Extract: EXTXXXX Redo Thread: 1 Start Time: 2013-11-14:21:30:31 SCN: 3108.3631249907 (13352389605875) Redo Seq: 31144 Redo RBA: 130199568 Status: Running |
從輸出結果可以看出有兩個交易啟動時間已經長達2個多月,很明顯處於不正常狀況,需要進一步確認執行語句:
SQL>select addr, start_time from v$transaction where xidusn=27; (透過以上輸出XID獲取第一位數值) ADDR START_TIME -------------------------- -------------------- 0700000E998CE528 11/14/13 21:30:30 SQL>select sid, command,sql_id from v$session where taddr in (select addr from v$transaction where xidusn=27) SID COMMAND SQL_ID ---------- ---------- ------------- 4202 2 dd2jh9ht3h4fy SQL> select sql_text from v$sqlarea where sql_id='dd2jh9ht3h4fy' insert into xxx@dblink values xxxxxxxxxxxxx SQL> select spid from v$process where addr in (select paddr from v$session where sid=4202); SPID ------------------------ 24183256 |
從以上執行結果可以看出,長連線交易的SQL語句是透過dblink插入一張表的資料,而恰好給session造成SQL*NET more data to/from client等待時間很長,消耗大量CPU等待時間。透過作業系統命令,將該程式kill。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17172228/viewspace-1077913/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CPU使用率低負載高負載
- cpu負載是什麼意思 電腦cpu負載過高怎麼處理解決負載
- cpu使用率低負載高,原因分析負載
- Linux上檢視造成IO高負載的程式Linux負載
- Linux CPU負載Linux負載
- CPU 使用率低高負載的原因,看看這篇!負載
- cpu負載過高原因負載
- Shell----監控CPU/記憶體/負載高時的程式記憶體負載
- 利用 Arthas 精準定位 Java 應用 CPU 負載過高問題Java負載
- 再一次生產 CPU 高負載排查實踐負載
- MySQL案例05:CPU負載優化MySql負載優化
- 故障分析 | 大量短時程式導致 cpu 負載過高案例一則負載
- 執行計劃變化導致CPU負載高的問題分析負載
- Nginx負載均衡高可用Nginx負載
- Linux程序排程器-CPU負載Linux負載
- nginx自定義負載均衡及根據cpu執行自定義負載均衡Nginx負載
- CPU 100%負載的效能優化分析負載優化
- keepalived高可用負載均衡負載
- Oracle 11g 資料庫伺服器CPU、IO負載高的故障排除流程Oracle資料庫伺服器負載
- 小議 Thread.sleep(0) 造成 CPU佔用率高的問題thread
- (譯)理解Linux系統的CPU負載均值Linux負載
- Flume高可用負載均衡問題負載
- latch 相關效能問題診斷: latch: row cache objects等待事件導致CPU負載高Object事件負載
- zabbix修改LINUX的CPU負載監控問題Linux負載
- java檢測當前CPU負載狀態的方法Java負載
- 高可用+高併發+負載均衡架構設計負載架構
- PostgreSQL DBA(88) - Linux(CPU使用率 vs 平均負載)SQLLinux負載
- java 7中新增的CPU和負載的監控Java負載
- cpu 使用率和負載的關係和區別負載
- Keepalived實現Nginx負載均衡高可用Nginx負載
- Mycat 雙主雙從-負載均衡-高可用負載
- nginx+fastcgi搭建高負載伺服器NginxAST負載伺服器
- 主動優化高負載SQL語句優化負載SQL
- PHP開發高負載網站技術PHP負載網站
- nginx反向大理和負載均衡以及高可用Nginx負載
- 乾貨分享|快速定位UXDB中CPU高負荷的SQL語句UXSQL
- 說說大型高併發高負載網站的系統架構(轉載)負載網站架構
- Nginx 高階篇(二)什麼是負載均衡Nginx負載