goldengate使用ASM存放trail文件注意事项
生活随笔
收集整理的這篇文章主要介紹了
goldengate使用ASM存放trail文件注意事项
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
GoldenGate支持從ASM中捕獲數據,但如果使用ASM存儲重做日志文件和/或者歸檔日志文件,有一些注意事項。
(1)GoldenGate需要通過監聽連接到ASM實例讀取日志,所以需要配置監聽文件。
(2)為了連接到監聽,需要添加連接描述符到tnsnames.ora文件
(3)GoldenGate的 Extract 參數文件必須包括下面的內容:
示例3-5: TRANLOGOPTIONS ASMUSER <user>@<asm>, ASMPASSWORD <pwd>,ENCRYPTKEY <key>
3.2.3? 配置源端數據庫
由于GoldenGate的原理是根據Oracle的日志進行抽取復制的,所以Oracle的redo對于GoldenGate非常重要。因為redo會頻繁地切換,日志組是有限的,并且是循環使用的。
(1)為了讓GoldenGate不丟失任何的日志,需要打開數據庫的歸檔,在數據庫mount階段,使用命令:
示例3-6: alter database archivelog 打開數據庫的歸檔,如果使用了Flash Recovery Area,系統會自動歸檔到db_recovery_file_dest。當然也可以使用以下命令手動指定歸檔路徑:
示例3-7: alter system set log_archive_dest_1=\\\'location=/temp/arch\\\'; 然后用命令:
示例3-8: SQL> archive log list 可以查看數據庫是否歸檔,如圖3-27所示。
?
圖3-27
(2)GoldenGate需要數據庫開啟supplemental log。GoldenGate需要準確地知道源端的數據修改了哪些列,需要更為詳細的日志,所以需要數據庫開啟supplemental log。如果沒有開啟,則根據下面的操作開啟,如圖3-28所示。
?
圖3-28
(3)關閉recyclebin。這個選項是為了支持GoldenGate DDL復制的。關掉recyclebin的操作如圖3-29所示。
?
圖3-29
(4)在目標端添加checkpoint表。這是為了保證源和目標在傳數據的時候不會重復或者少傳,添加的步驟為在目標機器上編輯GOLBALS文件,添加一行,checkpoint ggs.checkpoint,然后dblogin數據庫,添加checkpoint表,如圖3-30和圖3-31所示。
?
圖3-30
?
圖3-31
?
3.3? 配置源端進程組
3.3.1? 配置MGR進程組
為了編輯和運行GoldenGate,在源端和目標端都必須運行一個MGR進程組,它負責啟動GoldenGate進程,啟動動態進程,管理trail文件以及錯誤信息報告等。
創建動態進程組的步驟如下。
進入安裝GoldenGate的目錄,運行GGSCI程序來打開GoldenGate命令接口,如圖3-32所示。
??在GGSCI,輸入edit params mgr命令編輯參數文件。
??在GGSCI,輸入port <port_number>指定管理端口。
??在GGSCI,還可以配置一些其他的參數,然后輸入保存文件。
?
圖3-32
1.動態端口參數設置
可以制定最大256個可用端口的動態列表,當指定的端口不可用時,管理進程將會從列表中選擇一個可用的端口,源端和目標端的Collector、Replicat、GGSCI進程將會使用這些端口。
指定動態端口的命令:
示例3-9: DYNAMICPORTLIST {<port> | <port>-<port>} [,…] 參數DYNAMICPORTREASSIGNDELAY <seconds>可以指定多長時間重新制定一次。
2.自動啟動參數設置
當管理進程啟動的時候使用autostart參數設置Extract和Replicat進程自動啟動,也可以使用autostart設置,當Extract和Replicat進程異常終止時來自動啟動。
這個功能在網絡臨時中斷、進程異常終止、數據庫死鎖等情況下比較有用,它會節省大量的工作量,操作如圖3-33所示。
?
圖3-33
下面為這個命令的格式:
示例3-10: AUTORESTART {ER | EXTRACT | REPLICAT} {group name | wildcard}
[, RETRIES <max retries>]
[, WAITMINUTES <wait minutes>]
[, RESETMINUTES <reset minutes>] 這里autorestart行表示每2分鐘嘗試重新啟動所有的Extract進程,一共嘗試2次(默認entries大小為2,如果需要設置嘗試的次數,可以設置entries參數),以后5分鐘清零,然后再按照設2分鐘嘗試一共清理2次。
啟動MGR進程,如圖3-34所示。
?
圖3-34
3.trail文件維護
當GoldenGate應用完成trail文件以后,可以設置定期的自動清理trail文件,釋放磁盤空間。在參數文件中使用參數PURGEOLDEXTRACTS,管理進程就會自動定期的清除trail文件。 3.3.2? 配置Extract進程組
抽取進程組在源端運行,負責抓取需要傳輸的數據。
下面為創建一個名為eora的Extract進程組。
(1)edit params eora,然后添加需要的參數內容,如圖3-35所示。
?
圖3-35
(2)在源端用add extract命令創建一個主Extract組(因為測試中已添加,所以這里用alter),如圖3-36所示。
?
圖3-36
(3)用add exttrail命令創建本地trail文件。主Extract組負責寫這部分文件,Pump負責把trail文件從源端投遞到目標端(因為測試中已添加,所以這里用alter),如圖3-37所示。
?
圖3-37
(4)使用GGSCI命令管理Extract。在GGSCI命令中,可以使用add、alter、cheanup、delete、info、kill命令管理Extract進程,如圖3-38所示。
?
圖3-38
3.3.3? 配置Pump進程組
在源端一個數據Pump進程是secondary Extract進程組,前面介紹過,如果沒有Pump進程,則需要配置Extract進程把抽取來的數據投遞到目標端,但是配置Pump進程的好處是可以保證當網絡不穩定的時候,能穩定且沒有差錯的把數據投遞到目標端。
下面為創建一個名為pump_so的Pump進程組。
(1)使用edit params pump_so,添加內容保存即可,如圖3-39所示。
?
圖3-39
(2)用add extract 指定本地trail文件(因為測試中已添加,所以這里用alter),如圖3-40所示。
?
圖3-40
(3)用add rmttrail 指定遠程trail文件(因為測試中已添加,所以這里用alter),如圖3-41所示。
?
圖3-41
?
3.4? 配置目標端進程
3.4.1? 配置目標端MGR進程組
使用edit params mgr編輯mgr參數文件然后保存即可,如圖3-42所示。
?
圖3-42
這里使用了延遲的預警機制:MGR進程每隔1個小時檢查Extract的延遲情況,如果超過了3分鐘就把延遲作為信息記錄到錯誤日志中,如果延遲超過了5分鐘,則把它作為警告寫到錯誤日志中。
3.4.2? 配置目標端Replicat進程組
Replicat進程在目標端運行,它負責讀源端投遞過來的文件數據,然后把變化應用到目標端,下面來配置Replicat。
(1)使用edit? params命令創建一個名為rep1的參數文件,如圖3-43所示。
?
圖3-43
(2)在目標端用add replicat添加一個rep1進程(因為測試中已添加,所以這里用? alter),如圖3-44所示。
?
圖3-44
?
3.5? DML測試
測試按上面的參數配置,是否可以實現數據同步。
(1)首先啟動源端的所有需要的進程,如圖3-45所示。
?
圖3 -45
(2)同樣啟動目標端的所有進程,如圖3-46所示。
?
圖3-46
(3)在源端數據庫,插入scott.dept一行數據,如圖3-47所示。
?
圖3-47
(4)在目標端查看,如圖3-48所示。
?
圖3-48
由此可見上面的配置是成功的。
(1)GoldenGate需要通過監聽連接到ASM實例讀取日志,所以需要配置監聽文件。
(2)為了連接到監聽,需要添加連接描述符到tnsnames.ora文件
(3)GoldenGate的 Extract 參數文件必須包括下面的內容:
示例3-5: TRANLOGOPTIONS ASMUSER <user>@<asm>, ASMPASSWORD <pwd>,ENCRYPTKEY <key>
3.2.3? 配置源端數據庫
由于GoldenGate的原理是根據Oracle的日志進行抽取復制的,所以Oracle的redo對于GoldenGate非常重要。因為redo會頻繁地切換,日志組是有限的,并且是循環使用的。
(1)為了讓GoldenGate不丟失任何的日志,需要打開數據庫的歸檔,在數據庫mount階段,使用命令:
示例3-6: alter database archivelog 打開數據庫的歸檔,如果使用了Flash Recovery Area,系統會自動歸檔到db_recovery_file_dest。當然也可以使用以下命令手動指定歸檔路徑:
示例3-7: alter system set log_archive_dest_1=\\\'location=/temp/arch\\\'; 然后用命令:
示例3-8: SQL> archive log list 可以查看數據庫是否歸檔,如圖3-27所示。
?
圖3-27
(2)GoldenGate需要數據庫開啟supplemental log。GoldenGate需要準確地知道源端的數據修改了哪些列,需要更為詳細的日志,所以需要數據庫開啟supplemental log。如果沒有開啟,則根據下面的操作開啟,如圖3-28所示。
?
圖3-28
(3)關閉recyclebin。這個選項是為了支持GoldenGate DDL復制的。關掉recyclebin的操作如圖3-29所示。
?
圖3-29
(4)在目標端添加checkpoint表。這是為了保證源和目標在傳數據的時候不會重復或者少傳,添加的步驟為在目標機器上編輯GOLBALS文件,添加一行,checkpoint ggs.checkpoint,然后dblogin數據庫,添加checkpoint表,如圖3-30和圖3-31所示。
?
圖3-30
?
圖3-31
?
3.3? 配置源端進程組
3.3.1? 配置MGR進程組
為了編輯和運行GoldenGate,在源端和目標端都必須運行一個MGR進程組,它負責啟動GoldenGate進程,啟動動態進程,管理trail文件以及錯誤信息報告等。
創建動態進程組的步驟如下。
進入安裝GoldenGate的目錄,運行GGSCI程序來打開GoldenGate命令接口,如圖3-32所示。
??在GGSCI,輸入edit params mgr命令編輯參數文件。
??在GGSCI,輸入port <port_number>指定管理端口。
??在GGSCI,還可以配置一些其他的參數,然后輸入保存文件。
?
圖3-32
1.動態端口參數設置
可以制定最大256個可用端口的動態列表,當指定的端口不可用時,管理進程將會從列表中選擇一個可用的端口,源端和目標端的Collector、Replicat、GGSCI進程將會使用這些端口。
指定動態端口的命令:
示例3-9: DYNAMICPORTLIST {<port> | <port>-<port>} [,…] 參數DYNAMICPORTREASSIGNDELAY <seconds>可以指定多長時間重新制定一次。
2.自動啟動參數設置
當管理進程啟動的時候使用autostart參數設置Extract和Replicat進程自動啟動,也可以使用autostart設置,當Extract和Replicat進程異常終止時來自動啟動。
這個功能在網絡臨時中斷、進程異常終止、數據庫死鎖等情況下比較有用,它會節省大量的工作量,操作如圖3-33所示。
?
圖3-33
下面為這個命令的格式:
示例3-10: AUTORESTART {ER | EXTRACT | REPLICAT} {group name | wildcard}
[, RETRIES <max retries>]
[, WAITMINUTES <wait minutes>]
[, RESETMINUTES <reset minutes>] 這里autorestart行表示每2分鐘嘗試重新啟動所有的Extract進程,一共嘗試2次(默認entries大小為2,如果需要設置嘗試的次數,可以設置entries參數),以后5分鐘清零,然后再按照設2分鐘嘗試一共清理2次。
啟動MGR進程,如圖3-34所示。
?
圖3-34
3.trail文件維護
當GoldenGate應用完成trail文件以后,可以設置定期的自動清理trail文件,釋放磁盤空間。在參數文件中使用參數PURGEOLDEXTRACTS,管理進程就會自動定期的清除trail文件。 3.3.2? 配置Extract進程組
抽取進程組在源端運行,負責抓取需要傳輸的數據。
下面為創建一個名為eora的Extract進程組。
(1)edit params eora,然后添加需要的參數內容,如圖3-35所示。
?
圖3-35
(2)在源端用add extract命令創建一個主Extract組(因為測試中已添加,所以這里用alter),如圖3-36所示。
?
圖3-36
(3)用add exttrail命令創建本地trail文件。主Extract組負責寫這部分文件,Pump負責把trail文件從源端投遞到目標端(因為測試中已添加,所以這里用alter),如圖3-37所示。
?
圖3-37
(4)使用GGSCI命令管理Extract。在GGSCI命令中,可以使用add、alter、cheanup、delete、info、kill命令管理Extract進程,如圖3-38所示。
?
圖3-38
3.3.3? 配置Pump進程組
在源端一個數據Pump進程是secondary Extract進程組,前面介紹過,如果沒有Pump進程,則需要配置Extract進程把抽取來的數據投遞到目標端,但是配置Pump進程的好處是可以保證當網絡不穩定的時候,能穩定且沒有差錯的把數據投遞到目標端。
下面為創建一個名為pump_so的Pump進程組。
(1)使用edit params pump_so,添加內容保存即可,如圖3-39所示。
?
圖3-39
(2)用add extract 指定本地trail文件(因為測試中已添加,所以這里用alter),如圖3-40所示。
?
圖3-40
(3)用add rmttrail 指定遠程trail文件(因為測試中已添加,所以這里用alter),如圖3-41所示。
?
圖3-41
?
3.4? 配置目標端進程
3.4.1? 配置目標端MGR進程組
使用edit params mgr編輯mgr參數文件然后保存即可,如圖3-42所示。
?
圖3-42
這里使用了延遲的預警機制:MGR進程每隔1個小時檢查Extract的延遲情況,如果超過了3分鐘就把延遲作為信息記錄到錯誤日志中,如果延遲超過了5分鐘,則把它作為警告寫到錯誤日志中。
3.4.2? 配置目標端Replicat進程組
Replicat進程在目標端運行,它負責讀源端投遞過來的文件數據,然后把變化應用到目標端,下面來配置Replicat。
(1)使用edit? params命令創建一個名為rep1的參數文件,如圖3-43所示。
?
圖3-43
(2)在目標端用add replicat添加一個rep1進程(因為測試中已添加,所以這里用? alter),如圖3-44所示。
?
圖3-44
?
3.5? DML測試
測試按上面的參數配置,是否可以實現數據同步。
(1)首先啟動源端的所有需要的進程,如圖3-45所示。
?
圖3 -45
(2)同樣啟動目標端的所有進程,如圖3-46所示。
?
圖3-46
(3)在源端數據庫,插入scott.dept一行數據,如圖3-47所示。
?
圖3-47
(4)在目標端查看,如圖3-48所示。
?
圖3-48
由此可見上面的配置是成功的。
總結
以上是生活随笔為你收集整理的goldengate使用ASM存放trail文件注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: goldengate Linux平台O
- 下一篇: Oracle ASM Cluster F