おらくるのいる生活

OracleのDBAとしての、障害対応やらパフォーマンス・チューニングやらの日々を綴っています

Oracle Golden Gateを使ってみた 基本編(2)

前回の記事でOGGのインストールについてまとめました。

bismarc256.hateblo.jp

 

今回は設定を行います。

まず、マネージャのパラメータ設定です。

OGG_HOME/dirprm/mgr.prm ファイルを直接編集するか、ggsciから edit param mgr コマンドを実行します。

PORTにはインストール時に指定したのと同じポートを設定します。

PORT 31002

DYNAMICPORTLIST 7821-7830

STARTUPVALIDATIONDELAY 5

PURGEOLDEXTRACTS ./dirdat/*/*, USECHECKPOINTS, MINKEEPDAYS 1

次に統合キャプチャ・モードでのプライマリExtractの構成を行います。

OGG_HOME/dirprmディレクトリ配下にパラメータファイルを配置するか、ggcsciからedit param <group_name>コマンドでviを起動し、設定します。

パラメータファイルの拡張子を除くファイル名とグループ名は一致させます。

つまり、グループ名が「extg1」ならば、ファイル名は「extg1.prm」になります。

パスは先ほどと同じく「OGG_HOME/dirprm」です。

また、EXTTRAILは<dir_name/>xxの形式で、ファイル識別子となる接頭語を2文字で指定します。

ここではレプリケーション対象テーブルとしてTAB1を設定していますが、スキーマ単位で設定するのであれば「GGTEST.*」と記述します。

$ cat dirprm/extg1.prm

EXTRACT extg1

USERID ggadmin,password welcome1 

EXTTRAIL /u01/app/oracle/ogg_1/dirdat/stod/l1

TABLE GGTEST.TAB1;

同様に、データ・ポンプExtractの構成を行います。

RMTHOSTにはレプリケート先ホスト名と、レプリケート先のマネージャポートを設定、RMTTRAILにはレプリケート先のディレクトリを指定します。

$ cat dpg1.prm

EXTRACT dpg1

USERID ggadmin,password welcome1

RMTHOST myhost, MGRPORT 31003

RMTTRAIL /u01/app/oracle/ogg_2/dirdat/stod/r1

TABLE GGTEST.TAB1;

パラメータの準備が出来たので、以下、レプリケート元から順に設定を行っていきます。

・Extractの設定

ggsciを起動し、レプリケート元DBにDBLOGINコマンドで接続して以下の設定を行います。

Extractのレプリケート元データベースでの登録

REGISTER EXTRACT extg1 DATABASE

プライマリExtractの追加

※ここではSCNを指定せず、即時有効とする

ADD EXTRACT extg1, INTEGRATED TRANLOG, BEGIN NOW

ローカル証跡の追加

ADD EXTTRAIL /u01/app/oracle/ogg_1/dirdat/stod/l1, EXTRACT extg1

・データ・ポンプExtractグループの追加

※EXTTRAILSOURCEにはExtractのEXTTRAILと同じものを指定

ADD EXTRACT dpg1,EXTTRAILSOURCE /u01/app/oracle/ogg_1/dirdat/stod/l1

リモート証跡の追加

ADD RMTTRAIL /u01/app/oracle/ogg_2/dirdat/stod/r1,EXTRACT dpg1

ロギングオプションの設定

ADD TRANDATA ggtest.tab1

 

実行例は以下の通りです。

$ ./ggsci

GGSCI (myhost) 1> DBLOGIN USERID ggadmin,password welcome1

Successfully logged into database.

GGSCI (myhost as GGADMIN@ggs) 2> REGISTER EXTRACT extg1 DATABASE

2022-03-23 15:37:22  INFO    OGG-02003  Extract EXTG1 successfully registered with database at SCN 2050211.

GGSCI (myhost as GGADMIN@ggs) 3> ADD EXTRACT extg1, INTEGRATED TRANLOG, BEGIN NOW

EXTRACT (Integrated) added.

GGSCI (myhost as GGADMIN@ggs) 4> ADD EXTTRAIL /u01/app/oracle/ogg_1/dirdat/stod/l1, EXTRACT extg1

EXTTRAIL added.

GGSCI (myhost as GGADMIN@ggs) 5> ADD EXTRACT dpg1,EXTTRAILSOURCE /u01/app/oracle/ogg_1/dirdat/stod/l1

EXTRACT added.

GGSCI (myhost as GGADMIN@ggs) 6> ADD RMTTRAIL /u01/app/oracle/ogg_2/dirdat/stod/r1,EXTRACT dpg1

RMTTRAIL added.

GGSCI (myhost as GGADMIN@ggs) 7> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

EXTRACT     STOPPED     DPG1        00:00:00      00:01:16

EXTRACT     STOPPED     EXTG1       00:00:00      00:02:28

GGSCI (myhost as GGADMIN@ggs) 8> start *

Sending START request to MANAGER ...

EXTRACT DPG1 starting

Sending START request to MANAGER ...

EXTRACT EXTG1 starting

GGSCI (myhost as GGADMIN@ggs) 9> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

EXTRACT     RUNNING     DPG1        00:00:00      00:00:04

EXTRACT     RUNNING     EXTG1       00:02:45      00:00:04

GGSCI (myhost as GGADMIN@ggs) 10> ADD TRANDATA ggtest.tab1

2022-03-22 16:26:51  INFO    OGG-15132  Logging of supplemental redo data enabled for table GGTEST.TAB1.

2022-03-23 15:47:46  INFO    OGG-15131  Logging of supplemental redo log data is already enabled for table GGTEST.TAB1.

2022-03-22 16:26:51  INFO    OGG-15133  TRANDATA for scheduling columns has been added on table GGTEST.TAB1.

2022-03-23 15:47:46  INFO    OGG-15135  TRANDATA for instantiation CSN has been added on table GGTEST.TAB1.

2022-03-22 16:26:51  INFO    OGG-15135  TRANDATA for instantiation CSN has been added on table GGTEST.TAB1.

2022-03-23 15:47:46  INFO    OGG-10471  ***** Oracle Goldengate support information on table GGTEST.TAB1 *****

2022-03-22 16:26:52  INFO    OGG-10471  ***** Oracle Goldengate support information on table GGTEST.TAB1 *****Oracle GolOracle Goldengate support native capture on table GGTEST.TAB1.

Oracle Goldengate marked following column as key columns on table GGTEST.TAB1: COL1.dengate support native capture on ta

ble GGTEST.TAB1.

Oracle Goldengate marked following column as key columns on table GGTEST.TAB1: COL1.

レプリケート元の設定が終わったので、次はレプリケート先を設定します。

マネージャのパラメータ設定は、レプリケート元と同様に。ポート番号だけ変えます。

PORT 31003

DYNAMICPORTLIST 7821-7830

STARTUPVALIDATIONDELAY 5

PURGEOLDEXTRACTS ./dirdat/*/*, USECHECKPOINTS, MINKEEPDAYS 1

