oracle oggを使用してkafkaにデータをエクスポート

49540 ワード

前提条件
環境
oracle 19c   10.0.2.15  
kafka  kafka_2.13-2.8.0         10.0.2.12

パッケージのインストール
oracleソース
191004_fbo_ggs_Linux_x64_shiphome.zip

kafkaターゲット端子
OGG_BigData_Linux_x64_19.1.0.0.5.tar.gz
kafka_2.13-2.8.0.tgz

oracleソース操作
インストールogg
oggディレクトリの作成、インストールパッケージの解凍、rootユーザー操作
mkdir -p /ogg
       ,      /home/oracle/  
unzip 191004_fbo_ggs_Linux_x64_shiphome.zip -d /home/oracle/

rootユーザー操作の許可
chown -R oracle.oinstall /home/oracle/fbo_ggs_Linux_x64_shiphome/

インストール応答ファイルの編集
cat  /home/oracle/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp 

####################################################################
## Copyright(c) Oracle Corporation 2019. All rights reserved.     ##
##                                                                ##
## Specify values for the variables listed below to customize     ##
## your installation.                                             ##
##                                                                ##
## Each variable is associated with a comment. The comment        ##
## can help to populate the variables with the appropriate        ##
## values.                                                        ##
##                                                                ##
## IMPORTANT NOTE: This file should be secured to have read       ##
## permission only by the oracle user or an administrator who     ##
## own this installation to protect any sensitive input values.   ##
##                                                                ##
####################################################################

#-------------------------------------------------------------------------------
# Do not change the following system generated value. 
#-------------------------------------------------------------------------------
oracle.install.responseFileVersion=/oracle/install/rspfmt_ogginstall_response_schema_v19_1_0


################################################################################
##                                                                            ##
## Oracle GoldenGate installation option and details                          ##
##                                                                            ##
################################################################################

#-------------------------------------------------------------------------------
# Specify the installation option.
# Specify ORA19c for installing Oracle GoldenGate for Oracle Database 19c or
#         ORA18c for installing Oracle GoldenGate for Oracle Database 18c or
#         ORA12c for installing Oracle GoldenGate for Oracle Database 12c or
#         ORA11g for installing Oracle GoldenGate for Oracle Database 11g 
#-------------------------------------------------------------------------------
INSTALL_OPTION=ORA19c

#-------------------------------------------------------------------------------
# Specify a location to install Oracle GoldenGate
#-------------------------------------------------------------------------------
SOFTWARE_LOCATION=/ogg

#-------------------------------------------------------------------------------
# Specify true to start the manager after installation. 
#-------------------------------------------------------------------------------
START_MANAGER=true

#-------------------------------------------------------------------------------
# Specify a free port within the valid range for the manager process.
# Required only if START_MANAGER is true.
#-------------------------------------------------------------------------------
MANAGER_PORT=7809

#-------------------------------------------------------------------------------
# Specify the location of the Oracle Database.
# Required only if START_MANAGER is true.
#-------------------------------------------------------------------------------
DATABASE_LOCATION=/opt/oracle/product/19.3.0/db_1


################################################################################
##                                                                            ##
## Specify details to Create inventory for Oracle installs                    ##
## Required only for the first Oracle product install on a system.            ##
##                                                                            ##
################################################################################

#-------------------------------------------------------------------------------
# Specify the location which holds the install inventory files.
# This is an optional parameter if installing on
# Windows based Operating System.
#-------------------------------------------------------------------------------
INVENTORY_LOCATION=/opt/oraInventory

#-------------------------------------------------------------------------------
# Unix group to be set for the inventory directory.  
# This parameter is not applicable if installing on
# Windows based Operating System.
#-------------------------------------------------------------------------------
UNIX_GROUP_NAME=oinstall

インストールの開始
[oracle@localhost Disk1]$ pwd
/home/oracle/fbo_ggs_Linux_x64_shiphome/Disk1
      
[oracle@localhost Disk1]$ ./runInstaller -silent -responseFile /home/oracle/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp

