国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

ogg之replicat進程關于事務異常的幾種處理方法

IT那活兒 / 2073人閱讀
ogg之replicat進程關于事務異常的幾種處理方法

點擊上方“IT那活兒”,關注后了解更多內容,不管IT什么活兒,干就完了!!!



最近在客戶現場,客戶表示有使用OGG的一些需求,在此之前也使用OGG11g相比較老的一些版本,其中的原理也是懂一些。官網ogg版本已經更新至19.1、20.3,按照數據庫在生產中版本使用的思想,這里選擇了使用19.1次新版本進行驗證測試。在此次使用的過程中碰到的事務的一些問題,及處理方法進行簡單分享。









環境介紹



源端:RHEL 6.8+Oracle 11.2.0.4+OGG 19.1

目標端:RHEL 7.6+Oracle 19.10.0.0+OGG 19.1

同步模式:schema級別DDL同步





異常分析



目標端REPLICAT進程ABENDED,檢查日志發現在ORA-00942: table or view does not exist的錯誤之后REPLICAT進程ABENDED。manager配置文件中已配置autorestart er *,進行重啟多次無法解決此問題。

根據錯誤提示在目標庫查詢此表已不存在,ogg復制執行sql失敗,導致進程ABENDED。

GGSCI (os-app02) 1> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING

REPLICAT ABENDED REP1 02:11:40      00:02:25

2021-12-09T14:15:59.955+0000  ERROR OGG-00516  Oracle GoldenGate Delivery for Oracle, rep1.prm: Fatal error
executing DDL replication: error [Error code [942], Error
code [942], Error code [942], Error code [942], ORA-00942:
table or view does not exist], due to explicit ABEND error
handling and filter [include all (default)].

2021-12-09T14:16:05.072+0000  INFO OGG-02333  Oracle
GoldenGate Delivery for Oracle, rep1.prm: Reading
/u01/app/ogg/dirdat/rt000000011, current RBA 2,903, 0 
records, m_file_seqno = 11, m_file_rba = 4,191.

2021-12-09T14:16:05.074+0000  ERROR OGG-01668  Oracle
GoldenGate Delivery for Oracle, rep1.prm: PROCESS ABENDING.






處理方法



方法一:

使用logdump分析trail文件,獲取事務NEXT RBA,跳過異常事務。目標庫對象已不存在,此sql已不必須,跳過執行sql事務即可恢復。

1)查看復制進程當前處理的文件和處理到的RBA地址:

GGSCI (os-app02) 15> info rep1

REPLICAT   REP1      Last Started 2021-12-09 14:52   Status RUNNING

INTEGRATED

Checkpoint Lag       02:08:38 (updated 00:00:07 ago)

Process ID           22906

Log Read Checkpoint  File /u01/app/ogg/dirdat/rt000000011

2021-12-09 12:44:08.040185  RBA 2903

2)由于RBA不是簡單+1的關系,需要使用ogg提供的logdump定位下一個事務的RBA:

[oracle@os-app02 ogg]$ ./logdump

Logdump 18 >open /u01/app/ogg/dirdat/rt000000011 --打開trail文件

Current LogTrail is /u01/app/ogg/dirdat/rt000000011

Logdump 19 >pos 2903   --定位當前RBA

Reading forward from RBA 2903

Logdump 20 >n --NEXT


2021/12/09 12:44:08.040.185 DDLOP Len 1179 RBA 2903

Name:

After Image: Partition x04 G s

2c43 3137 2827 3127 293d 274e 4c53 5f4e 554d 4552 | ,C17(1)=NLS_NUMER

4943 5f43 4841 5241 4354 4552 5327 2c2c 4331 3828 | IC_CHARACTERS
,,C18(

2731 2729 3d27 2e5c 2c27 2c2c 4331 3728 2732 2729 | 1)=.,,,C17(2)

3d27 4e4c 535f 4441 5445 5f46 4f52 4d41 5427 2c2c | =NLS_DATE_FORMAT,,

4331 3828 2732 2729 3d27 4444 2d4d 4f4e 2d52 5227 | C18(2)=DD-MON-RR

2c2c 4331 3728 2733 2729 3d27 4e4c 535f 5449 4d45 | ,,C17(3)=NLS_TIME

5354 414d 505f 464f 524d 4154 272c 2c43 3138 2827 | STAMP_FORMAT
,,C18(


Logdump 21 >n --NEXT


2021/12/09 06:24:49.484.843 Metadata Len 83 RBA 4191

Database Name:

3000 4f00 0100 0200 0100 0200 3a00 0100 0400 ea27 | 0.O.........:......


0000 0200 0400 0100 0000 0300 0200 0000 0400 0800 | ....................

0600 2b30 383a 3030 0500 1400 1000 0000 1414 1414 | ..+08:00............

1414 1414 1414 1414 1114 1414 0300 0700 0500 4150 | ..................AP

5030 31                                           | P01

3)重新指定REPLICAT進程的當前RBA以跳過當前事務,重啟REPLICAT進程。

GGSCI (os-app02) 1> alter replicat rep1,extrba 4191

