サブセット・データベース・レプリケーションのロギングの有効化

Oracleソース・データベースを強制ロギング・モードにすることを強くお薦めします。強制ロギング・モードでは、すべてのトランザクションおよびロードのロギングを強制し、反対にユーザーまたは記憶域の設定をオーバーライドします。これにより、Extract構成のソース・データが失われることがなくなります。

サブセット・データベース・レプリケーションと呼ばれる詳細なデータベース・サプリメンタル・ロギング・モードがあります。これは、すべてのOracle GoldenGateおよびXStreamクライアントの基本的な推奨モードです。これは、以前に使用していた最小サプリメンタル・ロギング・モードにかわるものです。

詳細は、Oracle Database SQL言語リファレンスALTER DATABASE を参照してください。

現時点では、サブセット・データベース・レプリケーション・ロギングは、CDB$ROOTで有効になっています(これは、すべてのユーザーPDBに継承されます)。

ノート:

データベース・レベルの主キー(PK)および一意索引(UI)のロギングは、表のサブセットをレプリケートする場合にかぎり非推奨です。ライブ・スタンバイで使用することも、移行やアップグレードの停止時間を短縮するために、Oracle GoldenGateがすべての表をレプリケートする場合に使用することもできます。

次のステップを実行して、サブセット・データベース・レプリケーション・ロギングと強制ロギングを確認し、必要に応じて有効化します。

  1. ALTER SYSTEM権限を持つユーザーとしてSQL*Plusにログインします。
  2. 次のコマンドを発行し、データベースがサプリメンタル・ロギング・モードかどうか、および強制ロギング・モードかどうかを確認します。両方の問合せで結果がYESの場合、データベースはOracle GoldenGate要件を満たしています。
    SELECT SUPPLEMENTAL_LOG_DATA_MIN, FORCE_LOGGING FROM V$DATABASE;
  3. いずれかまたは両方のプロパティで結果がNOの場合、次のステップに進み、必要に応じて有効化します。
    ALTER PLUGGABLE DATABASE pdbname ADD SUPPLEMENTAL LOG DATA SUBSET DATABASE REPLICATION;;
    ALTER DATABASE FORCE LOGGING;
  4. 次のコマンドを発行し、これらのプロパティが有効化されていることを確認します。
    SELECT SUPPLEMENTAL_LOG_DATA_MIN, FORCE_LOGGING FROM V$DATABASE;

    両方のプロパティで、この問合せの出力がYESになる必要があります。

  5. ログ・ファイルを切り替えます。
    ALTER SYSTEM SWITCH LOGFILE;
ディクショナリの検証を実行するには、次のコマンドを実行します。
SELECT con_id, MINIMAL, SUBSET_REP, PRIMARY_KEY, UNIQUE_INDEX, FOREIGN_KEY, ALL_COLUMN FROM CDB_SUPPLEMENTAL_LOGGING;
この問合せの出力は、YESになります。
SUBSET_REP = YES
次の問合せがあるとします。
SELECT NAME, LOG_MODE, FORCE_LOGGING, SUPPLEMENTAL_LOG_DATA_MIN,
SUPPLEMENTAL_LOG_DATA_PK PK, SUPPLEMENTAL_LOG_DATA_UI UI,
SUPPLEMENTAL_LOG_DATA_FK FK, 
SUPPLEMENTAL_LOG_DATA_ALL,
SUPPLEMENTAL_LOG_DATA_SR FROM V$DATABASE;

SUPPLEMENTAL_LOG_DATA_SRに対する問合せの出力はYESになり、SUPPLEMENTAL_LOG_DATA_MINに対する問合せの出力はIMPLICITになります。

以前の最小サプリメンタル・ロギングから新しいサブセット・サプリメンタル・ロギングに切り替えるには:
  1. CDB$ROOTの以前の上位レベルを削除します。
    ALTER DATABASE DROP SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS; 
    ALTER DATABASE DROP SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
    ALTER DATABASE DROP SUPPLEMENTAL LOG DATA;
  2. subset database replicationモードのみを追加します。
    ALTER PLUGGABLE DATABASE pdbname ADD SUPPLEMENTAL LOG DATA SUBSET DATABASE REPLICATION;
  3. すべてのPDBが、このsubset database replicationモードを継承していることを確認します。