REGISTER EXTRACT

このコマンドは、Oracle DatabaseおよびPostgreSQLに適用されます。

Oracleデータベース

Oracleデータベースの場合は、REGISTER EXTRACTを使用して、次の目的で、プライマリExtractグループをOracleデータベースに登録します。

  • 統合キャプチャ・モードを有効にする

  • マルチテナント・コンテナ・データベースから統合Extractするためのオプションを指定する

REGISTER EXTRACTは、データ・ポンプExtractには無効です。

Extractグループをデータベースから登録解除するには、UNREGISTER EXTRACTコマンドを使用します。

PostgreSQL

このコマンドを使用すると、レプリケーション・スロットが接続済のソース・データベースに作成されます。このコマンドを使用すると、レプリケーション・スロットが移動または削除されるまで、PostgreSQLデータベースはトランザクション・ログをパージしません。ADD EXTRACTコマンドを実行する前に、REGISTER EXTRACTコマンドを実行する必要があります。Extractを登録する前に、DBLOGINを使用したデータベース接続が必要です。

Oracle GoldenGate 21.3以降のリリースでは、database_nameの入力は必須ではありません。

構文

Oracle:

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オプションは、アップストリームのマルチテナント以外の構成にのみ影響を与えます。

PostgreSQL:
REGISTER EXTRACT Extract
または
REGISTER EXTRACT Extract with DATABASE database_name

レプリケーション・スロットは、指定したExtractグループ名のデータベースに作成されます。

group_name

登録するExtractグループの名前。ワイルドカードは使用しないでください。

DATABASE [
CONTAINER (container[, ...]) |
ADD CONTAINER (container[, ...]) |
DROP CONTAINER (container[, ...])
]

オプションを指定しないDATABASEでは、ExtractグループのCDB以外のデータベースからの統合キャプチャが可能になります。このモードでは、Extractは、論理変更レコード(LCR)の形式で変更データを受信するデータベース・ログマイニング・サーバーと統合します。ExtractはREDOログを読み取りません。Extractは、取得処理、変換およびその他の要件を実行します。DMLフィルタリングはログマイニング・サーバーによって実行されます。

DATABASEを指定してREGISTER EXTRACTを使用する前に、dbms_goldengate_auth.grant_admin_privilegeプロシージャを使用して付与した権限で、すべてのExtractにDBLOGINコマンドを使用します。ダウンストリーム構成がある場合は、MININGDBLOGINコマンドも発行する必要があります。登録するソース・データベースがCDBデータベースで、Extractがデータをフェッチする場合は、CONTAINER=>'ALL'パラメータでgrant_admin_privilegeをコールする必要があります。

REGISTER EXTRACTを使用した後で、ADD EXTRACTINTEGRATED 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

Extractを登録して、過去の特定のシステム変更番号(SCN)でキャプチャを開始します。このオプションを指定しないと、キャプチャはREGISTER EXTRACTが発行された時点から開始します。指定したSCNは、ログ・ファイルのディクショナリ作成操作の開始SCNに対応している必要があります。次の問合せを発行して、すべての有効なSCN値を検索できます。

SELECT first_change#
   FROM v$archived_log 
   WHERE dictionary_begin = 'YES' AND 
      standby_dest = 'NO' AND
      name IS NOT NULL AND 
      status = 'A';

単独で使用する場合、SCN値はログ・ファイルのディクショナリ作成操作の開始SCNになります。

SHARE AUTOMATICまたはSHARE extract_nameと組み合せて使用した場合、指定したSCNはキャプチャ・セッションのstart_scnになり、次の制限があります。

  • 現在のSCN以下になるようにしてください。

  • 既存のキャプチャの最小値(最初のSCN)より大きくなるようにしてください。

{SHARE [
AUTOMATIC |
extract |
NONE]}

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句と組み合せて使用する必要があります

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
PostgreSQLの場合:
REGISTER EXTRACT exte WITH DATABASE hr