管理クライアントを使用した初期ロードExtractの追加
管理クライアントを使用した初期ロードExtractの追加について学習します。
トピック:
- ステップ1: プライマリExtractの作成
- ステップ2: インスタンス化SCNの決定
- ステップ3: 初期ロードReplicatの作成および起動
- ステップ4: 初期ロードExtractの作成および起動
- ステップ5: 分散パスの作成
- ステップ6: プライマリReplicatの作成
親トピック: インスタンス化
ステップ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.
親トピック: 管理クライアントを使用した初期ロードExtractの追加
ステップ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);
親トピック: 管理クライアントを使用した初期ロードExtractの追加
ステップ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
親トピック: 管理クライアントを使用した初期ロードExtractの追加
ステップ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
親トピック: 管理クライアントを使用した初期ロードExtractの追加
ステップ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
である場合にのみ有効です。
親トピック: 管理クライアントを使用した初期ロードExtractの追加
ステップ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
親トピック: 管理クライアントを使用した初期ロードExtractの追加