日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

goldengate复制同步单表修复

發布時間:2024/8/26 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 goldengate复制同步单表修复 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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.dmp?flashback_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 options

Export 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的方法,也可實現特定對象的在線初始化,具體參考goldengate–split replicat group在線重新初始化指定的table


總結

以上是生活随笔為你收集整理的goldengate复制同步单表修复的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。