REGISTER EXTRACT
このコマンドは、Oracle DatabaseおよびPostgreSQLに適用されます。
Oracleデータベース
このコマンドは、プライマリ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プロシージャを使用して付与した権限で、すべてのExtractに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グループを停止します。
-
-
SCNsystem_change_number -
Extractを登録して、過去の特定のシステム変更番号(SCN)でキャプチャを開始します。このオプションを指定しないと、キャプチャは
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またはSHAREextract_nameと組み合せて使用した場合、指定したSCNはキャプチャ・セッションのstart_scnになり、次の制限があります。-
現在のSCN以下になるようにしてください。
-
既存のキャプチャの最小値(最初のSCN)より大きくなるようにしてください。
-
-
{SHARE [ AUTOMATIC |-
extract| NONE]}-
Oracleに有効です。
Extractを登録し、指定したSCNでクローンを作成する既存のLogMinerデータ・ディクショナリのビルドに戻ります。これにより、既存のディクショナリのビルドを利用した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管理サービスの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_nameREGISTER EXTRACT group_name with DATABASE database_nameまたは
-
group_name -
登録するExtractグループの名前。ワイルドカードは使用しないでください。
-
MIGRATE replication_slot_name -
PostgreSQLに有効です。
Oracle GoldenGateのアップグレードで、インストール・ディレクトリがExtractプロセスと異なる場合は、
REGISTER EXTRACTにMIGRATEオプションを指定する必要があります。replication_slot_nameは、データベースに存在する既存のレプリケーション・スロットの名前です。このコマンドは、元のスロットreplication_slot_nameに存在するLSN情報をコピーして、新しいレプリケーション・スロットを作成します。コピーされたレプリケーション・スロットは、元のスロットと同じLSNから開始されます。ノート:
元のレプリケーション・スロットは、新しいスロットを作成するデータベースと同じデータベースに存在する必要があります。
例
-
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