環境変数oracleユーザー操作の構成
[root@localhost oracle]# su - oracle
Last login: Mon May 24 16:10:01 CST 2021 on pts/1
[oracle@localhost ~]$ cat ~/.bash_profile
export OGG_HOME=/ogg
export PATH=$OGG_HOME:$PATH
export LD_LIBRARY_PATH=$OGG_HOME:$LD_LIBRARY_PATH

インストールがoggインストールディレクトリに正常に切り替わったかどうかを確認します
ggsci

oracleログアーカイブモードの設定
Oracleユーザーに切り替えてデータベースにログイン
su - oracle
sqlplus / as sysdba

アーカイブ・モードであるかどうかを確認
SQL> archive log list 
Database log mode	       Archive Mode
Automatic archival	       Disabled
Archive destination	       USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     11
Next log sequence to archive   13
Current log sequence	       13

データベース・アーカイブ・モードの設定
conn / as sysdba ( DBA       ) 
SQL> shutdown immediate (       )
SQL> startup mount ()
SQL> alter database archivelog; (          )
SQL> alter database open; (     )
SQL> alter system archive log start; (      )

確認
SQL> archive log list 
Database log mode	       Archive Mode
Automatic archival	       Enabled
Archive destination	       USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     11
Next log sequence to archive   13
Current log sequence	       13

ログスイッチをオンにする
ログを開くかどうかを確認
SQL> select force_logging, supplemental_log_data_min from v$database;

FORCE_LOGGING
--------------------------------------------------------------------------------
SUPPLEMENTAL_LOG_DATA_MI
------------------------
NO
NO

関連ログを開く
SQL> ALTER DATABASE FORCE LOGGING;

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

SQL> alter system switch logfile;

SQL> alter system set enable_goldengate_replication=true scope=both;

確認
SQL> select force_logging, supplemental_log_data_min from v$database;

FORCE_LOGGING
--------------------------------------------------------------------------------
SUPPLEMENTAL_LOG_DATA_MI
------------------------
YES
YES

oracleレプリケーション・ユーザーの作成と承認
表領域ディレクトリの作成と承認
mkdir -p /u01/app/oracle/oggdata/orcl
chown -R oracle:oinstall /u01/app/oracle/oggdata/orcl

レプリケーション・ユーザーの作成と承認
SQL> create tablespace oggtbs datafile '/u01/app/oracle/oggdata/orcl/oggtbs01.dbf' size 1000M autoextend on;

SQL> create user ogg identified by ogg default tablespace oggtbs;

SQL> grant dba to ogg;

ogg初期化
[oracle@localhost ogg]$ cd /ogg/
[oracle@localhost ogg]$ ggsci 

Oracle GoldenGate Command Interpreter for Oracle
Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO
Linux, x64, 64bit (optimized), Oracle 19c on Oct 17 2019 21:16:29
Operating system character set identified as UTF-8.

Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.



GGSCI (localhost.localdomain) 1> create subdirs

oracleテストテーブルの作成
SQL> create user test_ogg  identified by test_ogg default tablespace users;
SQL> grant dba to test_ogg;
SQL> conn test_ogg/test_ogg;
SQL> create table test_ogg(id int ,name varchar(20),primary key(id));

kafkaターゲット側操作
oggクライアントのインストール
ディレクトリの作成
mkdir -p /opt/ogg

インストールパッケージをインストールディレクトリに解凍
gzip OGG_BigData_Linux_x64_19.1.0.0.5.tar.gz
tar zxvf OGG_BigData_Linux_x64_19.1.0.0.5.tar.gz -C /opt/ogg/

権限
useradd oracle
chown -R oracle.oracle /opt/ogg