次にReplicatの設定です。

レプリケート先DBにDBLOGINコマンドで接続して以下を実行します。

チェックポイント表の作成

ADD CHECKPOINTTABLE ggadmin.chktbl

Replicatグループの追加

EXTTRAILにはデータ・ポンプExtractのRTMTTRAILと同じものを設定します。

ADD REPLICAT repg1,  EXTTRAIL /u01/app/oracle/ogg_2/dirdat/stod/r1,CHECKPOINTTABLE ggadmin.chktbl

 

実行例

$ ./ggsci

GGSCI (myhost) 1> DBLOGIN USERID ggadmin,passord welcome1

Successfully logged into database.

GGSCI (myhost as GGADMIN@ggd) 2> ADD CHECKPOINTTABLE ggadmin.chktbl

Successfully created checkpoint table ggadmin.chktbl.

GGSCI (myhost as GGADMIN@ggd) 3> ADD REPLICAT repg1,  EXTTRAIL /u01/app/oracle/ogg_2/dirdat/stod/r1,CHECKPOINTTABLE ggadmin.chktbl

REPLICAT added.

GGSCI (myhost as GGADMIN@ggd) 4> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

REPLICAT    STOPPED     REPG1       00:00:00      00:00:14

GGSCI (myhost) 5> start *

Sending START request to MANAGER ...

REPLICAT REPG1 starting

GGSCI (myhost) 6> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

REPLICAT    RUNNING     REPG1       00:00:00      00:00:09

ここまでで設定が終わったので、次回は実際にデータを投入してレプリケートのテストを行います。