SOURCEISTABLEを使用した初期ロードExtractのインスタンス化
SOURCEISTABLEパラメータを指定した初期ロードExtractの場合は、この手順を使用します。この手順は、Oracle Data Pumpまたは正確なインスタンス化方法を使用したインスタンス化を目的としていません。このプロシージャでは、正確な位置ではなくHANDLECOLLISIONSを使用して、初期データのロード中にソース・データベースをアクティブなままにできます。
この例では、Oracleソースとターゲット、HRスキーマおよび次の証跡名を使用します。
AA: 進行中の変更データのソース証跡。BB: 進行中の変更データのターゲット証跡。CC: 初期ロード・データのソース証跡。DD: 初期ロード・データのターゲット証跡。
ノート:別名、URL、ホスト、ポート、スキーマ名および証跡名の例を環境の値に置き換えます。
ステップ1: プライマリTRANLOG抽出の作成および開始
ソース・デプロイメントに接続します。Oracleソースの場合は、サプリメンタル・ロギングを有効にし、統合プライマリExtractを作成して登録し、初期ロードを開始する前に起動します。REGISTER EXTRACTによって戻された登録SCNを記録します。この値を取得するためにのみコマンドを再実行しないでください。
ADMINCLIENT: Source deployment
OGG (not connected) 1> CONNECT https://<source-admin-url> AS <deployment-user> PASSWORD "<deployment-password>"
OGG (https://<source-admin-url> source_deployment) > DBLOGIN USERIDALIAS <source-db-alias>
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > ADD SCHEMATRANDATA hr
スキーマ全体ではなく選択した表にロギングが必要な場合は、これらの表にADD TRANDATAを使用します。次に例を示します。
ADD TRANDATA hr.*
プライマリExtractを作成して登録し、そのパラメータ・ファイルを作成します。
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > ADD EXTRACT extprim INTEGRATED TRANLOG BEGIN NOW
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > REGISTER EXTRACT extprim DATABASE
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > EDIT PARAMS extprim
プライマリExtractパラメータ・ファイル(EXTPRIM):
EXTRACT extprim
USERIDALIAS <source-db-alias>
EXTTRAIL AA
TABLE hr.*;
ローカル・ソース証跡を作成し、プライマリExtractを起動します。
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > ADD EXTTRAIL AA EXTRACT extprim MEGABYTES 2000
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > START EXTRACT extprim
コンテナ・データベースの場合は、適切な3つの部分からなるオブジェクト名または有効なSOURCECATALOG文を使用します。その他のソース・データベース・タイプの場合は、データベース固有の登録、ロギングおよび開始位置の構文を使用します。
ステップ2: 初期読込みExtractの作成および起動
初期ロードExtractは、タスクExtractです。ソース表を読み取り、ローカル初期ロード証跡CCにレコードを書き込みます。Oracle固有のSQLPREDICATE "AS OF SCN"句では、選択した一貫性ポイントで表の内容が選択されます。
初期ロードReplicatを起動する前に、プライマリTRANLOG Extractの起動時に開いていたすべてのトランザクションがコミットされていることを確認します。オープン状態のトランザクションは、初期ロードExtractまたはプライマリTRANLOG Extractによって取得されず、失われる可能性があります。
初期ロードExtractとそのパラメータ・ファイルを作成します。
ADMINCLIENT: Source deployment
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > ADD EXTRACT extinit SOURCEISTABLE
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > EDIT PARAMS extinit
初期ロードExtractパラメータ・ファイル(EXTINIT):
EXTRACT extinit
USERIDALIAS <source-db-alias>
EXTFILE CC MEGABYTES 2000 PURGE
TABLE hr.*, SQLPREDICATE "AS OF SCN <instantiation-scn>";
Oracle GoldenGate 26ai以降では、初期ロードExtractでワイルドカードを使用したTABLE文によってビューが解決されません。ビューを含めるには、ワイルドカードを使用せずに別々に指定します。次に例を示します。
TABLE hr.employees_view;
初期ロードExtractを起動および監視します。
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > START EXTRACT extinit
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > INFO EXTRACT extinit DETAIL
OGG (https://<source-admin-url> source_deployment as <source-db-alias>) > VIEW REPORT extinit
ステップ3: 分散サービス・パスの作成および起動
ソース・デプロイメントからパスを作成します。SOURCE URIは、ソース分散サービスおよびローカル証跡を識別します。TARGET URIは、ターゲット・レシーバ・サービスおよびターゲット証跡を識別します。ソースおよびターゲットの証跡名は、対応するストリームに対して作成された証跡と一致する必要があります。
進行中の変更データのパスを作成します(AAからBB)。
ADMINCLIENT: Source deployment
OGG (https://<source-admin-url> source_deployment) > ADD DISTPATH aabb SOURCE trail://<source-dist-host>:<source-dist-port>/services/v2/sources?trail=AA TARGET wss://<target-recv-host>:<target-recv-port>/services/v2/targets?trail=BB
OGG (https://<source-admin-url> source_deployment) > START DISTPATH aabb
OGG (https://<source-admin-url> source_deployment) > INFO DISTPATH aabb DETAIL
初期ロード・データのパスを作成します(CCからDD)。
OGG (https://<source-admin-url> source_deployment) > ADD DISTPATH ccdd SOURCE trail://<source-dist-host>:<source-dist-port>/services/v2/sources?trail=CC TARGET wss://<target-recv-host>:<target-recv-port>/services/v2/targets?trail=DD
OGG (https://<source-admin-url> source_deployment) > START DISTPATH ccdd
OGG (https://<source-admin-url> source_deployment) > INFO DISTPATH ccdd DETAIL
パス認証が必要なセキュア・ターゲットの場合は、各ADD DISTPATHコマンドに次の句を追加します。
AUTHENTICATION USERIDALIAS <target-path-alias> DOMAIN <target-path-domain>
別名がデフォルト・ドメインにある場合は、DOMAINを省略します。別名およびドメインは、ソース・デプロイメントのターゲット・パス認証用に構成する必要があります。
wsまたはwssのかわりにレガシーoggプロトコルを使用する場合は、ADD DISTPATHコマンドで適切なTARGETTYPEオプションも指定します。
ステップ4: 初期読み込みReplicatの作成および開始
ターゲット・デプロイメントに接続し、チェックポイント表を作成し、ターゲット証跡DDを読み取る非統合初期ロードReplicatを追加します。Replicatは、初期ロード証跡が到着する前に起動できます。分散パスの実行後、DDからのデータを待機します。
ADMINCLIENT: Target deployment
OGG (not connected) 1> CONNECT https://<target-admin-url> AS <deployment-user> PASSWORD "<deployment-password>"
OGG (https://<target-admin-url> target_deployment) > DBLOGIN USERIDALIAS <target-db-alias>
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > ADD CHECKPOINTTABLE ggadmin.ggcheckpoint
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > ADD REPLICAT repinit EXTTRAIL DD CHECKPOINTTABLE ggadmin.ggcheckpoint
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > EDIT PARAMS repinit
初期ロードReplicatパラメータ・ファイル(REPINIT):
REPLICAT repinit
USERIDALIAS <target-db-alias>
MAP hr.*, TARGET hr.*;
初期ロードReplicatを起動および監視します。
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > START REPLICAT repinit
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > INFO REPLICAT repinit DETAIL
ステップ5: 初期ロードを完了し、1回かぎりのオブジェクトを削除する
初期ロードExtractが入力の最後に達し、CCからDDへのパスによってすべてのレコードがDDに配信され、REPINITによって適用されるまで待機します。次のチェックを使用します。
ADMINCLIENT: Source deployment
OGG (https://<source-admin-url> source_deployment) > INFO EXTRACT extinit DETAIL
OGG (https://<source-admin-url> source_deployment) > INFO DISTPATH ccdd DETAIL
ADMINCLIENT: Target deployment
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > INFO REPLICAT repinit DETAIL
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > SEND REPLICAT repinit, LOGEND
初期ロード結果を検証したら、1回限りのパスとプロセスオブジェクトのみを削除します。プライマリExtract EXTPRIMおよびプライマリ・パスAABBを保持します。
ソース・デプロイメントから:
STOP DISTPATH ccdd
DELETE DISTPATH ccdd
STOP EXTRACT extinit
DELETE EXTRACT extinit
ターゲット・デプロイメントから、REPINITがまだ実行されている場合は停止し、削除します。
STOP REPLICAT repinit
DELETE REPLICAT repinit
DELETE EXTRACTにはOracle用の適切なソース・データベース・ログインが必要で、DELETE REPLICATにはターゲット・データベース・ログインが必要です。プロセス・グループを削除しても、必ずしもそのパラメータ・ファイルまたは証跡ファイルが削除されるとはかぎりません。デプロイメントでサポートされている管理操作を通じて、保持されているアーティファクトを管理します。
ステップ6: HANDLECOLLISIONSを使用したプライマリReplicatの作成および起動
ターゲットにプライマリReplicatを作成します。このプロシージャはHANDLECOLLISIONSを使用し、プライマリReplicatは初期ロード・データと重複する可能性のある変更を適用します。
HANDLECOLLISIONSワークフローでは、サポートされている場合は非統合プライマリReplicatを使用します。統合Oracle ReplicatでHANDLECOLLISIONSを使用しないでください。統合Replicatが必要な場合は、正確なインスタンス化方法を使用してください。
ADMINCLIENT: Target deployment
OGG (https://<target-admin-url> target_deployment) > DBLOGIN USERIDALIAS <target-db-alias>
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > ADD REPLICAT repprim EXTTRAIL BB CHECKPOINTTABLE ggadmin.ggcheckpoint
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > EDIT PARAMS repprim
プライマリReplicatパラメータ・ファイル(REPPRIM):
REPLICAT repprim
USERIDALIAS <target-db-alias>
HANDLECOLLISIONS
MAP hr.*, TARGET hr.*;
プライマリReplicatを起動および監視します。
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > START REPLICAT repprim
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > INFO REPLICAT repprim DETAIL
OGG (https://<source-admin-url> source_deployment) > INFO DISTPATH aabb DETAIL
プライマリReplicatが、初期ロード中にキューに入れられた変更をキャッチアップして処理した後、HANDLECOLLISIONSを無効にします。
OGG (https://<target-admin-url> target_deployment as <target-db-alias>) > SEND REPLICAT repprim, NOHANDLECOLLISIONS
SEND REPLICAT ... NOHANDLECOLLISIONSは、現在の実行の衝突処理を無効にしますが、パラメータ・ファイルからHANDLECOLLISIONSは削除しません。次回の再起動前にパラメータ・ファイルからHANDLECOLLISIONSを削除するか、影響を受けるMAP文の前にNOHANDLECOLLISIONSを追加します。