OGG初始單表的方法 goldengate–使用filter+@GETENV線上重新初始化指定的table
在oracle-oracle goldengate的複製環境中,有時候會碰到一些緊急的問題一時無法修復,為了避免影響整個複製環境的複製進度,採取跳過錯誤事務或者跳過特定物件的辦法使得goldengate繼續同步;如果後續某個表不得不需要重新同步,而且應用是不間斷進行事務操作的,在不停止應用和重建整個複製環境的情況下,為了保證資料的一致性,如何線上對特定的問題物件重新初始化和繼續同步呢?
處理的辦法還是不少的,下面給出一個在replicat端過濾SCN事務的辦法,來實現資料的一致同步。
處理的思路就是首先在target上獲得該表上某個特定SCN版本上的資料(比如使用匯入匯出或者資料泵),然後透過filter功能來篩選出該表上大於該commit scn的事務,從而確保事務的一致性。在goldengate v10之後,可以透過@GETENV函式直接獲得事務的CSN。
簡單看一下處理步驟,假設目前gg環境中hr.translog表需要重新初始化,由source端hr使用者同步到target端hr2使用者下。
1.停止target上的replicat程式
GGSCI (sh) 44> stop rep_hr2
Sending STOP request to REPLICAT REP_HR2 …
Request processed.
2.獲得source上hr.translog表的特定SCN一致性版本
SQL> select dbms_flashback.get_system_change_number from dual;
9543774
使用exp進行一致性版本匯出
[oracle@gz ~]$ exp hr/hr tables=translog file=translog.dmpflashback_scn=9543774
Export: Release 10.2.0.1.0 – Production on Tue Aug 9 00:27:42 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – 64bit Production
With the Partitioning, OLAP and Data Mining options
Export done in US7ASCII character set and AL16UTF16 NCHAR character set
server uses ZHS16GBK character set (possible charset conversion)About to export specified tables via Conventional Path …
. . exporting table TRANSLOG 5062409 rows exported
EXP-00091: Exporting questionable statistics.
Export terminated successfully with warnings.
3. target上匯入一致性版本
[oracle@gz ~]$ imp hr2/hr2@sh tables=translog file=translog.dmp ignore=y
Import: Release 10.2.0.1.0 – Production on Tue Aug 9 00:28:36 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – 64bit Production
With the Partitioning, OLAP and Data Mining optionsExport file created by EXPORT:V10.02.01 via conventional path
Warning: the objects were exported by HR, not by you
import done in US7ASCII character set and AL16UTF16 NCHAR character set
import server uses ZHS16GBK character set (possible charset conversion)
. importing HR’s objects into HR2
. importing HR’s objects into HR2
. . importing table "TRANSLOG" 50624 rows imported
IMP-00017: following statement failed with ORACLE error 30567:
"ALTER TABLE "TRANSLOG" ADD SUPPLEMENTAL LOG GROUP "GGS_TRANSLOG_56459" ("OB"
"JECT_ID") ALWAYS"
IMP-00003: ORACLE error 30567 encountered
ORA-30567: name already used by an existing log group
Import terminated successfully with warnings.
4. 修改replicat引數,過濾hr.translog上小於SCN 9543774上的事務。
GGSCI (sh) 43> view param rep_hr2
replicat rep_hr2
USERID gg, PASSWORD AACAAAAAAAAAAACANJPHHDSJCIYCFCZB,ENCRYPTKEY DEFAULT
assumetargetdefs
map hr.translog, target hr2.translog,filter (@GETENV ("transaction", "csn") > 9
543774);
map hr.org, target hr2.org;map hr.unp_file, target hr.unp_file;
5. 啟動replicat程式
GGSCI (sh) 2> start rep_hr2
Sending START request to MANAGER …
REPLICAT REP_HR2 starting
採用這種辦法,即使source上hr.translog表不斷被DML,因為SCN過濾的存在,保證了複製過程中的資料一致性。對source上的應用來講,也無須額外的停機時間。在初始化過程中,因為target上覆制程式的暫停,會影響到複製的實時性, 為減少target上replicat的暫停時間,可以採用分割datapump和replicate group的方法,也可實現特定物件的線上初始化
轉載地址:http://blog.csdn.net/xmallwood/article/details/8964621
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27767315/viewspace-2107469/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle Goldengate重新初始化的 3種方法OracleGo
- ogg程式重新初始化
- iOS 指定初始化方法iOS
- 使用GoldenGate初始化的兩種方式Go
- ogg不停業務重新初始化目標資料庫流程資料庫
- ogg停止業務重新初始化目標資料庫流程資料庫
- oracle goldengate 初始化OracleGo
- GoldenGate同步初始化Go
- 初始化ArrayList的簡單方法總結
- Oracle goldengate 初始化資料的方法(轉MOS:ID 1276058.1)OracleGo
- C++11新初始化方法 使用{}初始化變數C++變數
- Swift的惰性初始化方法Swift
- GoldenGate初始化資料載入Go
- 使用RMAN或資料泵初始化OGG目標庫
- OGG在RAC上的初始化(上)-- 安裝配置篇
- oracle goldengate 初始化實驗步驟OracleGo
- HAC叢集中,計劃重新初始化資料庫使用原叢集配置的操作方法資料庫
- oracle 練習之table初始化scriptOracle
- GNU C中陣列指定初始化陣列
- 神經網路的初始化方法總結 | 又名“如何選擇合適的初始化方法”神經網路
- Tim定時器初始化的方法定時器
- Oracle GoldenGate系統之----資料初始化OracleGo
- Oracle goldengate初始化資料注意事項OracleGo
- 實戰goldengate:安裝配置+資料初始化+單向DML複製Go
- 【GoldenGate】OGG-01163的處理方法Go
- GoldenGate不支援壓縮表問題OGG-01028 Table compression is not supportedGo
- 查詢初始化引數的方法(二)
- 查詢初始化引數的方法(一)
- 查詢初始化引數的方法(七)
- 查詢初始化引數的方法(六)
- 查詢初始化引數的方法(五)
- 查詢初始化引數的方法(四)
- 查詢初始化引數的方法(三)
- 資料庫表初始化資料庫
- OGG之 各種資料泵初始化指令碼指令碼
- 簡單介紹C語言使用四種方法初始化結構體C語言結構體
- GoldenGate重新同步個別表流程Go
- 初始化簡單的IP放火牆(Script)(轉)