管理クライアントを使用した初期ロードExtractの追加

管理クライアントを使用した初期ロードExtractの追加について学習します。

トピック:

ステップ1: プライマリExtractの作成

正確なインスタンス化を使用して、ソース・データベースからターゲット・データベースにデータベース・リソースを適切にレプリケートします。最初にプライマリExtractを起動して、変更データ・キャプチャを開始します。正確なインスタンス化は、次の仮定に基づいています。

ノート:

正確なインスタンス化が動作するには、インスタンス化SCNを登録SCNより後にする必要があります。

  • プライマリExtractが起動されます。これは変更データ・キャプチャを行い、登録SCNではありません。

  • データベースは監視されます。データベースは、最も古いオープン・トランザクションのSCNが登録SCNの後に来るまで待機します。これは、インスタンス化SCNです。

  • インスタンス化SCNは、初期ロードExtractおよびReplicatプロセスを作成する際に使用されます。

  • 初期ロード・レプリケーションが完了すると、インスタンス化SCNがプライマリReplicatを作成するために使用されます。

開始するには、AdminClientからプライマリExtract EXTPRIMを作成して起動します。次に例を示します。

コマンド:

OGG (not connected) 1> CONNECT https://oggdep.example.com:9100 as oggadmin password oggadmin !

出力:

Using default deployment 'OGGDEP'

コマンド:

