長事務的影響
OGG是基於事務級的即時複製工具,也就是說OGG只複製已提交的事務,在遇到事務的commit或rollback之前,它會將每個事務的操作儲存在稱為cache的託管虛擬記憶體池中。記憶體再大也有不夠用的時候,當交易資料超過一定的閾值或者當前空閑記憶體無法滿足分配請求時,OGG進程會將最少使用的old buffer swap 到磁碟上的dirtmp中。
當OGG遇到長事務時,如果extract進程因某種原因終止,原有的檔案系統上的臨時資料都將被刪除,重啟後會根據recoverycheckpoint尋找最早開始進行的長事務起始點所在的歸檔日誌進行恢複,如果重啟時發現所需歸檔被刪除,則extract進程將無法重啟,只能通過恢複歸檔或初始化解決。即使歸檔存在,重啟後進行recovery會很大程度影響OGG 的效能。
長事務的處理
1.監控ggserr.log 中的長事務警告,可以通過配置extract 進程參數warnlongtrans 調整警告頻率
2.監控資料庫中的長事務
selectstart_timefrom gv$transaction;
3.ggsci提供了如下命令來處理未提交事務
send extract ,showtrans查看正在處理的未提交事務
send extract ,skiptrans跳過事務(不建議)
send extract ,forcetrans強制認為事務已經提交(不建議)
建議所有的事務提交或復原操作都在資料庫中進行
4.說明:在OGG11g中,extract提供了BR參數可以設定每隔一段時間(預設4小時)將長交易緩衝及BR檢查點到本地硬碟(預設dirtmp目錄下),因此extract只要不停止一般需要的歸檔日誌不超過8個小時(極限情況)。但是如果extract停掉後,便無法再自動緩衝長交易,需要的歸檔日誌就會依賴於停機時間變長。
RAC環境下管理OGG-HA
RAC環境下配置OGG同步
GoldenGate單向表DML同步
Oracle GoldenGate 系列:Extract 進程的恢複原理
Oracle GoldenGate安裝配置
Oracle goldengate的OGG-01004 OGG-1296錯誤