環境変数の設定
PATH=$PATH:$HOME/bin
export OGG_HOME=/opt/ogg
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b03-1.el7.x86_64/jre
export LD_LIBRARY_PATH=/opt/ogg/dirprm:/opt/kafka/libs:$JAVA_HOME/lib/amd64:$JAVA_HOME/lib/amd64/server:$JAVA_HOME/lib/amd64/libjsig.so:$JAVA_HOME/lib/amd64/server/libjvm.so:$OGG_HOME/lib:$OGG_HOME/dirprm
export PATH=$JAVA_HOME/bin:$OGG_HOME:$PATH
export CLASSPATH=/opt/ogg/dirprm:/opt/kafka/libs:/opt/ogg/ggjava/ggjava.jar

環境変数を有効にする
source /etc/profile

テスト下ogg
ggsci

初期化ogg
[root@localhost opt]# cd /opt/ogg/
[root@localhost ogg]# ggsci 

Oracle GoldenGate for Big Data
Version 19.1.0.0.5 (Build 007)

Oracle GoldenGate Command Interpreter
Version 19.1.0.0.200714 OGGCORE_19.1.0.0.0OGGBP_PLATFORMS_200628.2141
Linux, x64, 64bit (optimized), Generic on Jun 28 2020 23:01:58
Operating system character set identified as UTF-8.

Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.



GGSCI (localhost.localdomain) 1> create subdirs

OGGソース操作
OGGのグローバル変数の設定
su oracle
[oracle@localhost ogg]$ cd /ogg/
[oracle@localhost ogg]$ ggsci 

Oracle GoldenGate Command Interpreter for Oracle
Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO
Linux, x64, 64bit (optimized), Oracle 19c on Oct 17 2019 21:16:29
Operating system character set identified as UTF-8.

Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.



GGSCI (localhost.localdomain) 1> dblogin userid ogg password ogg
Successfully logged into database.
GGSCI (localhost.localdomain as ogg@orcl) 2> edit param ./globals
oggschema ogg

mgrプロセスの構成
GGSCI (localhost.localdomain as ogg@orcl) 3> edit param mgr


PORT 7809
DYNAMICPORTLIST 7810-7909
AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 3

説明:
PORT                mgr       ;
DYNAMICPORTLIST          ,    mgr      ,             ,       256 ;
AUTORESTART                    EXTRACT  ,  5 ,    3  ;
PURGEOLDEXTRACTS    TRAIL       
GGSCI (localhost.localdomain as ogg@orcl) 4> add trandata test_ogg.test_ogg

2021-05-24 16:46:11  INFO    OGG-15131  Logging of supplemental redo log data is already enabled for table TEST_OGG.TEST_OGG.

2021-05-24 16:46:11  INFO    OGG-15135  TRANDATA for instantiation CSN has been added on table TEST_OGG.TEST_OGG.

2021-05-24 16:46:11  INFO    OGG-10471  ***** Oracle Goldengate support information on table TEST_OGG.TEST_OGG ***** 
Oracle Goldengate support native capture on table TEST_OGG.TEST_OGG.
Oracle Goldengate marked following column as key columns on table TEST_OGG.TEST_OGG: ID.

GGSCI (localhost.localdomain as ogg@orcl) 5> info trandata test_ogg.test_ogg

2021-05-24 16:46:18  INFO    OGG-10471  ***** Oracle Goldengate support information on table TEST_OGG.TEST_OGG ***** 
Oracle Goldengate support native capture on table TEST_OGG.TEST_OGG.
Oracle Goldengate marked following column as key columns on table TEST_OGG.TEST_OGG: ID.

Logging of supplemental redo log data is enabled for table TEST_OGG.TEST_OGG.

Columns supplementally logged for table TEST_OGG.TEST_OGG: "ID".

Prepared CSN for table TEST_OGG.TEST_OGG: 3094843

extractプロセスの構成
GGSCI (localhost.localdomain as ogg@orcl) 6> edit param extkafka


extract extkafka
dynamicresolution
SETENV (ORACLE_SID = "orcl")
SETENV (NLS_LANG = "american_america.AL32UTF8")
userid ogg,password ogg
exttrail /ogg/dirdat/to
table test_ogg.test_ogg;

説明:
     extract    ;
