このトピックで説明されている手順に従うことにより、ファイルベース初期ロードと変更データ・キャプチャ(CDC)プロセスの組合せを使用し、データを損失することなく、データをソース・データベースからターゲット・データベースに正確にレプリケートできます。
初期ロード: ソース・データベースからターゲット・データベースに1つ以上の表の既存の内容をコピーする場合に使用します。
変更データ・キャプチャ: ソース・データベースからターゲット・データベースにトランザクション変更をコピーする場合に使用します。
注意:
MAでは、Oracle GoldenGateダイレクト・ロードを使用したデータのロードをサポートしていません。ファイルベースの初期ロード・プロセスはMAでデータ・レプリケーションを実行するための優先方法です。主なコンポーネントは次のとおりです。
初期ロードExtractおよびReplicat: データベース表の既存の内容をレプリケートします。
プライマリExtractおよびReplicat: データベース表のデータ変更をレプリケートします。
分散パス: 証跡ファイルをターゲット・システムに転送します。
開始する前に、データベース資格証明の別名が作成されていることを確認してください。
重要:
このトピックでは、AdminClientを使用して、初期ロード処理手順を示します。ただし、curlを使用してこれらの手順を実行することもできます。手順1: プライマリExtractの作成
注意:
正確なインスタンス化が動作するには、インスタンス化SCNを登録SCNより後にする必要があります。プライマリExtractが起動されます。これは変更データ・キャプチャを行い、登録SCNではありません。
データベースは監視されます。データベースは、最も古いオープン・トランザクションのSCNが登録SCNの後に来るまで待機します。これは、インスタンス化SCNです。
インスタンス化SCNは、初期ロードExtractおよびReplicatプロセスを作成する際に使用されます。
初期ロード・レプリケーションが完了すると、インスタンス化SCNがプライマリReplicatを作成するために使用されます。
開始するには、AdminClientからプライマリExtract EXTPRIM
を作成して起動します。次に例を示します。
OGG (not connected) 1> connect https://phoenix.oggdevops.us:9100 as oggadmin password oggadmin ! Using default deployment 'Phoenix' OGG (https://phoenix.oggdevops.us:9100 Phoenix) 2> dblogin useridalias oggadmin Successfully logged into database. OGG (https://phoenix.oggdevops.us:9100 Phoenix as oggadmin) 3> add extract EXTPRIM integrated tranlog begin now 2018-03-16T13:37:07Z INFO OGG-08100 EXTRACT (Integrated) added. OGG (https://phoenix.oggdevops.us:9100 Phoenix 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://phoenix.oggdevops.us:9100 Phoenix as oggadmin) 5> edit params EXTPRIM OGG (https://phoenix.oggdevops.us:9100 Phoenix 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://phoenix.oggdevops.us:9100 Phoenix as oggadmin) 7> add exttrail AA extract EXTPRIM 2018-03-16T13:37:55Z INFO OGG-08100 EXTTRAIL added. OGG (https://phoenix.oggdevops.us:9100 Phoenix 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://phoenix.oggdevops.us:9100 Phoenix 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の決定
管理サーバーは、すべてのアクティブ・トランザクションおよび現在のデータベースSCNの詳細を返すエンドポイントを公開します。このデータを取得するPL/SQL問合せは次のとおりです。
-- 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 | GGADMIN | 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://phoenix.oggdevops.us:9100 Phoenix 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://dallas.oggdevops.us:9100 as oggadmin password oggadmin ! Using default deployment 'Dallas' OGG (https://dallas.oggdevops.us:9100 Dallas) 2> dblogin useridalias oggadmin Successfully logged into database. OGG (https://dallas.oggdevops.us:9100 Dallas as oggadmin) 3> add checkpointtable oggadmin.checkpoints ADD "oggadmin.checkpoints" succeeded. OGG (https://dallas.oggdevops.us:9100 Dallas as oggadmin) 4> add replicat REPINIT exttrail DD checkpointtable oggadmin.checkpoints 2018-03-16T13:56:41Z INFO OGG-08100 REPLICAT added. OGG (https://dallas.oggdevops.us:9100 Dallas as oggadmin) 5> edit params REPINIT OGG (https://dallas.oggdevops.us:9100 Dallas 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://dallas.oggdevops.us:9100 Dallas 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://phoenix.oggdevops.us:9100 Phoenix as oggadmin) 15> add extract EXTINIT sourceistable 2018-03-16T14:08:38Z INFO OGG-08100 EXTRACT added. OGG (https://phoenix.oggdevops.us:9100 Phoenix as oggadmin) 16> edit params EXTINIT OGG (https://phoenix.oggdevops.us:9100 Phoenix 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://phoenix.oggdevops.us:9100 Phoenix 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: 分散パスの作成
AdminClientからリモート・ホストに対してローカル証跡をコピーするための2つの分散パス(AABB
およびCCDD
)を作成します。
OGG (https://phoenix.oggdevops.us:9100 Phoenix) 15> add distpath AABB source trail://phoenix.oggdevops.us: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://phoenix.oggdevops.us:9100 Phoenix) 16> add distpath CCDD source trail://phoenix.oggdevops.us: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://phoenix.oggdevops.us:9100 Phoenix) 17> start distpath AABB 2018-03-16T17:28:42Z INFO OGG-08513 The path 'AABB' has been started. OGG (https://phoenix.oggdevops.us:9100 Phoenix) 18> start distpath CCDD 2018-03-16T17:28:47Z INFO OGG-08513 The path 'CCDD' has been started.
手順6: プライマリReplicat REPPRIMの作成
初期ロードExtractおよびReplicatが完了すると、それらは削除できます。次に、プライマリReplicatプロセスがリモート・ホスト上に作成され、変更データがターゲット・データベースに適用されます。
AdminClientを使用してプライマリReplicatプロセスを作成します。
注意:
プライマリReplicatはインスタンス化SCNで起動されます。OGG (https://dallas.oggdevops.us:9100 Dallas as oggadmin) 12> add replicat REPPRIM exttrail BB checkpointtable oggadmin.checkpoints 2018-03-16T17:37:46Z INFO OGG-08100 REPLICAT added. OGG (https://dallas.oggdevops.us:9100 Dallas as oggadmin) 13> edit params REPPRIM OGG (https://dallas.oggdevops.us:9100 Dallas 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://dallas.oggdevops.us:9100 Dallas 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