2.69 REGISTER EXTRACT

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

Oracleデータベース

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

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

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

  • リカバリに必要なアーカイブ・ログを保持するため、Oracle Recovery Managerで動作するように、Extractをクラシック・キャプチャ・モードで有効にする

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

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

構文

クラシックExtractの場合:

REGISTER EXTRACT group_name LOGRETENTION

統合Extractの場合:

REGISTER EXTRACT group-name>
 ( LOGRETENTION | DATABASE
          ( [ CONTAINER container-list |
              ADD   CONTAINER container-list |
              DROP  CONTAINER container-list ]  
            [ SCN   scn   ]  
            [ SHARE ( AUTOMATIC | group-name | NONE ) ]  
            [ [NO]OPTIMIZED ]  
)
)

Container-listは、PDB名のカンマ区切りのリスト(例: (pdb1, pdb2))やワイルドカード指定のPDB名(例: (pdb*またはpdb?))、またはその両方(例: (cdb1_pdb1, pdb*))です。サポートされるワイルドカードは、?*です。

OPTIMIZEDオプションにより、Extractの高速起動が向上します。デフォルト値はNOOPTIMIZEDです。OPTIMIZEDオプションは、アップストリームのマルチテナント以外の構成にのみ影響を与えます。

group_name

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

LOGRETENTION

クラシックExtractのみに有効です。Extractがリカバリに必要とするログを保持するため、Oracle Recovery Manager (RMAN)で動作するように、Extractグループをクラシック・キャプチャ・モードで有効にします。Extractグループが統合キャプチャ用に構成されている場合、LOGRETENTIONは無視されます。

ログは、現在のデータベースSCNに基づいて、REGISTER EXTRACTが発行された時点から保持されます。ログ保持機能は、TRANLOGOPTIONSパラメータのLOGRETENTIONオプションで制御されます。

REGISTER EXTRACTLOGRETENTIONとともに使用する前に、権限を使用してDBLOGINコマンドを発行します。

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 (pdb1, pdb2, pdb3)のようにカッコで囲んだカンマ区切りリストとして指定します。プラガブル・データベースをリストする場合、これらはデータベース内に存在する必要があります。ワイルドカード*?を使用して、プラガブル・データベースを指定することもできます。たとえば、CONTAINER (pdb*)とします。

ADD CONTAINER (container[, ...])

指定したプラガブル・データベースを既存のExtractキャプチャ構成に追加します。1つ以上のプラガブル・データベースをかっこで囲んだカンマ区切りリストとして指定するか、ワイルドカードの*?を使用して指定します。たとえば、ADD CONTAINER (pdb1, pdb2, pdb3)のようにします。このオプションを指定してREGISTER EXTRACTを発行する前に、Extractグループを停止します。

Oracleの場合、既存のExtractの特定のSCNでコンテナを追加することはサポートされなくなりました。

DROP CONTAINER (container[, ...])

指定したプラガブル・データベースを既存のExtractキャプチャ構成から削除します。1つ以上のプラガブル・データベースをかっこで囲んだカンマ区切りリストとして指定するか、ワイルドカードの*?を使用して指定します。たとえば、DROP CONTAINER (pdb1, pdb2, pdb3)とします。

コンテナの登録削除は、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 sales LOGRETENTION
REGISTER EXTRACT sales DATABASE
REGISTER EXTRACT sales DATABASE CONTAINER (sales, finance, hr)
REGISTER EXTRACT sales DATABASE ADD CONTAINER (customers)
REGISTER EXTRACT sales DATABASE DROP CONTAINER (finance)
REGISTER EXTRACT sales DATABASE SCN 136589

ディクショナリのビルドの開始SCNは136589です。

REGISTER EXTRACT sales DATABASE SCN 67000 SHARE ext2

この場合の有効な開始SCNは67000で、必ずしも現在のSCNにはなりません。

REGISTER EXTRACT sales DATABASE CONTAINER (sales, finance, hr) SCN 136589

PostgreSQL

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

構文

REGISTER EXTRACT Extract

REGISTER EXTRACT Extract with DATABASE database_name

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

REGISTER EXTRACT Extract
REGISTER EXTRACT esales WITH DATABASE salesdb