dynamicresolution              ;
SETENV                           ,       Oracle        ;
userid ggs,password ggs     OGG  Oracle        ,    2.5          ;
exttrail                     trail            ,          2   ,    OGG   ;
table                             ,  *  ,   ;  

extractプロセスを追加するには、次の手順に従います.
GGSCI (localhost.localdomain as ogg@orcl) 7> add extract extkafka,tranlog,begin now

trailファイルの定義をextractプロセスにバインドする
GGSCI (localhost.localdomain as ogg@orcl) 8> add exttrail /opt/ogg/dirdat/to,extract extkafka

pumpプロセスの構成
pumpプロセスはtrailファイルをターゲットに転送する責任を負います
GGSCI (localhost.localdomain as ogg@orcl) 9> edit param pukafka


extract pukafka
passthru
dynamicresolution
userid ogg,password ogg
rmthost 10.0.2.12 mgrport 7809
rmttrail /opt/ogg/dirdat/to
table test_ogg.test_ogg;

説明:
     extract    ;
passthru                     OGG Oracle  ,      pump    ,     ;
dynamicresolution             ;
userid ogg,password ogg    OGG  Oracle        
rmthost mgrhost              (kafka)OGG mgr           ;
rmttrail                      trail          。

ローカルtrailファイルとターゲット側のtrailファイルをそれぞれextractプロセスにバインドします.
GGSCI (localhost.localdomain as ogg@orcl) 10> add extract pukafka,exttrailsource /ogg/dirdat/to
GGSCI (localhost.localdomain as ogg@orcl) 11> add rmttrail /opt/ogg/dirdat/to,extract pukafka

defineファイルの構成
GGSCI (localhost.localdomain as ogg@orcl) 12> edit param test_ogg


defsfile /ogg/dirdef/test_ogg.test_ogg
userid ogg,password ogg
table test_ogg.test_ogg;
[oracle@localhost ogg]$ cd /ogg/
[oracle@localhost ogg]$ ./defgen paramfile dirprm/test_ogg.prm

生成される/opt/ogg/dirdef/test_ogg.test_oggが送信するターゲット側oggディレクトリの下のdirdefには:
[oracle@localhost ogg]$ scp -r /ogg/dirdef/test_ogg.test_ogg [email protected]:/opt/ogg/dirdef/ 

OGGターゲット側構成
前提kafkaサービスオープン
構成マネージャmgr
[root@localhost ogg]# cd /opt/ogg/
[root@localhost ogg]# ggsci 

Oracle GoldenGate for Big Data
Version 19.1.0.0.5 (Build 007)

Oracle GoldenGate Command Interpreter
Version 19.1.0.0.200714 OGGCORE_19.1.0.0.0OGGBP_PLATFORMS_200628.2141
Linux, x64, 64bit (optimized), Generic on Jun 28 2020 23:01:58
Operating system character set identified as UTF-8.

Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.



GGSCI (localhost.localdomain) 1> edit param mgr


PORT 7809
DYNAMICPORTLIST 7810-7909
AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 3


checkpointの設定
checkpointは、トレーサビリティ可能なオフセットレコードをコピーし、グローバル構成にcheckpointテーブルを追加すればよい.
GGSCI (localhost.localdomain) 2> edit  param  ./GLOBALS


CHECKPOINTTABLE test_ogg.checkpoint

Replicateプロセスの構成
GGSCI (localhost.localdomain) 3> edit param rekafka


REPLICAT rekafka
sourcedefs /opt/ogg/dirdef/test_ogg.test_ogg
TARGETDB LIBFILE libggjava.so SET property=dirprm/kafka.props
REPORTCOUNT EVERY 1 MINUTES, RATE
GROUPTRANSOPS 10000
MAP test_ogg.test_ogg, TARGET test_ogg.test_ogg;

説明:
REPLICATE rekafka       rep    ;
sourcedefs             4.6              ;
TARGETDB LIBFILE        kafka               ,      OGG     dirprm/kafka.props;
REPORTCOUNT                      ;
GROUPTRANSOPS               ,       ,  IO  ;
MAP                              

