GoldenGate表的重新再同步(無需生產端時間視窗)
表的重新再同步(無需生產端時間視窗)
如果是某些表由於各種原因造成兩邊資料不一致,需要重新進行同步,但實際業務始終24小時可用,不能提供時間視窗,則可以參照以下步驟。(因較為複雜,使用需謹慎!)
列出需要重新初始化的表和當時exclude的原因(檢查下面兩個地方):
生產端抽取程式exclude表
容災端複製程式中exclude表
1) 確認ext/dpe/rep程式均無較大延遲,否則等待追平再執行操作;
2) 停止目標端的rep程式;(如時間要求嚴格,可放到後面)
注意:步驟3-6為將源端資料透過exp/imp匯入到目標端,客戶也可以選擇其它初始化方式,比如expdp/impdp。
3) 在源端獲得當前的scn號。例如:
export ORACLE_SID=***(無單機多例項的無需做)
select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
xxxxxxxxxx
以下以獲得的scn號為xxxxxxxxxx為例
4) 在源端使用exp匯出所需重新初始化的表或者幾張表資料,並且指定到剛才記下的scn號。
exp匯出
確認在源端
確認ORACLE_SID正確
需要sysem使用者,可以不用grant execute flashback to user,system密碼******
export ORACLE_SID=***(無單機多例項的無需做)
exp system/****** tables=SCOTT.TEST file=/home/oracle/TEST.dmp grants=n statistics=none triggers=n compress=n FLASHBACK_SCN=xxxxxxxxxxxxxxxx log=/home/oracle/TEST.log;
5) 透過sftp傳輸到目標端;
6) 在目標端,使用imp匯入資料;
確認在目標端
確認ORACLE_SID正確
用system使用者,
export ORACLE_SID=***(無單機多例項的無需做)
truncate table scott.TEST 刪除記錄
[oracle@localhost ~]$ imp system/oracle file=/home/oracle/TEST.dmp fromuser=scott touser=scott ignore=y log=/home/oracle/test1.log ;
特別注意:上面imp語句中沒有使用commit=y的引數,如果對大表進行imp操作應該使用commit=y引數(資料分批次提交),原因:如果匯入執行很長時間,imp操作被中斷(好在是容災端匯入,不會有對業務系統產生很大壓力),這個中斷將導致這個大事物的回滾;回滾會佔用更多時間(影響啟動複製程式的時間);或者直接採用資料泵的方式匯出匯入(資料泵預設不需要commit引數);
7) 如果這些表有外來鍵,在目標端檢查這些外來鍵並禁止它們(記得維護dirsql下的禁止和啟用外來鍵的指令碼SQL);
確認有無外來鍵,執行指令碼禁用外來鍵
確認在目標端
確認ORACLE_SID正確
8) 編輯目標端對應的rep引數檔案,在其map裡面加入一個過濾條件,只對這些重新初始化的表應用指定scn號之後的記錄(一定要注意不要修改本次初始化之外的其它表,會造成資料丟失!):
map source.test, target target.test, filter ( @GETENV ("TRANSACTION", "CSN") > xxxxxxxxxxxxx ) ;
9) 確認引數無誤後,啟動目標端的rep程式;
10) 使用info repxx或者lag repxx直到該程式追上,停止該程式去掉filter即可進入正常複製。(去掉filter時間待定,因SCN一直增大,不受影響)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27571661/viewspace-761128/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Echarts自適應:當視窗大小發生變化時,重新渲染圖表Echarts
- 論企業生產網NTP時鐘同步(網路時間同步服務)
- MySQL時區導致無法產生表MySql
- Tensorflow 視窗時間序列資料的處理
- ijkplayer 音視訊同步時間的計算
- GoldenGate 12c 在原有同步程式中新增同步表的操作步驟Go
- Oracle GoldenGate同步服務歸檔空間維護OracleGo
- 第08講:Flink 視窗、時間和水印
- 無需重新學習,使用 Kibana 查詢/視覺化 SLS 資料視覺化
- 博為小幫軟體機器人,政務視窗人員從此無需再“二次錄入”機器人
- .NET 固定時間視窗演算法實現(無鎖執行緒安全)演算法執行緒
- Hive實戰—時間滑動視窗計算Hive
- laravel sync()同步時修改中間表欄位Laravel
- mysqldump同步生產到生產資料MySql
- 一個簡單的時間視窗設計與實現
- UE 客戶端和伺服器上的時間同步客戶端伺服器
- 檢視oracle臨時表空間佔用率的檢視Oracle
- 同步vmware時間
- centos:時間同步CentOS
- chrony時間同步
- chrony 時間同步
- NTP時間同步
- 手寫一個同步服務端時間的小工具服務端
- jwt_token的有效時間和重新整理時間JWT
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle
- 註冊無需視窗全域性常用熱鍵快捷鍵 2024年8月11日
- qt的無邊框視窗支援拖拽、Aero Snap、視窗陰影等特性QT
- Linux ntpdate同步時間Linux
- win10 1909時間不能同步怎麼辦_win10 1909系統時間無法同步如何解決Win10
- 無法開啟JFrame視窗
- SQL Server ManagementS tudio無法修改表,超時時間已到SQLServer
- GoldenGate表異構的解決方法Go
- 【轉載】GDB高階技巧:邊Debug邊修復BUG,無需修改程式碼,無需重新編譯編譯
- 前端如何保持與伺服器時間同步(如何解決客戶端與服務端時間不對稱的問題)?前端伺服器客戶端服務端
- flink 中window的開窗開始時間、結束時間講解
- 香港無創DNA產前檢測時間|美亞醫生健康(電話00852-56214050)
- Excel2007工作表如何分視窗顯示?Excel2007工作表分視窗顯示的方法Excel
- Linux使用ntp時間伺服器同步時間Linux伺服器
- 無需新型token mixer就能SOTA:MetaFormer視覺基線模型開源,重新整理ImageNet記錄ORM視覺模型