OGG (https://oggdep.example.com:9100 OGGDEP) 2> DBLOGIN USERIDALIAS oggadmin

出力:

Successfully logged into database.

コマンド:

OGG (https://oggdep.example.com:9100 OGGDEP) 3> ADD EXTRACT extprim INTEGRATED TRANLOG BEGIN NOW

出力:

2018-03-16T13:37:07Z INFO OGG-08100 EXTRACT (Integrated) added.

コマンド:

OGG (https://oggdep.example.com:9100 OGGDEP as oggadmin) 4> REGISTER EXTRACT extprim DATABASE

出力:

2018-03-16T13:37:30Z INFO OGG-02003 Extract EXTPRIM successfully registered with database at SCN 1608891.

コマンド:

OGG (https://oggdep.example.com:9100 OGGDEP as oggadmin) 5> EDIT PARAMS extprim

コマンド:

OGG (https://oggdep.example.com:9100 OGGDEP as oggadmin) 6> VIEW PARAMS extprim

出力:

--
-- E X T P R I M . p r m
-- Primary Extract Parameter File
--
Extract EXTPRIM
UseridAlias oggadmin
ExtTrail AA
Table user01.*;

コマンド:

OGG (https://oggdep.example.com:9100 OGGDEP as oggadmin) 7> ADD EXTTRAIL aa EXTRACT extprim

出力:

2018-03-16T13:37:55Z INFO OGG-08100 EXTTRAIL added.

コマンド:

OGG (https://oggdep.example.com:9100 OGGDEP as oggadmin) 8> START EXTRACT extprim

出力:

2018-03-16T13:38:02Z INFO OGG-00975 EXTRACT EXTPRIM starting
2018-03-16T13:38:02Z INFO OGG-15426 EXTRACT EXTPRIM started

この例では、oggadminはデータベース資格証明の別名です。

プライマリExtractを作成した後、SCN登録番号を取得します。AdminClientでREGISTER EXTRACTコマンドを実行します。次の例では、1608891のSCN値を取得します。

OGG (https://oggdep.example.com:9100 OGGDEP as oggadmin) 4> REGISTER EXTRACT extprim DATABASE

出力:

2018-03-16T13:37:30Z INFO OGG-02003 Extract EXTPRIM successfully registered with database at SCN 1608891.

ステップ2: インスタンス化SCNの決定

Oracle GoldenGate Microservices Architectureの管理サービスは、オープン・データベース・トランザクションに関する情報を取得するためのエンドポイントを提供します。この情報を使用して、初期ロードExtractをインスタンス化する際に使用するSCNを識別できます。

次の例では、インスタンス化SCNは1609723です。これは前のステップで識別された登録SCNである1608891を超えているすべてのオープン・トランザクションの中で最も古いSCNです。

-- Query for active transactions
--
SELECT T.START_SCN, T.STATUS TSTATUS, T.START_DATE,
       S.SID, S.SERIAL#, S.INST_ID, S.USERNAME, S.OSUSER, S.STATUS SSTATUS, S.LOGON_TIME
  FROM gv$transaction T
 INNER JOIN gv$session S
 ON s.saddr = t.ses_addr
 
UNION ALL
 
--
-- Query for current status
--
SELECT CURRENT_SCN, 'CURRENT', CURRENT_DATE,
       NULL, NULL, NULL, 'SYS', NULL, NULL, NULL
 from v$database
 
ORDER BY 1;

この問合せの結果は、インスタンス化SCNを決定するために使用できます。この問合せの結果は次のとおりです。

1538916 ACTIVE 2018-03-16 18:10:31.0 3865 9176 1 OGGADMIN oracle INACTIVE 2018-03-16 18:10:26.0 1540555 CURRENT 2018-03-16 18:21:50.0 SYS

初期ロードExtractをインスタンス化するために使用されるSCNは、SQL*Plusを使用して取得されます。次の例では、SQL問合せでインスタンス化SCN値を1624963として使用します。これは、すべてのオープン・トランザクションの中で最も古いSCNであり、1608891の過去の登録SCNでもあります。

OGG (https://oggdep.example.com:9100 OGGDEP as oggadmin) 14> SHELL ECHO 'SELECT MIN(START_SCN) FROM gv$transaction;' | ${ORACLE_HOME}/bin/sqlplus -S / as sysdba
 
MIN(START_SCN)
--------------
       1624963

オープン・トランザクションがない場合、このSQL問合せは空の結果を返します。オープン・トランザクションがない場合を考慮する詳細な問合せは、次のとおりです。

SELECT MIN(SCN) as INSTANTIATION_SCN
  FROM (SELECT MIN(START_SCN) as SCN
          FROM gv$transaction
         UNION ALL
        SELECT CURRENT_SCN
          FROM gv$database);

ステップ3: 初期ロードReplicatの作成および起動

このステップを開始する前に、チェックポイント表oggadmin.checkpointsがすでにターゲット・システムに存在することを確認します。初期ロードReplicatはターゲット・データベースへの移入を行います。AdminClientで次のコマンドを実行して、初期ロードReplicat (REPINIT)を作成して起動します。

コマンド:

OGG (not connected) 1> CONNECT https://oggdep.example.com:9100 as oggadmin password oggadmin !

出力:

Using default deployment 'OGGDEP'

コマンド:

OGG (https://oggdep.example.com:9100 OGGDEP) 2> DBLOGIN USERIDALIAS oggadmin

出力:

Successfully logged into database.

コマンド:

OGG (https://oggdep.example.com:9100 OGGDEP as oggadmin) 3> ADD CHECKPOINTTABLE oggadmin.checkpoints

出力:

ADD "oggadmin.checkpoints" succeeded.

コマンド:

OGG (https://oggdep.example.com:9100 OGGDEP as oggadmin) 4> ADD REPLICAT repinit EXTTRAIL dd CHECKPOINTTABLE oggadmin.checkpoints

出力:

2018-03-16T13:56:41Z INFO OGG-08100 REPLICAT added.

コマンド:

OGG (https://oggdep.example.com:9100 OGGDEP as oggadmin) 5> EDIT PARAMS repinit

コマンド:

OGG (https://oggdep.example.com:9100 OGGDEP as oggadmin) 6> VIEW PARAMS repinit

出力:

--
--  R E P I N I T . p r m
--  File-Based Initial Load Replicat Parameter File
--
Replicat    REPINIT
UseridAlias oggadmin
Map         user01.*
  Target    user01.*;

コマンド:

OGG (https://oggdep.example.com:9100 OGGDEP as oggadmin) 7> START REPLICAT repinit

出力:

2018-03-16T13:58:21Z  INFO    OGG-00975  REPLICAT REPINIT starting
2018-03-16T13:58:21Z  INFO    OGG-15426  REPLICAT REPINIT started

ステップ4: 初期ロードExtractの作成および起動

取得したインスタンス化SCN (1624963)を使用して、初期ロードExtractを作成してデータベース表の内容を証跡に書き込みます。初期ロードExtract EXTINITを作成して起動します。

コマンド:

OGG (https://oggdep.example.com:9100 OGGDEP as oggadmin) 15> ADD EXTRACT extinit SOURCEISTABLE sourceistable

出力:

2018-03-16T14:08:38Z INFO OGG-08100 EXTRACT added.

コマンド:

OGG (https://oggdep.example.com:9100 OGGDEP as oggadmin) 16> EDIT PARAMS extinit

コマンド:

OGG (https://oggdep.example.com:9100 OGGDEP as oggadmin) 17> VIEW PARAMS extinit

出力:

--
--  E X T I N I T . p r m
--  File-Based Initial Load Extract Parameter File
--
Extract     EXTINIT
UseridAlias oggadmin
ExtFile     CC Megabytes 2000 Purge
Table       user01.*, SQLPredicate "As Of SCN 1609723";

コマンド:

OGG (https://oggdep.example.com:9100 OGGDEP as oggadmin) 18> START EXTRACT extinit

出力:

2018-03-16T14:13:42Z  INFO    OGG-00975  EXTRACT EXTINIT starting
2018-03-16T14:13:42Z  INFO    OGG-15426  EXTRACT EXTINIT started

ステップ5: 分散パスの作成

管理クライアントからリモート・ホストに対してローカル証跡をコピーするための2つの分散パス(AABBおよびCCDD)を作成します。

コマンド:

OGG (https://oggdep.example.com:9100 oggdep) 15> ADD DISTPATH aabb SOURCE TRAIL://oggdep.example.com:9102/services/v2/sources?trail=AA target wss://dallas.oggdevops.us:9103/services/v2/targets?trail=BB

出力:

2018-03-16T17:28:27Z INFO OGG-08511 The path 'AABB' has been added.

コマンド:

OGG (https://oggdep.oggdevops.us:9100 oggdep) 16> ADD DISTPATH ccdd SOURCE TRAIL://oggdep.example.com:9102/services/v2/sources?trail=CC target wss://dallas.oggdevops.us:9103/services/v2/targets?trail=DD

出力:

2018-03-16T17:28:35Z INFO OGG-08511 The path 'CCDD' has been added.

コマンド:

OGG (https://oggdep.example:9100 oggdep) 17> START DISTPATH aabb

出力:

2018-03-16T17:28:42Z INFO OGG-08513 The path 'AABB' has been started.

コマンド:

OGG (https://oggdep.example.com:9100 oggdep) 18> START DISTPATH ccdd

出力:

2018-03-16T17:28:47Z INFO OGG-08513 The path 'CCDD' has been started.

wssのかわりにoggプロトコルを使用する場合は、TARGETTYPEオプションを使用する必要があります。その場合の構文は次のようになります。

ADD DISTPATH path-name SOURCE source-uri TARGET target-uri [ TARGETTYPE ( MANAGER | COLLECTOR | RECVSRVR ) ]

TARGETTYPEは、分散パスでレガシー・プロトコルを使用する場合のターゲット・タイプを指定します。この引数は、ターゲットURIスキーマがoggである場合にのみ有効です。

ステップ6: プライマリReplicatの作成

初期ロードExtractおよびReplicatが完了すると、それらは削除できます。次に、プライマリReplicatプロセスがリモート・ホスト上に作成され、変更データがターゲット・データベースに適用されます。

AdminClientを使用してプライマリReplicatプロセスを作成します。

ノート:

プライマリReplicatはインスタンス化SCNで起動されます。

コマンド:

OGG (https://oggdep.example.com:9100 oggdep as oggadmin) 12> ADD REPLICAT repprim EXTTRAIL bb CHECKPOINTTABLE oggadmin.checkpoints

出力:

2018-03-16T17:37:46Z INFO OGG-08100 REPLICAT added.

コマンド: EDIT PARAMS

OGG (https://oggdep.example.com:9100 oggdep as oggadmin) 13> EDIT PARAMS repprim

コマンド:

OGG (https://oggdep.example.com:9100 oggdep as oggadmin) 14> VIEW PARAMS repprim

出力:

--
--  R E P P R I M . p r m
--  Replicat Parameter File
--
Replicat    REPPRIM
USERIDALIAS oggadmin
Map         user01.*
  Target    user01.*;

コマンド:

OGG (https://oggdep.example.com:9100 oggdep as oggadmin) 15> START REPLICAT repprim ATCSN 1624963

出力:

2018-03-16T17:38:10Z  INFO    OGG-00975  REPLICAT REPPRIM starting
2018-03-16T17:38:10Z  INFO    OGG-15426  REPLICAT REPPRIM started