kafka.propsの構成
cd /opt/ogg/dirprm/
vim kafka.props
[root@localhost ogg]# cd /opt/ogg/dirprm/
[root@localhost dirprm]# cat kafka.props 
gg.handlerlist=kafkahandler
gg.handler.kafkahandler.type=kafka
gg.handler.kafkahandler.KafkaProducerConfigFile=custom_kafka_producer.properties 
gg.handler.kafkahandler.topicMappingTemplate=test_ogg 
gg.handler.kafkahandler.format=json
gg.handler.kafkahandler.mode=op  
gg.classpath=dirprm/:/opt/kafka_2.13-2.8.0/libs/*:/opt/ogg/:/opt/ogg/lib/*
[root@localhost ogg]# cd /opt/ogg/dirprm/
[root@localhost dirprm]# cat custom_kafka_producer.properties 
bootstrap.servers=10.0.2.12:9092
acks=1
compression.type=gzip
reconnect.backoff.ms=1000
value.serializer=org.apache.kafka.common.serialization.ByteArraySerializer
key.serializer=org.apache.kafka.common.serialization.ByteArraySerializer
batch.size=102400
linger.ms=10000

中には後の注釈を削除する必要があり、oggは注釈を認識せず、削除しないとエラーが報告されます.
replicateプロセスへのtrailファイルの追加
[root@localhost dirprm]# cd /opt/ogg/
[root@localhost ogg]# ggsci 

Oracle GoldenGate for Big Data
Version 19.1.0.0.5 (Build 007)

Oracle GoldenGate Command Interpreter
Version 19.1.0.0.200714 OGGCORE_19.1.0.0.0OGGBP_PLATFORMS_200628.2141
Linux, x64, 64bit (optimized), Generic on Jun 28 2020 23:01:58
Operating system character set identified as UTF-8.

Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.



GGSCI (localhost.localdomain) 1> add replicat rekafka exttrail /opt/ogg/dirdat/to,checkpointtable test_ogg.checkpoint

テスト
ソース操作
プロセスの開始
[oracle@localhost ogg]$ cd /ogg/
[oracle@localhost ogg]$ ggsci 

Oracle GoldenGate Command Interpreter for Oracle
Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO
Linux, x64, 64bit (optimized), Oracle 19c on Oct 17 2019 21:16:29
Operating system character set identified as UTF-8.

Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.
GGSCI (localhost.localdomain) 1> start mgr
GGSCI (localhost.localdomain) 2> start extkafka
GGSCI (localhost.localdomain) 3> start pukafka

ターゲット側操作
プロセスの開始
[root@localhost ogg]# cd /opt/ogg/
[root@localhost ogg]# ggsci 

Oracle GoldenGate for Big Data
Version 19.1.0.0.5 (Build 007)

Oracle GoldenGate Command Interpreter
Version 19.1.0.0.200714 OGGCORE_19.1.0.0.0OGGBP_PLATFORMS_200628.2141
Linux, x64, 64bit (optimized), Generic on Jun 28 2020 23:01:58
Operating system character set identified as UTF-8.

Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.



GGSCI (localhost.localdomain) 1> start mgr
GGSCI (localhost.localdomain) 2> start rekafka

ソースプロセスが正常に開始されたかどうかを確認
GGSCI (localhost.localdomain) 4> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     RUNNING     EXTKAFKA    00:00:00      00:00:09    
EXTRACT     RUNNING     PUKAFKA     00:00:00      00:00:08    

ターゲット側プロセスが正常に開始されたかどうかを確認
GGSCI (localhost.localdomain) 3> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
REPLICAT    RUNNING     REKAFKA     00:00:00      00:00:03    

エラーのチェック方法
プロセスログログインoggコマンドラインの表示次の実行コマンドview reportプロセス名
GGSCI (localhost.localdomain) 4> view report rekafka


***********************************************************************
                    Oracle GoldenGate for Big Data
                    Version 19.1.0.0.5 (Build 007)
                                   
                      Oracle GoldenGate Delivery
 Version 19.1.0.0.200714 OGGCORE_19.1.0.0.0OGGBP_PLATFORMS_200628.2141
    Linux, x64, 64bit (optimized), Generic on Jun 28 2020 23:07:55
 
Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.

                    Starting at 2021-05-24 15:48:53
***********************************************************************

Operating System Version:
Linux
Version #1 SMP Fri Mar 6 11:36:42 UTC 2015, Release 3.10.0-229.el7.x86_64
Node: localhost.localdomain
Machine: x86_64
                         soft limit   hard limit
Address Space Size   :    unlimited    unlimited
Heap Size            :    unlimited    unlimited
File Size            :    unlimited    unlimited
CPU Time             :    unlimited    unlimited

Process id: 3161

Description: 

***********************************************************************
**            Running with the following parameters                  **
***********************************************************************

2021-05-24 15:48:53  INFO    OGG-03059  Operating system character set identified as UTF-8.

2021-05-24 15:48:53  INFO    OGG-02695  ANSI SQL parameter syntax is used for parameter parsing.

2021-05-24 15:48:53  INFO    OGG-03528  The source database character set, as determined from the table definition file, is UTF-8.

Oracleデータベースへのログイン
[oracle@localhost ogg]$ sqlplus / as sysdba

データの更新
conn test_ogg/test_ogg
insert into test_ogg values(1,'test');
commit;
update test_ogg set name='zhangsan' where id=1;
commit;
delete test_ogg where id=1;
commit;

ソースtrailファイルのステータスの表示
[oracle@localhost ogg]$ ll /ogg/dirdat/
total 8
-rw-r----- 1 oracle oinstall 1285 May 24 15:57 to000000000

ターゲット側trailファイルのステータスの表示
[root@localhost ogg]# ll /opt/ogg/dirdat/
total 4
-rw-r-----. 1 oracle oracle 2498 May 24 17:09 to000000000

kafkaが自動的に対応するトピックを確立するかどうかを確認します
[root@localhost kafka_2.13-2.8.0]# bin/kafka-topics.sh --list --zookeeper localhost:2181
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
__consumer_offsets
test_ogg

消費者を通じて同期メッセージがあるかどうかを見る
[root@localhost kafka_2.13-2.8.0]# bin/kafka-console-consumer.sh --bootstrap-server 10.0.2.12:9092 --topic test_ogg --from-beginning
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
{
     "table":"TEST_OGG.TEST_OGG","op_type":"I","op_ts":"2021-05-24 15:59:41.000814","current_ts":"2021-05-24T15:59:48.395000","pos":"00000000000000001827","after":{
     "ID":2,"NAME":"test"}}
{
     "table":"TEST_OGG.TEST_OGG","op_type":"I","op_ts":"2021-05-24 15:59:49.001165","current_ts":"2021-05-24T15:59:55.782000","pos":"00000000000000001958","after":{
     "ID":3,"NAME":"test"}}
{
     "table":"TEST_OGG.TEST_OGG","op_type":"I","op_ts":"2021-05-24 15:59:53.002124","current_ts":"2021-05-24T15:59:57.815000","pos":"00000000000000002085","after":{
     "ID":4,"NAME":"test"}}
{
     "table":"TEST_OGG.TEST_OGG","op_type":"U","op_ts":"2021-05-24 17:09:39.002891","current_ts":"2021-05-24T17:09:46.082000","pos":"00000000000000002211","before":{
     "ID":1,"NAME":"test"},"after":{
     "ID":1,"NAME":"zhangsan"}}
{
     "table":"TEST_OGG.TEST_OGG","op_type":"D","op_ts":"2021-05-24 17:09:39.002891","current_ts":"2021-05-24T17:09:46.091000","pos":"00000000000000002366","before":{
     "ID":1,"NAME":"zhangsan"}}