REGISTER EXTRACT
このコマンドは、Oracle AI DatabaseおよびPostgreSQLに適用されます。
Oracle AI Database
このコマンドは、プライマリExtractグループを登録して統合取得モードを有効にし、マルチテナント・コンテナ・データベースからの統合Extractのオプションを指定します
Extractグループをデータベースから登録解除するには、UNREGISTER EXTRACTコマンドを使用します。
構文:
REGISTER EXTRACT group-name
( , DATABASE
( [ CONTAINER container-list |
ADD CONTAINER container-list |
DROP CONTAINER container-list ]
[ SCN scn ]
[ SHARE ( AUTOMATIC | group-name | NONE ) ]
[ [NO]OPTIMIZED ]
) )
Container-listは、PDB名のカンマ区切りのリスト(例: (pdbeast, pdbwest))やワイルドカード指定のPDB名(例: (pdb*またはpdb?))、またはその両方(例: (cdbnorth, pdb*))です。サポートされるワイルドカードは、?と*です。
OPTIMIZEDオプションによって、Extractの起動の高速化が強化されます。デフォルト値はNOOPTIMIZEDです。OPTIMIZEDオプションは、アップストリームのマルチテナント以外の構成にのみ影響を与えます。
DATABASE [
CONTAINER (container[, ...]) |
ADD CONTAINER (container[, ...]) |
DROP CONTAINER (container[, ...])
]
Oracleで有効です。
オプションを指定しないDATABASEでは、ExtractグループのCDB以外のデータベースからの統合キャプチャが可能になります。このモードでは、Extractは、データベース・ログマイニング・サーバーと統合され、論理変更レコード(LCR)の形式で変更データを受信します。Extractは、REDOログを読み取りません。Extractは、取得処理、変換および他の要件を実行します。DMLフィルタリングは、ログマイニング・サーバーによって実行されます。
DATABASEを指定してREGISTER EXTRACTを使用する前に、dbms_goldengate_auth.grant_admin_privilegeプロシージャを使用して付与した権限で、すべての抽出にDBLOGIN USERIDALIASコマンドを使用。ダウンストリーム構成がある場合、MININGDBLOGINコマンドも発行する必要があります。登録するソース・データベースがCDBデータベースで、Extractがデータをフェッチする場合は、CONTAINER=>'ALLのパラメータでgrant_admin_privilegeをコールする必要があります。
REGISTER EXTRACTを使用した後で、ADD EXTRACTをINTEGRATED TRANLOGオプションとともに使用して、同じ名前のExtractグループを作成します。
CONTAINER (container[, ...])
マルチテナント・コンテナ・データベース(CDB)の1つ以上のプラガブル・データベース(コンテナ)のリストに登録を適用します。1つ以上のプラガブル・データベースを、CONTAINER (pdbeast, pdbwest)など、カッコ内のカンマ区切りリストとして指定します。プラガブル・データベースをリストする場合、それらはデータベースに存在する必要があります。ワイルドカード*と?を使用して、プラガブル・データベースを指定することもできます。たとえば、CONTAINER (pdb*)とします。
ADD CONTAINER (container[, ...])
指定したプラガブル・データベースを既存のExtract取得構成に追加します。1つ以上のプラガブル・データベースをかっこで囲んだカンマ区切りリストとして指定するか、ワイルドカードの*と?を使用して指定します。例: ADD CONTAINER (pdbeast, pdbwest)。このオプションを指定してREGISTER EXTRACTを発行する前に、Extractグループを停止します。
Oracleでは、既存のExtractで特定のSCNにコンテナを追加することはサポートされません。
DROP CONTAINER (container[, ...])
指定したプラガブル・データベースを既存のExtract取得構成から削除します。1つ以上のプラガブル・データベースをかっこで囲んだカンマ区切りリストとして指定するか、ワイルドカードの*と?を使用して指定します。たとえば、DROP CONTAINER (pdbeast, pdbwest)です。
drop containerオプションを実行した後のExtractの登録は、Extractが起動され、ExtractのチェックポイントSCNより大きい削除済のプラガブル・データベースからコミットされたトランザクションを読み取るまで完全には行われません。その後、Extractによりコンテナが完全に削除され、メッセージが表示されて停止します。
このオプションを指定してREGISTER EXTRACTを実行する前に、Extractグループを停止します。
SCN system_change_number
過去の特定のシステム変更番号(SCN)から取得を開始するようにExtractを登録します。このオプションを指定しないと、キャプチャはREGISTER EXTRACTの発行時から開始されます。指定したSCNは、ログ・ファイルのディクショナリ・ビルド操作の開始SCNに対応している必要があります。次の問合せを発行して、CDBレベルでディクショナリ・ダンプからすべての有効なSCN値を検索できます:
SELECT first_change#
FROM v$archived_log
WHERE dictionary_begin = 'YES' AND
standby_dest = 'NO' AND
name IS NOT NULL AND
status = 'A';
ただし、PDBごとのExtractを登録する場合、この問合せは機能しません。特定のPDBの使用可能なディクショナリ・ダンプの開始SCNを識別するには、次のステップに従います。
-
PDBに接続します。
-
show con_idコマンドを実行して、PDB識別子を取得します。 -
次の問合せを実行して、使用可能なすべてのディクショナリ・ダンプを降順にリストします。
SELECT DATE_OF_BUILD, START_SCN FROM dba_logmnr_dictionary_buildlog WHERE CONTAINER_ID = PDB identifier ORDER BY DATE_OF_BUILD DESC;
単独で使用すると、SCN値は、ログ・ファイルのディクショナリ・ビルド操作の開始SCNになります。
SHARE AUTOMATICまたはSHARE extract_nameと組み合せて使用した場合、指定したSCNはキャプチャ・セッションのstart_scnとなり、次の制限があります。
-
現在のSCN以下にする必要があります。
-
既存の取得の最小値(先頭SCN)より大きくする必要があります。
{SHARE [ AUTOMATIC | extract | NONE]}
Oracleで有効です。
指定したSCNでクローンを作成して既存のLogMinerデータ・ディクショナリ・ビルドに戻るようにExtractを登録します。これにより、既存のディクショナリ・ビルドを利用してExtractを高速に作成できます。
SHAREはCDBでは使用できません。
次のコマンドがサポートされます:
REGISTER EXTRACT extract database SCN #### SHARE AUTOMATIC
REGISTER EXTRACT extract database SCN #### SHARE extract
REGISTER EXTRACT extract database SHARE NONE
REGISTER EXTRACT extract database SCN #### SHARE NONE
または
REGISTER EXTRACT extract database SHARE NONE
REGISTER EXTRACT extract database SCN #### SHARE NONE
一方、ダウンストリーム構成では、次のコマンドはサポートされません:
REGISTER EXTRACT extract DATABASE SHARE AUTOMATIC
REGISTER EXTRACT extract DATABASE SHARE extract
AUTOMATIC
既存の最も近い取得からクローニングします。適切なクローン候補が見つからない場合、新しいビルドが作成されます。
extract
指定したExtractに関連付けられた取得セッションからクローニングします。これが不可能な場合、エラーが発生して登録は完了しません。
NONE
クローニングや新しいビルドの作成は行われません。これがデフォルトです。
ダウンストリーム構成では、Extractの登録時にSHARE句をSCN句と組み合せて使用する必要があります。
PostgreSQL
このコマンドでは、接続されたソース・データベースにレプリケーション・スロットが作成され、レプリケーション・スロットを移動または削除するまで、PostgreSQLデータベースがトランザクション・ログをパージしないことが保証されます。ADD EXTRACTコマンドを実行する前に、REGISTER EXTRACTコマンドを実行する必要があります。
Extractを登録する前に、DBLOGIN USERIDALIASを使用してPostgreSQLデータベース・インスタンスに接続する必要があります。
Oracle GoldenGate Administration Service WebインタフェースからExtractを登録することもできます。詳細は、Oracle GoldenGate MicroservicesドキュメントのPostgreSQLのExtractの登録を参照してください。
TRANLOGOPTIONS STREAMINGOPTIONSパラメータを使用してPostgreSQLのストリーミング・オプションを設定し、レプリケーションの起動時にパラメータを指定することもできます。詳細は、TRANLOGOPTIONSを参照してください。
ノート: Oracle GoldenGate 21c (21.3)リリース以降では、database_nameの入力は必須ではありません。
構文:
REGISTER EXTRACT group_name
または
REGISTER EXTRACT group_name PGPLUGINTYPE pgoutput;
ノート: pgoutputプラグインに明示的に登録するには、コマンドでpgoutputプラグイン・タイプを指定する必要があります。pgoutputプラグインを選択しない場合、デフォルトのプラグイン・タイプtest_decodingが設定されます。
または
REGISTER EXTRACT group_name MIGRATE replication_slot_name
または
REGISTER EXTRACT group_name with DATABASE database_name
または
group_name
登録するExtractグループの名前。ワイルドカードは使用しないでください。
MIGRATE replication_slot_name
PostgreSQLで有効です。
Extractプロセスでインストール・ディレクトリが異なるOracle GoldenGateアップグレードの場合は、MIGRATEオプションを指定したREGISTER EXTRACTが必要です。
replication_slot_nameは、データベースに存在する既存のレプリケーション・スロットの名前です。このコマンドは、元のスロットreplication_slot_nameに存在するLSN情報をコピーして、新しいレプリケーション・スロットを作成します。コピーされたレプリケーション・スロットは、元のスロットと同じLSNから開始されます。
ノート:元のレプリケーション・スロットは、新しいスロットを作成する場所と同じデータベースに存在する必要があります。
PGPLUGINTYPE test_decoding | pgoutput
PostgreSQLで有効です。
このオプションは、PostgreSQLの論理デコード・プラグインを選択できるように追加されました。test_decodingまたはpgoutputを選択できます。デフォルトでは、CDC Extractはtest_decodingプラグイン・タイプを使用して登録します。したがって、pgplugintypeをpgoutputとして指定しないと、test_decodingが自動的に使用されます。
例
REGISTER EXTRACT exte LOGRETENTION
REGISTER EXTRACT exte DATABASE
REGISTER EXTRACT exte DATABASE CONTAINER (pdbeast, pdbwest, pdbsouth)
REGISTER EXTRACT exte DATABASE ADD CONTAINER (pdbnorth)
REGISTER EXTRACT exte DATABASE DROP CONTAINER (pdbnorth)
REGISTER EXTRACT exte DATABASE SCN 136589
ディクショナリ・ビルドの開始SCNは、136589です。
REGISTER EXTRACT exte DATABASE SCN 67000 SHARE extw
有効な開始SCNは、この場合67000ですが、これは必ずしも現在のSCNではありません。
REGISTER EXTRACT exte DATABASE CONTAINER (pdbeast, pdbeast, pdbsouth) SCN 136589
PGOUTOPUTとして指定されたプラグイン・タイプのPostgreSQLの場合:
REGISTER EXTRACT exte PGPLUGINTYPE pgoutput WITH DATABASE hr