goldengate的extract程式調優

myownstars發表於2013-05-12
How To Troubleshoot Oracle Redo Log Reading Extract Slow Performance Issue using TESTMAPPINGSPEED [ID 1273285.1]
如果 extract程式比較緩慢,應該先判斷是慢在抽取上還是寫 trail檔案上,採用如下思路:
1  
先收集當前extract效能資訊,建立一個只抽取不寫trail的extract,測試是否慢在抽取日誌;
2
更改當前extract設定,只讀取更新比較小的表,測試是否依舊很慢,如果慢則檢視IO效能;

具體操作:
1
收集當前extract效能資訊
GGSCI> stats extract , totalsonly *, reportrate sec
GGSCI> stats extract , totalsonly *, reportrate min

建立新的extract
cp .prm ETEST.prm
修改extract/trail內容,並加入testmappingspeed引數,即只抽取日誌而不寫trail
TESTMAPPINGSPEED
REPORTCOUNT EVERY 5000 RECORDS
啟動該程式
GGSCI> add extract etest, tranlog, begin now
GGSCI> add exttrail ./dirdat/ma , extract etest , megabytes 200
GGSCI> alter extract etest, extseqno , extrba 0 --指定存在問題的 archivelog
GGSCI> start extract etest
執行5分鐘檢視效能資訊
GGSCI> stats extract etest, totalsonly *, reportrate sec
GGSCI> stats extract etest, totalsonly *, reportrate min
對比兩者對比資訊,如果效能有明顯提升則問題出在寫trail或者網路傳輸上
如果還是很慢則繼續下一步

2
將所有extract的表註釋,僅保留一張很少變化的表,如果效能提升說明瓶頸不在讀archivelog,而在日誌處理上
一般來說redo日誌的解析分成2部分:
A. Record parsing in Extract
B. Record fetching if needed

將testmappingspeed去除,新增trace/trace2
–TESTMAPPINGSPEED
TRACE ./dirtmp/ext.trc
TRACE2 ./dirtmp/ext.trc2

檢查生成的trace,如果耗時在select則需要DBA調優,如果undo/rollback相關可加入fetchoptions nousesnapshot儘可能不undo cr read;
如果此時依舊很慢,可能IO瓶頸;
dd測試archivelog讀取速度
time dd if= f=/dev/null bs=1M

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15480802/viewspace-760889/,如需轉載,請註明出處,否則將追究法律責任。

相關文章