2021-12-09 15:02:19  INFO    OGG-06594  Replicat REP1 has been altered. Even the start up position might be updated, duplicate suppression remains active in next startup. To override duplicate suppression, start REP1 with NOFILTERDUPTRANSACTIONS option.

REPLICAT (Integrated) altered.


GGSCI (os-app02) 2> start rep1

Sending START request to MANAGER ...

REPLICAT REP1 starting


GGSCI (os-app02) 3> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

REPLICAT    RUNNING     REP1        00:00:00      00:00:35

可以看到REPLICAT進程已恢復正常。

方法二:

目標端處理異常,滿足sql執行條件。

分析異常sql為drop table xxxx;刪除表操作,在目標庫創建一對象名為xxxx的空表,成功執行drop即可恢復。本文示例表明emp_222。

1)在目標庫對應用戶下創建一表,表名與異常sql中表名一致:

15:13:09 SCOTT@app02> create table emp_222(name varchar2(10));

Table created.

Elapsed: 00:00:00.00

2)重啟REPLICAT進程:

GGSCI (os-app02) 7> start rep1

Sending START request to MANAGER ...

REPLICAT REP1 starting


GGSCI (os-app02) 8> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

REPLICAT    RUNNING     REP1        00:00:00      00:00:01

REPLICAT進程已恢復正常。

方法三:

OGG提供錯誤忽略機制,可以根據錯誤代碼跳過錯誤。

1)異常的錯誤代碼為942,確認所有此類異常均可跳過,在REPLICAT參數文件中添加DDLERROR配置信息:

GGSCI (os-app02) 2> edit params rep1

DDLERROR 942 IGNORE

2)重啟REPLICAT進程:

GGSCI (os-app02) 3> start rep1

Sending START request to MANAGER ...

REPLICAT REP1 starting

GGSCI (os-app02) 4> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

REPLICAT    RUNNING     REP1        00:00:00      00:00:03

REPLICAT進程已恢復正常。

注:以上處理方法,可以根據不同的場景結合使用,無論那種方式,均需要以保證數據完整性、一致性為前提。




本文作者:王亞奇

本文來源:IT那活兒(上海新炬王翦團隊)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129616.html

相關文章

  • 【備戰春招/秋招系列】美團面經總結基礎篇 (附詳解答案)

    摘要:不同于個人面經,這份面經具有普適性。我在前面的文章中也提到了應該怎么做自我介紹與項目介紹,詳情可以查看這篇文章備戰春招秋招系列初出茅廬的程序員該如何準備面試。是建立連接時使用的握手信號。它表示確認發來的數據已經接受無誤。 showImg(https://segmentfault.com/img/remote/1460000016972448?w=921&h=532); 該文已加入開源文...

    Leck1e 評論0 收藏0
  • 史上最全阿里 Java 面試題總結

    摘要:以下為大家整理了阿里巴巴史上最全的面試題,涉及大量面試知識點和相關試題。的內存結構,和比例。多線程多線程的幾種實現方式,什么是線程安全。點擊這里有一套答案版的多線程試題。線上系統突然變得異常緩慢,你如何查找問題。 以下為大家整理了阿里巴巴史上最全的 Java 面試題,涉及大量 Java 面試知識點和相關試題。 JAVA基礎 JAVA中的幾種基本數據類型是什么,各自占用多少字節。 S...

    winterdawn 評論0 收藏0
  • 我的阿里路+Java面經考點

    摘要:我的是忙碌的一年,從年初備戰實習春招,年三十都在死磕源碼,三月份經歷了阿里五次面試,四月順利收到實習。因為我心理很清楚,我的目標是阿里。所以在收到阿里之后的那晚,我重新規劃了接下來的學習計劃,將我的短期目標更新成拿下阿里轉正。 我的2017是忙碌的一年,從年初備戰實習春招,年三十都在死磕JDK源碼,三月份經歷了阿里五次面試,四月順利收到實習offer。然后五月懷著忐忑的心情開始了螞蟻金...

    姘擱『 評論0 收藏0
  • Java 并發編程系列帶你了解多線程

    摘要:的內置鎖是一種互斥鎖,意味著最多只有一個線程能持有這種鎖。使用方式如下使用顯示鎖之前,解決多線程共享對象訪問的機制只有和。后面會陸續的補充并發編程系列的文章。 早期的計算機不包含操作系統,它們從頭到尾執行一個程序,這個程序可以訪問計算機中的所有資源。在這種情況下,每次都只能運行一個程序,對于昂貴的計算機資源來說是一種嚴重的浪費。 操作系統出現后,計算機可以運行多個程序,不同的程序在單獨...

    Elle 評論0 收藏0
  • Javag工程師成神路(2019正式版)

    摘要:結構型模式適配器模式橋接模式裝飾模式組合模式外觀模式享元模式代理模式。行為型模式模版方法模式命令模式迭代器模式觀察者模式中介者模式備忘錄模式解釋器模式模式狀態模式策略模式職責鏈模式責任鏈模式訪問者模式。 主要版本 更新時間 備注 v1.0 2015-08-01 首次發布 v1.1 2018-03-12 增加新技術知識、完善知識體系 v2.0 2019-02-19 結構...

    Olivia 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<