1.177 TRANLOGOPTIONS

適用対象

Extract

説明

TRANLOGOPTIONSパラメータでは、Extractと、トランザクション・ログまたはトランザクション・データを渡すAPI(データベースやキャプチャ・モードによって異なる)とのやり取り方法を制御します。TRANLOGOPTIONS文を同一のパラメータ・ファイル内で複数回使用することも、(オプションに許可されている場合は)同一のTRANLOGOPTIONS文内で複数のオプションを指定することもできます。

TRANLOGOPTIONSオプションは、対象のデータベースに対してのみ使用してください。

デフォルト

なし

構文

TRANLOGOPTIONS {[ADGAPPLYCHECKFREQ seconds | cseconds | mseconds]
[ADGCRETRYCOUNT number][ALLOWTABLECOMPRESSION][ALTLOGDEST path | REMOTE]
[ALWAYSONREADONLYROUTING]
[{DBLOGREADERBUFSIZE size}][ASYNCTRANSPROCESSING buffer_size]
[BUFSIZE size]
[CHECKPOINTRETENTIONTIME days][DB2APIRETRY 	retry_count]
[DB2ZV11COMPATIBILITYMODE][DICTIONARY_CACHE_SIZE value]
[DLFAILOVER_TIMEOUT seconds]
[DISABLESOFTEOFDELAY]
[EXCLUDETAG [tag | NULL] | [EXCLUDETAG +]
[EXCLUDETRANS transaction]
[EXCLUDEUSER user]
[EXCLUDEUSERID Oracle_uid]
[FAILOVERTARGETDESTID n][FETCHPARTIALLOB][FETCHPARTIALXML]
[FILTERTABLE table]
[FORCEFETCHLOB]
[GETCTASDML | NOGETCTASDML]
[HANDLEDLFAILOVER [STANDBY_WARNING value | STANDBY_ABEND value]]
[IGNOREDATACAPTURECHANGES | NOIGNOREDATACAPTURECHANGES][INCLUDEAUX (AUX_specification)]
[INCLUDEREGIONID | INCLUDEREGIONIDWITHOFFSET]
[INCLUDETAG tag]
[INTEGRATEDPARAMS (ENABLE_PROCEDURAL_REPLICATION Y] [, ...]) (ENABLE_AUTO_CAPTURE N]
[LOB_CHUNK_SIZE size][MAXAUTOCMTTRANSSIZE (range, default)][MININGUSER {/ | user}[, MININGPASSWORD password]
   [algorithm ENCRYPTKEY {key_name | DEFAULT}] [SYSDBA]
[MININGUSERALIAS alias [DOMAIN domain]]
[MIXEDENDIAN [ON|OFF]]
[MANAGECDCCLEANUP | NOMANAGECDCCLEANUP ] 
[MANAGESECONDARYTRUNCATIONPOINT | NOMANAGESECONDARYTRUNCATIONPOINT ]
[NOFLUSH]
[PATHMAP NFS_mount_point log_path]
[PREPAREFORUPGRADETOIE | NOPREPAREFORUPGRADETOIE]
[PERFORMANCEPROFILE HIGH|MEDIUM][QUERYTIMEOUT seconds]
[QUERYRETRYCOUNT seconds]
[READQUEUESIZE size]
[READTIMEOUT milliseconds]
[REDO_TRANSPORT_LAG_THRESHOLD seconds]
[REDO_TRANSPORT_LAG_TIMEOUT value]
[REQUIRELONGDATACAPTURECHANGES | NOREQUIRELONGDATACAPTURECHANGES]
[SOURCE_OS_TIMEZONE timezone]
[SUPPRESSNOOOPUPDATES][TRACKSCHEMACHANGES ]
[TRANCOUNT integer]
[TSLOOKUPBEGINLRI | TSLOOKUPENDLRI]
[VALIDATEINLINESFLOB]
[USE_ROOT_CONTAINER_TIMEZONE]
[USENATIVEOBJSUPPORT | NOUSENATIVEOBJSUPPORT][VERSIONCHECK DYNAMIC | IMMEDIATE]
}
ADGAPPLYCHECKFREQ seconds | cseconds | mseconds

Oracleの統合Extractに有効です。

ADGのキャッチ・アップを確認する各フェッチ・チェック間でExtractが待機する秒、センチ秒またはミリ秒を指定します。数値を小さくするとレイテンシは向上しますが、current_scn from v$databaseの問合せ数は増加します。デフォルト値は3秒、最小値は1秒、最大値は120秒です。

ADGCRETRYCOUNT number

Oracleの統合Extractに有効です。

このパラメータは、読取り専用で開かれたADGスタンバイ・データベースからフェッチするときに使用できます。ADGスタンバイは、Extractプロセスよりも大きなラグが発生することがあります。そのため、Oracle GoldenGateがADGスタンバイ・データベースから値をフェッチしようとしたときに、その値がまだ存在していないことがあります。このパラメータは(FETCHCHECKFREQおよびADGTIMEOUTと併用して)、Oracle GoldenGateが、そのデータをADGスタンバイからフェッチする間隔と頻度を制御する場合や、単にタイムアウトにしてフェッチのステップを完全にスキップするかどうかを制御する場合に使用できます。この固有のパラメータでは、フェッチを放棄してスキップするまでに、レコードについてデータベースを問い合せる回数を制御します。

ALWAYSONREADONLYROUTING
SQL Serverに有効です

ALWAYSONREADONLYROUTINGパラメータを使用すると、SQL Server用のExtractが常にオン可用性グループ・リスナーに接続された場合に、読取り専用処理を使用可能な読取り用セカンダリにルーティングできます。

ALTLOGDEST path | REMOTE

MySQLに有効です。

MySQLのログ索引ファイルの場所を指定します。Extractは、データベースのデフォルトの場所ではなく、この場所でログ・ファイルを探します。データベース構成にログの完全パス名が含まれていない場合、またはマシンに複数のMySQLがインストールされている場合に、ALTLOGDESTを使用できます。Extractではログ索引ファイルを読み取り、読取りが必要なバイナリ・ログ・ファイルが検索されます。ALTLOGDESTを使用する場合、Extractでは、ログと索引は同じ場所にあるとみなされます。

ディレクトリの完全パス名を指定します。Windowsでは、次の例のように、パスに空白が含まれる場合にパスを二重引用符で囲みます。

TRANLOGOPTIONS ALTLOGDEST "C:\Program Files\MySQL\MySQL Server 5.7\log\binlog.index"

Linuxでは次の形式を使用します。

TRANLOGOPTIONS ALTLOGDEST "/mnt/rdbms/mysql/data/logs/binlog.index" 

リモート・サーバーからキャプチャする場合や、リモート・キャプチャの場合は、リモート・サーバー上のインデックス・ファイルのパスのかわりにREMOTEオプションを指定するだけです。WindowsおよびLinuxの両方で、リモート・キャプチャの場合はExtractパラメータ・ファイルで次のように指定します。

TRANLOGOPTIONS ALTLOGDEST REMOTE

REMOTEオプションの使用方法の詳細は、「ロギング・パラメータの設定」を参照してください。

ASYNCTRANSPROCESSING buffer_size

Oracleの統合キャプチャ・モードのExtractに有効です。

統合キャプチャを非同期処理モードで実行するか、同期処理モードで実行するかを制御し、Extractが非同期モードの場合のバッファ・サイズを制御します。最小値は1、最大値は1024、デフォルト値は300です。

ASYNCTRANSPROCESSING buffer_size

非同期トランザクション処理モードには、2つの制御スレッドがあります。

  • 一方のスレッドは、論理変更レコード(LCR)をトランザクションにグループ化し、オブジェクトレベルのフィルタリングと部分ロールバック処理を行います。

  • 他方のスレッドは、コミットされたトランザクションをフォーマットし、ユーザー指定の変換を実行してトレイル・ファイルに書き込みます。

トランザクション・バッファは、これらの2つのスレッド間のバッファで、あるスレッドから別のスレッドへの転送に使用されます。デフォルト・トランザクション・バッファ・サイズはコミット済トランザクション300件分ですが、キャッシュ・メモリーが不足している場合はOracle GoldenGateメモリー・マネージャによって下方に調整されます。

NOASYNCTRANSPROCESSING

非同期処理を無効にし、Extractを同期モードで動作させます。このモードでは、1つのスレッドですべての取得処理を行います。

BUFSIZE size

DB2 LUWおよびDB2 z/OSに有効です。Oracle GoldenGate 19c以降では、DB2 for iに有効です。Oracle GoldenGate 21c以降では、Oracleデータベースに有効です。

トランザクション・ログから読み取られるデータを格納するために割り当てられるバッファの最大サイズ(バイト)を制御します。

値を大きくすると取得速度は向上しますが、Extractはより多くのメモリーを消費します。値を小さくすると、メモリーの使用量は減りますが、Extractはキャッシュ・サイズを超えるデータをディスクに保持する必要があるため、I/Oは増加します。

Oracleデータベースの場合、DDL操作のレコード・サイズは、Oracle GoldenGate内部レコード取得バッファ・サイズによって制限されます。DDLサイズは、Oracle RDBMSのサイズ制限まで指定できます。Oracleデータベース21cでは10MBを超えるDDLを作成できますが、内部レコード取得の最大バッファ・サイズは10MBに制限されています。

デフォルトのバッファ・サイズはREDOデータのソースによって決定されます。次に、有効範囲とデフォルト・サイズ(バイト)を示します。

DB2 LUW:

  • 最小: 8,192

  • 最大: 10,000,000

  • デフォルト: 204,800

  • 前述の値は、4096ページ・サイズの倍数である必要があります。指定された値がこの要件を満たさない場合、Extractは値を切り捨てて倍数にします。

DB2 z/OSおよびDB2 for i:

  • 最小: 36KB (36864)

  • 最大: 32MB (33554432)

  • デフォルト: 2MB (2097152)

  • 前述の値は、4096ページ・サイズの倍数である必要があります。指定された値がこの要件を満たさない場合、Extractは値を切り捨てて倍数にします。

  • それぞれのExtractは、そのExtractが接続するDB2 z/OSシステム上のECSAの固定68KBを使用します。これはDB2 for iには適用されません。

CHECKPOINTRETENTIONTIME days

Oracleの統合モードのExtractにのみ有効です。

パージされる前にExtractがチェックポイントを保持する日数を制御します。部分的な日数は、10進値を使用して指定されます。たとえば、8.25は8日と6時間を指定します。統合キャプチャ・モードのExtractのチェックポイントがパージされる場合、チェックポイントに対応するアーカイブ済REDOログ・ファイルのLogMinerデータ・ディクショナリ情報がパージされ、キャプチャ・プロセスのfirst_scn値は次のアーカイブ済REDOログの最初の変更に対応するSCN値にリセットされます。デフォルト値は7日、最小値は0.00001です。

DB2APIRETRY number of retries
ExtractがDB2のログ読取りAPI db2ReadLog()からエラーを受け取った場合、特定のエラーについてはAPIコールが再試行されます。この再試行の回数は、DB2APIRETRYを使用して変更します。デフォルトの再試行回数は3に設定されています。APIが再試行されるSQLコードは、SQLCODE -30108です。
DB2ZV11COMPATIBILITYMODE

DB2 z/OSのExtractに有効です。

Oracle GoldenGateを使用して一部の互換性モードのDB2 z/OSバージョン11から抽出すると、Extractプロセスで実際のデータベースのバージョンがプログラムによって決定されず、OGG-00551またはOGG-00804エラーが発生する場合があります。このオプションをExtractパラメータ・ファイルで使用して、正しいデータベース・バージョンを手動で設定します。

DICTIONARY_CACHE_SIZE value

このオプションを使用して、Extractからディクショナリ・キャッシュ・サイズをチューニングします。デフォルト値は5000です。PERFORMANCEPROFILEHIGHに設定されている場合、デフォルト値は10000です。

DLFAILOVER_TIMEOUT seconds

Oracleの統合モードのExtractに有効です。

ロール・トランジション後にスタンバイ・データベースの復帰を許可するための、構成可能なタイムアウト(秒)を指定します。これはHANDLEDLFAILOVERと一緒に使用して、統合Extractがロール・トランジションの直後に起動できるようにします。タイムアウト期間の終了時にスタンバイ・データベースがまだ使用できない場合、Extractは終了します。

デフォルトは300秒です。センチ秒またはミリ秒も使用できます。

DISABLESOFTEOFDELAY

OracleおよびDB2 LUWの統合モードのExtractにのみ有効です。

Extractパラメータ・ファイルでDISABLESOFTEOFDELAYを使用して、返すレコードがない状態でEOFステータスが報告されると、待機時間が有効になるように設定します。

[EXCLUDETAG [tag | NULL] | [EXCLUDETAG +]

Oracleの統合モードまたはクラシック・モードのExtractに有効です。

EXCLUDETAG tagでは、指定したREDOログでタグ付けされた各レコードを無視するようにExtractプロセスに指示します。Oracle Databaseのすべてのリリースがタグ付けをサポートしているとはかぎりませんが、このパラメータにはデータベース・リリースの制限がありません。古いバージョンと比較すると、新しいトレイル・ファイルにはタグ・トークンが含まれ、古いトレイル・リーダーの問題は発生しません。

EXCLUDETAG +では、REDOログでタグ付けされた各レコードを無視するようにExtractプロセスに指示します。

各レコードをタグ付けするには、Replicatパラメータ・ファイルでSETTAGオプションを指定してDBOPTIONSパラメータを使用します。これらのパラメータを使用して、双方向構成のReplicatの個別のレコードのサイクル(ループバック)を防いだり、他のトランザクションの取得をフィルタリングします。デフォルトのSETTAG値は00です。

次の例は、EXCLUDETAGを使用してタグ指定子を使用する方法です。
TRANLOGOPTIONS EXCLUDETAG 00
TRANLOGOPTIONS EXCLUDETAG +
TRANLOGOPTIONS EXCLUDETAG 0952
EXCLUDETRANS transaction

Oracleの統合Extractに有効です。

Replicatデータベース・ユーザーまたは他の任意のユーザーのトランザクション名を指定し、Extractによるこれらのトランザクションの取得を防ぎます。双方向処理で、データベース間でのデータのループを防止するために使用します。

双方向同期の詳細は、『Oracle GoldenGateの管理』アクティブ/アクティブ構成の概要に関する項を参照してください。

EXCLUDEUSER user

DB2 LUW、DB2 for z/OS、DB2 for iおよびOracleに有効です。

GETREPLICATESまたはIGNOREREPLICATESパラメータのルール適用対象となるトランザクションを特定するフィルタとして使用する、Replicatデータベース・ユーザーまたは他の任意のユーザーの名前を指定します。通常このオプションは、双方向またはカスケード処理構成で、除外または取得するReplicatトランザクションを特定するために使用します。ただしこのパラメータは、特定のビジネス・アプリケーションなど、その他のユーザーのトランザクションの特定にも使用できます。

EXCLUDEUSEREXCLUDEUSERIDは、同一のパラメータ・ファイルで使用できます。どちらのパラメータでもワイルドカードは使用しないでください。

ユーザー名は有効である必要があります。Oracle GoldenGateは、データベースに問い合せて関連するユーザーIDを取得し、この数値識別子をユーザー名にマップします。そのため、名前解決がデフォルトのDYNAMICRESOLUTIONに設定されているときに、指定されたユーザーが削除および再作成された場合、EXCLUDEUSERは有効のままです。名前解決がNODYNAMICRESOLUTIONに設定されているときに同一のトランザクションが実行されると、EXCLUDEUSERが無効になるため、Extractを停止してから再起動してEXCLUDEUSERを有効にする必要があります(「DYNAMICRESOLUTION | NODYNAMICRESOLUTION」を参照)。

  • z/OS上のDB2での考慮事項: z/OS上のDB2では、このユーザーは常にトランザクションのプライマリ許可IDで、通常はログオンした元のRACFユーザーのIDですが、トランザクション・プロセッサまたはDB2イグジットによって変更されているときは、別の許可IDの場合もあります。

  • Oracleでの考慮事項: Oracleデータベースでは、複数のEXCLUDEUSER文を使用できます。指定されたすべてのユーザーは、GETREPLICATESまたはIGNOREREPLICATESルールの対象になるという意味で、Replicatユーザーと同一とみなされます。他のすべてのサポート対象データベースとは異なり、適切に操作するにはEXCLUDEUSERIGNOREAPPLOPSパラメータを含める必要があります。EXLCUDEUSERは、マルチテナント・ソース・データベースではサポートされません。

次のOracle例は、2人のユーザーを(1人は名前、1人はユーザーIDで)フィルタ処理します。これらのユーザーによって生成されたトランザクションは、GETREPLICATESまたはIGNOREREPLICATESルールに従って処理され、新しいトランザクション・バッファ・サイズが指定されます。
TRANLOGOPTIONS EXCLUDEUSER ggsrep, EXCLUDEUSERID 90, BUFSIZE 100000
マルチテナントでEXCLUDEUSERを使用するには、PDB.USERNAMEを指定する必要があります。次の例では、PDBXYZ.SCOTTによるDML操作を除外します。
TRANLOGOPTIONS EXCLUDEUSER PDBXYZ.SCOTT
EXCLUDEUSERID Database_uid

OracleのExtractに有効です。

GETREPLICATESまたはIGNOREREPLICATESパラメータのルール適用対象となるトランザクションを特定するフィルタとして使用する、Replicatデータベース・ユーザーまたは他の任意のユーザーのデータベース・ユーザーID (uid)を指定します。このパラメータは、マルチテナントExtractでは無効です。そのかわりに、タグ付けとEXCLUDETAGを使用してください。

使用方法はEXCLUDEUSERと同じです。

Oracle_uidは、負でない整数で、最大値は2147483638です。ユーザーIDを取得するために問い合せることのできるシステムはいくつかあります。最も簡便なものはALL_USERSビューです。Oracle GoldenGateは、ユーザーIDを検証しません。指定したユーザーIDに関連付けられているユーザーが削除および再作成された場合、このユーザーには新しいユーザーIDが割り当てられるため、このユーザーにはEXCLUDEUSERIDは無効になります。

FAILOVERTARGETDESTID n

OracleのExtractに有効です。

Oracle Data Guardスタンバイ・データベースにまだ適用されていないREDOデータを抽出しない処理に関して、どのスタンバイ・データベースの後にOracle GoldenGate Extractプロセスがとどまるようにする必要があるかを指定します。適切な値for_FAILOVERTARGETDESTIDを特定するには、archive_log_destdatabase初期化パラメータを適切なアーカイブ・ログ宛先識別子であるnとともに使用します。最小値は0、最大値は32、デフォルト値は0です。

次の例では、TRANLOGOPTIONS FAILOVERTARGETDESTID Extractパラメータの使用方法を示します。
TRANLOGOPTIONS FAILOVERTARGETDESTID 2 
SQL> show parameters log_archive_dest 
NAME TYPE VA 
LUE 
------------------------------------ ----------- -- 
---------------------------- 
log_archive_dest_1 string location=USE_DB_RECOVERY_FILE_DEST, 
valid_for=(ALL_LOGFILES, ALL_ROLES) 
. 
log_archive_dest_2 string service="ggs2d", ASYNC NOAFFIRM delay=0 optional 
compression =disable max_failure=0 max_connections=1 reopen=300 
db_unique_name="GGS2D" net_timeout=30, 
valid_for=(online_logfile,all_roles) 
2に設定される理由は、Oracle GoldenGateが後にとどまる必要のあるスタンバイ・データベースだからです。1番目のエントリ(log_archive_dest_1)はそのデータベースのローカル・アーカイブ・ログ用で、2番目のエントリはスタンバイ・データベース用です。
FETCHPARTIALLOB

Oracleの統合キャプチャ・モードのExtractに有効です。

このオプションは、異種ターゲットにレプリケートする場合、またはLOBイメージ全体が必要なその他の場合に使用します。REDOレコードからの部分的な変更オブジェクトを使用せずに、Extractに完全なLOBオブジェクトをフェッチさせます。デフォルトでは、データベース・ログマイニング・サーバーは、ソースLOBのすべてが更新されたか一部が更新されたかに応じて、LOBの全体または一部をExtractに送信します。LOBのスナップショットが確実に正しいものになるように、Oracle Flashback機能を表に対して有効にし、Extractが使用するように構成する必要があります。ExtractのFETCHOPTIONSパラメータはフェッチを制御し、USESNAPSHOT (NOUSESNAPSHOTがない場合のデフォルト)に設定する必要があります。Flashbackスナップショットがない場合、Extractは表からLOBをフェッチしますが、REDOレコードが生成された時点とは異なるイメージである可能性があります。

FETCHPARTIALXML

統合キャプチャ・モードのOracleのExtractに有効です。

このオプションは、異種ターゲットにレプリケートする場合、またはLOBイメージ全体が必要なその他の場合に使用します。REDOレコードからの部分的な変更イメージを使用せずに、Extractに完全なXMLドキュメントをフェッチさせます。デフォルトでは、データベース・ログマイニング・サーバーは、ソースXMLのすべてが更新されたか一部が更新されたかに応じて、XMLドキュメントの全体または一部をExtractに送信します。XMLのスナップショットが確実に正しいものになるように、Oracle Flashback機能を表に対して有効にし、Extractが使用するように構成する必要があります。ExtractのFETCHOPTIONSパラメータはフェッチを制御し、USESNAPSHOT (NOUSESNAPSHOTがない場合のデフォルト)に設定する必要があります。Flashbackスナップショットがない場合、Extractは表からXMLドキュメントをフェッチしますが、REDOレコードが生成された時点とは異なるイメージである可能性があります。

FILTERTABLE table

MySQL、PostgreSQLおよびSQL ServerのExtractに有効です。

このオプションを使用して、フィルタリングするソース・トランザクションを識別します。指定したFILTERTABLEに対する操作がソース・トランザクションに含まれている場合、そのトランザクションはレプリケートされたトランザクションとして識別されます。トランザクションのフィルタリングは、GETREPLICATES/IGNOREREPLICATESおよびGETAPPLOPS/IGNOREAPPLOPSパラメータに基づきます。デフォルトはIGNOREREPLICATESであるため、フィルタ表のレプリケートされたトランザクションはすべてデフォルトで無視されます。

このオプションは、ターゲットReplicatで使用されるチェックポイント表の完全修飾名としてFILTERTABLEを指定することで、Oracle GoldenGateの双方向構成でのデータ・ループを回避するために使用できます。Replicatでチェックポイント表を使用すると、適用される各トランザクションの最後にリカバリ・レコードがチェックポイント表に書き込まれます。Replicatによって適用されるすべてのトランザクションにチェックポイント表への更新が含まれている場合、ExtractはReplicatによって適用されるトランザクション全体を無視するため、データ・ループが回避されます。PostgreSQLおよびSQL Serverの場合、チェックポイント表にTRANDATAが追加されていることを確認します。

このオプションは、レプリケートされたトランザクションの識別に使用できる単一のチェックポイント表がないため、パラレルReplicatではサポートされていません。

チェックポイント表の作成の詳細は、『Oracle GoldenGateの管理』チェックポイント表の作成に関する項を参照してください。オブジェクト名やワイルドカードを正しく指定するには、『Oracle GoldenGateの管理』データベース・オブジェクト名でのワイルドカードの使用に関する項を参照してください。

フィルタ表の完全修飾名を指定します。双方向シナリオのループ回避のために使用します。

TRANLOGOPTIONS FILTERTABLE ggschema.repcheckpointtable

ノート:

ReplicatがパラレルReplicatの場合、FILTERTABLEは使用できません。
FORCEFETCHLOB

Oracleのクラシックおよび統合キャプチャ・モードのExtractに有効です。

REDOログからLOBデータを取得するデフォルトの動作をオーバーライドします。デフォルトでは、データベースからLOBをフェッチさせます。

注意:

フェッチが発生する前に値が削除された場合、ExtractによってNULLがトレイルに書き込まれます。フェッチの前に値が更新された場合、Extractによって更新された値が書き込まれます。これらの不正を回避するには、Extractのレイテンシを少なくしてください。Oracle GoldenGateドキュメントにプロセスのパフォーマンス・チューニングのガイドラインが記載されています。また、フェッチ・オプションの設定方法の詳細は、『Oracle DatabaseのためのOracle GoldenGateの使用』表とDDLからのフェッチ間の相互作用に関する項を参照してください。
GETCTASDML | NOGETCTASDML

CREATE TABLE AS SELECT (CTAS)機能を有効にします。GETCTASDMLが有効な場合、CTAS DMLはLogMinerから送信され、ターゲットでレプリケートされます。このオプションはデフォルトでは有効になります。CTAS DDLの実行はターゲットで抑止されます。このパラメータは、DDLメタデータ・トリガーの使用中は有効にできません。CTAS機能を有効にして生成されるトレイル・ファイルは、12.1.2.1.0未満のバージョンのReplicatでは使用できません。

GETCTASDMLでは、CTASでCTASの挿入をリプレイできるため、レプリケーション中にOIDを保持できます。このパラメータは、統合ディクショナリでのみサポートされるため、トレイルを使用するには、ダウンストリームReplicatが12.1.2.1以上である必要があり、そうでないと、相違が生じる場合があります。

HANDLEDLFAILOVER [ STANDBY_WARNING value | STANDBY_ABEND value ]

Oracle Database 21cのExtractにのみ有効です。

ファスト・スタート・フェイルオーバー・スタンバイ・データベースの適用進捗に基づいて、Extractがトレイル・データの書込みを抑制するかどうかを制御します。この目的は、データ損失のフェイルオーバーに対してExtractを安全に保つことです。Data Guard構成のデータ損失に対して、これとファスト・スタート・フェイルオーバー(FSFO)を使用している場合は、ロール・トランジション後に、FAILOVERTARGETDESTID Extractパラメータを設定して、スタンバイを接続できる場所にアーカイブ・ログの宛先をID指定する必要があります。

Extractがスタンバイ・データベースの適用SCN情報(SELECT applied_scn FROM v$archive_dest where dest_id=n)を問い合せたときに、このSCNがExtract処理LCR SCNより小さい場合、Extractは停止状態であることがわかります。この場合、ExtractはLCRを処理せず、applied_scnがExtract処理LCR SCN以上になるまで待機します。

STANDBY_WARNING value
Extractが停止している場合に、警告メッセージがExtractレポート・ファイルに書き込まれるまでの時間。デフォルトは60秒です。
STANDBY_ABEND value
Extractが停止している場合に、Extractが異常終了するまでの時間。デフォルトは30分です。

STANDBY_WARNINGSTANDBY_ABENDの両方を指定する場合、STANDBY_ABENDは常にSTANDBY_WARNINGより大きくする必要があります。

IGNOREDATACAPTURECHANGES | NOIGNOREDATACAPTURECHANGES

DB2 LUWに有効です

DATA CAPTURE CHANGESが設定されていない表をExtractがキャプチャするかどうかを制御します。IGNOREDATACAPTURECHANGESは、DATA CAPTURE CHANGESが設定されていない表を無視します。表がワイルドカードで指定されている場合に、変更取得セットが含まれている表の処理を継続するために使用します。スキップされた表に対する警告がエラー・ログに発行されます。デフォルトはNOIGNOREDATACAPTURECHANGESです。

INCLUDEREGIONID | INCLUDEREGIONIDWITHOFFSET

Oracleの統合モードのExtractのみに有効です。

これらのオプションは、TZR (US/Pacificなどのタイムゾーン・リージョンを表す)として指定されたOracleデータ型TIMESTAMP WITH TIME ZONE をサポートします。デフォルトでは、Extractは、タイムゾーン・リージョンが含まれる場合、TIMESTAMP WITH TIME ZONEで異常終了します。これらのオプションにより、ターゲット・データベース・タイプに基づいて、このタイムスタンプを処理できます。

ソースのデータ型がTIMESTAMPで、リージョンIDマッピング・トークンがあることが検出された場合、Extractは次のようにタイムスタンプを適用します。

  • ターゲットのOracleリリースでサポートされている場合、TIMESTAMP WITH TIME ZONETZRが適用されます。

  • 異種データベース、または、TIMESTAMP WITH TIME ZONETZRをサポートしていない以前のリリースのOracleには、タイムスタンプとUTCオフセットが適用されます。

INCLUDEREGIONID

Oracle統合Extractにのみ有効です。

INCLUDEREGIONIDは、Oracle GoldenGate 19c (19.1.0)では非推奨です。Oracle GoldenGate 19c (19.1.0)以降では、リージョンIDデータを持つTIMESTAMP WITH TIME ZONEが、初期ロードなどにデフォルトで含まれています。

Oracleソースから、同じリリース以降のOracleターゲットにレプリケートする場合に使用します。INCLUDEREGIONIDを指定すると、Extractは、列索引と2バイトのTMZ値をタイムゾーン・マッピング・トークンとして追加し、それをYYYY-MM-DD HH:MI.SS.FFFFFF +00:00のUTCフォーマットでトレイルに出力します。

INCLUDEREGIONIDWITHOFFSET

Oracle統合Extractにのみ有効です。

このオプションは、リージョンIDを時間および分のオフセット値(+06:00など)に変換するために使用します。このオプションが指定されていない場合、タイムスタンプは常にUTCでトレイル・ファイルに書き込まれ、タイムゾーンは常に+00:00となります。

タイム・ゾーン値をUTCではなく時間および分で保存する必要がある場合は、このオプションを使用できます。

次の場合は、TIMEZONE値を時間および分のオフセットで保持するために、このオプションが強制的にオンになります。
  • 古いトレイル・ファイル形式(ReplicatでリージョンIDがサポートされていないため)。

  • XMLTEXTおよびSQL形式(リージョンIDをサポートしていないため)。

INCLUDETAG tag

統合Extractに有効。

INCLUDETAG tagを使用して、特定の変更トレイル・ファイルを含めます。タグ値は、16進数の桁で2000 (0-9 A-F)まで指定できます。

ノート:

FFFFおよび+ (プラス記号)では、タグの使用がサポートされていません。

競合を回避するには、INCLUDETAGEXCLUDETAGと組み合せて使用しないでください。

例: tranlogoptions includetag 00

LOB_CHUNK_SIZE

SQL Server、PostgreSQLに有効です。

非常に大きいLOBデータ・サイズの場合、LOB_CHUNK_SIZEをデフォルトの4000バイトから最大65535バイトまで調整できるため、フェッチ・サイズを大きくして、LOB全体をフェッチするために必要なトリップ回数を削減できます

例: TRANLOGOPTIONS LOB_CHUNK_SIZE 8000

(PostgreSQL) COMにプッシュするために使用されるLOB (CLOB/BLOB)データのチャンク・サイズを指定します。単位はバイトです。最小および最大のlob_chunk_size値は、4000から65535バイトの間です。

INTEGRATEDPARAMS (parameter value [, ...])

Oracle StandardまたはEnterprise Edition 12c以降の統合キャプチャ・モードのExtractに有効です。

Extractが統合キャプチャ・モードの場合、パラメータと値をOracle Databaseログマイニング・サーバーに渡します。入力は次のようにparameter valueの形式である必要があります。

TRANLOGOPTIONS INTEGRATEDPARAMS (downsream_real_time_mine Y)

有効なparameter指定とその値は次のとおりです。

max_sga_size

データベース・ログマイニング・サーバーによって使用されるSGAメモリーの量を指定します。正の整数をMB単位で指定できます。streams_pool_sizeが1GBより大きい場合、デフォルトは1GBです。それ以外の場合、streams_pool_sizeの75%がデフォルトになります。

parallelism

データベース・ログマイニング・サーバーをサポートしているプロセスの数を指定します。正の整数を指定できます。デフォルトは2です。

downstream_real_time_mine

統合キャプチャがダウンストリーム・マイニング・データベースをリアルタイム・モードでマイニングするかどうかを指定します。値Yでは、リアルタイムの取得を指定し、スタンバイREDOログがダウンストリーム・マイニング・データベースで構成されている必要があります。値Nは、ダウンストリーム・マイニング・データベースに転送されたアーカイブ・ログから取得することを指定します。デフォルトはNです。

enable_procedural_replication

キャプチャでのプロシージャ・レプリケーションを有効にします。プロシージャ・レプリケーションはデフォルトでは無効です。値Yでプロシージャ・レプリケーションが有効になります。このオプションをいったんExtractでオンにすると、そのままになります。このパラメータ値を元に戻すことはできません。

enable_auto_capture

これは、次の値を持つ静的パラメータです。

N: これはデフォルト値です。自動取得機能を無効にします。つまり、Oracle GoldenGateはTABLEまたはTABLE EXCLUDEパラメータに基づいてLCRを配信します。

Y: レプリケーションが有効な表のLCRを配信する自動取得を有効にするには、このオプションを設定します。Yは、ソース・データベースのOracleバイナリ・バージョンが21.0以上の場合にのみ設定できます。

INFO EXTRACTコマンドは、この機能が有効かどうかを表示します。

[MANAGESECONDARYTRUNCATIONPOINT | NOMANAGESECONDARYTRUNCATIONPOINT ]

PostgreSQLに有効です。

先行書込みログの切捨てを有効にするか無効にするかを制御するために使用します。TRANLOGOPTIONS NOMANAGESECONDARYTRUNCATIONPOINTの使用時には注意が必要です。PostgreSQLログの切捨てが発生しなくなり、先行書込みログのサイズが大きくなるにつれてディスク領域も大きくなるためです。

MAXAUTOCMTTRANSSIZE (range, default)

DB2 for iにのみ有効です。

自動コミット・トランザクションの最大サイズの範囲を指定します。

DB2 for iの自動コミット・レコード(ジャーナル・エントリのCCIDが0と等しいもの)には、ジャーナル内のコミット・レコードがありません。そのため、Oracle GoldenGateでは、そうしたレコードを証跡に含めるために暗黙的なトランザクションを作成する必要があります。デフォルトでは単一のトランザクションに単一のレコードを含めることができます。この場合は、IO時間がトランザクションのコミットに基づいているため、レコードごとに示されるIO時間の精度が維持されます。

このパラメータでは、暗黙的に作成されるトランザクションに含めるレコードの最大数を設定しますが、最大値に到達する前にジャーナル内で別のタイプのエントリが見つかった場合は、その数が少なくなることがあります。この動作によって、明示的にコミットされたレコードに属するレコードでチェックポイントが重複する問題を回避します。

このパラメータの値を1 (デフォルト値)に設定すると、潜在的にExtractのスループットが低下しますが、自動コミットされるレコード(ジャーナル・エントリのCCIDが0)の証跡で各レコードの正確なIO時間が示されます。このパラメータの値は、これらのレコードのトランザクションがメモリーにキャッシュされる可能性のある最大サイズにも影響します。この値を小さい値に設定すると、Extractが暗黙的なトランザクションごとにエントリの最大数を格納できる場合は、トランザクション・メモリーが少なくなります。定義により、そのような暗黙的なトランザクションは常に1つのみ存在できます。これは、その他のトランザクション・レコードでは、すでにメモリー内に存在する暗黙的なトランザクションに含まれるレコードの証跡への即時コミットが発生するためです。

デフォルトの範囲は1から10000です。デフォルト値は1です。

MININGUSER {/ | user} [, MININGPASSWORD password]
[algorithm ENCRYPTKEY {key_name | DEFAULT}] [SYSDBA]]

Oracleの統合キャプチャ・モードのExtractに有効です。

ログマイニング・サーバーとやり取りするダウンストリームOracleマイニング・データベースにログインするための、Extractのログイン資格証明を指定します。Oracle GoldenGate資格証明ストアが使用されていない場合にMININGUSERALIASオプションのかわりに使用できます。

ユーザーは、次を満たす必要があります。

  • dbms_goldengate_auth.grant_admin_privilegeで付与される権限を持っている。

  • このMININGUSERALIASに関連付けられているExtractグループに、MININGDBLOGINまたはMININGDBLOGINALIASおよびREGISTER EXTRACTまたはUNREGISTER EXTRACTコマンドを発行するユーザーである。

  • Extractが統合キャプチャ・モードである間は変更されない。

/

データベース・ユーザー・ログインではなく、Oracle用のオペレーティングシステム・ログインを使用するようにOracle GoldenGateに指示します。この引数は、データベースによってオペレーティングシステム・レベルでの認証が許可されている場合にのみ使用します。データベースレベルの認証をバイパスすることにより、アプリケーションのパスワードが頻繁に変更される場合に、Oracle GoldenGateパラメータ・ファイルを更新する必要がなくなります。

このオプションを使用するには、Oracle OS_AUTHENT_PREFIX初期化パラメータの値との関連で、正しいユーザー名がデータベースに存在している必要があります。OS_AUTHENT_PREFIXで指定されている値は、ユーザーのオペレーティング・システム・アカウント名の先頭に追加され、データベース名と比較されます。この2つの名前は一致する必要があります。

OS_AUTHENT_PREFIX' ' (NULL文字列)に設定されている場合は、ユーザー名をIDENTIFIED EXTERNALLYとして作成する必要があります。たとえば、OSユーザー名がoggの場合は、次のようにしてデータベース・ユーザーを作成します。

CREATE USER ogg IDENTIFIED EXTERNALLY;

OS_AUTHENT_PREFIXOPS$または別の文字列に設定されている場合は、ユーザー名は次のフォーマットで作成する必要があります。

OS_AUTHENT_PREFIX_value OS_user_name

たとえば、OSユーザー名がoggの場合は、次のようにしてデータベース・ユーザーを作成します。

CREATE USER ops$ogg IDENTIFIED BY oggpassword;
user

マイニング・データベース・ユーザー名またはSQL*Net接続文字列を指定します。

password

ユーザーのパスワードです。データベース・ユーザーのパスワードを指定するためにデータベース認証が必要な場合に使用します。パスワードがENCRYPT PASSWORDコマンドによって暗号化されている場合は、暗号化されたパスワードを指定します。それ以外の場合は、クリアテキストのパスワードを使用します。パスワードに大/小文字の区別がある場合は、そのように入力してください。ユーザーIDまたはパスワードのいずれかが変更されると、必要に応じて、パスワードの再暗号化など、Oracle GoldenGateパラメータ・ファイルの変更を行う必要があります。

algorithm

ENCRYPT PASSWORDでパスワードの暗号化に使用した暗号化アルゴリズムを指定します。次のいずれかになります。

AES128
AES192
AES256
BLOWFISH
ENCRYPTKEY {key_name | DEFAULT}

ENCRYPT PASSWORDで指定した暗号化キーを指定します。

  • ENCRYPTKEY key_nameは、ENCKEYS参照ファイル内のユーザー作成の暗号化キーの論理名を指定します。ENCRYPT PASSWORDKEYNAME key_nameオプションとともに使用された場合に使用します。

  • ENCRYPTKEY DEFAULTを指定すると、Oracle GoldenGateでランダムなキーが使用されます。ENCRYPT PASSWORDKEYNAME DEFAULTオプションとともに使用された場合に使用します。

SYSDBA

ユーザーがsysdbaとしてログインするように指定します。

MININGUSERALIAS alias

Oracleの統合キャプチャ・モードのExtractに有効です。

ログマイニング・サーバーとやり取りするダウンストリームOracleマイニング・データベースにログインするためにExtractが使用するログイン資格証明の別名を指定します。Oracle GoldenGate資格証明ストアが使用されている場合にMININGUSERのかわりに使用できます。

この別名は、次を満たす必要があります。

  • ローカルOracle GoldenGate資格証明ストアに格納されているデータベース・ユーザー・ログイン資格証明に関連付けられている。このユーザーは、dbms_goldengate_auth.grant_admin_privilegeで付与された権限を持っている必要があります。

  • このMININGUSERALIASに関連付けられているExtractグループのMININGDBLOGINまたはMININGDBLOGINALIASおよびREGISTER EXTRACTまたはUNREGISTER EXTRACTコマンドを発行するユーザーである。

この別名とユーザーは、Extractが統合キャプチャ・モードである間は変更しないでください。

MIXEDENDIAN [ON|OFF] 
Oracle GoldenGateプライマリExtractと使用のDB2 LUWで有効

DB2 LUWのためのOracle GoldenGate Extractは、データベースとOracle GoldenGateが異なるバイト・オーダーのサーバーで稼働している状況でのクロスエンディアン・キャプチャをサポートしています。DB2 LUW データベース・バージョン10.5以上では、自動的にバイト・オーダーが検出されます。DB2 LUW 10.5の自動検出を無効にする必要がある場合は、このパラメータを指定することで上書きできます。バージョン10.1の場合は、クロスエンディアン・キャプチャのためにExtractパラメータ・ファイルでこのパラメータを使用する必要があります。デフォルトでは、バージョン10.1用の値はOFFに設定されています。

構文:

TRANLOGOPTIONS MIXEDENDIAN [ON|OFF] 

ON: この設定の場合、ExtractはデータベースとOracle GoldenGateが異なるバイト・オーダーのサーバーで稼働していて、必要なバイト反転変換が実行されると見なします。

OFF: この設定の場合、ExtractはデータベースとOracle GoldenGateが同じバイト・オーダーのサーバーで稼働していて、バイト・オーダーの反転変換が実行されないと見なします。

MANAGECDCCLEANUP | NOMANAGECDCCLENUP

SQL Serverに有効です。

SQL Server表でサプリメンタル・ロギングを有効にする場合は、データベースの記憶域をクリアするために、CDCステージング表およびその他のCDCシステム表のデータを定期的にパージする必要があります。

デフォルトでは、Extractの開始時にMANAGECDCCLEANUPは有効化されており、Extractに対してOracle GoldenGate CDCクリーン・アップ・ジョブの存在をチェックするように指示します。このアプローチをお薦めします。Oracle GoldenGateのCDCクリーン・アップ・ジョブをインストールするには、ogg_cdc_cleanup_setup.batプログラムを使用します。

NOMANAGECDCCLEANUPオプションは、ExtractにOracle GoldenGate CDCクリーン・アップ・ジョブの存在をチェックしないよう指示します。これは本番環境にはお薦めしませんが、Oracle GoldenGateのCDCクリーン・アップ・ジョブを作成することなくExtractをテストするために使用できます。

NOFLUSH

DB2 z/OSに有効です。

ログ・バッファのフラッシュを防止します。

PATHMAP NFS_mount_point log_path

Oracleのクラシック・キャプチャ・モードのExtractに有効です。

REDOログおよびアーカイブ・ログが、データベースをホストしているシステム以外のシステムに保持されているときに、その場所を指定します。複数のPATHMAP文を使用できます。PATHMAPを使用するときは、TRANLOGOPTIONS文全体を1行にまとめてください。アンパサンド(&)行終了文字を使用して行を複数に分割しないでください。

PATHMAPは、このシステムがデータベースをホストしているシステムとは異なるプラットフォームの場合に、LOGSOURCEオプションとともに使用できます。

NFS_mount_point

ログが格納されるリモート・システムのNFSマウント・ポイントを指定します。

log_path

リモート・システム上のログのパス。パスはマウント・ポイント指定に従う必要があります。

PREPAREFORUPGRADETOIE | NOPREPAREFORUPGRADETOIE

Oracle用のOracle RACでクラシックExtractから統合Extractにアップグレードする場合に有効です。

Oracle RACでクラシックExtractから統合Extractにアップグレードする場合は、アップグレード対象のクラシックExtractを停止する前にPREPAREFORUPGRADETOIEオプションを設定し、アップグレードを続行する前に、パラメータが有効になっていることを示すレポート・ファイルの情報メッセージが表示されるまで待機する必要があります。

PREPAREFORUPGRADETOIE

Extractパラメータ・ファイルのPREPAREFORUPGRADETOIEを設定するか(Extractの再起動が必要)、このコマンドを使用してGGSCIからExtractを実行できるように、動的に設定できます。

SEND EXTRACT extract_name TRANLOGOPTIONS PREPAREFORUPGRADETOIE

NOPREPAREFORUPGRADETOIE

必要に応じて、PREPAREFORUPGRADETOIEオプションを動的に無効にします。デフォルトはNOPREPAREFORUPGRADETOIEです。

PERFORMANCEPROFILE HIGH|MEDIUM|LOW-RES
統合キャプチャ・モードのExtractに有効です。

統合キャプチャをチューニングします。HIGH、MEDIUM(デフォルト)またはLOW RESに設定できます。パフォーマンスに影響するパラメータをまとめることで、パフォーマンスの向上に役立ちます。パフォーマンス・プロファイルをいったん設定すると、必要なスループットとレイテンシを達成するように、このオプションによって関連するパラメータが自動的に構成されます。メモリーまたはリソースに制約があるデプロイメント用に、LOW RESオプションが追加されました。

QUERYTIMEOUT seconds

SQL Serverに有効です。

SQL Serverへの問合せで、タイムアウト・エラー・メッセージを報告するまでに結果を待機する時間を指定します。このオプションは整数値を使用して秒数を表します。デフォルトの問合せタイムアウト値は300秒(5分)です。最小値は0秒です(無限タイムアウト)。最大値は2147483645秒です。

次の例では、SQL Serverがタイムアウトまでに結果を60秒待つように指示しています。

TRANLOGOPTIONS QUERYTIMEOUT 60
QUERYRETRYCOUNT seconds

SQL ServerおよびMySQLのExtractに有効です。

結果セットがタイムアウトした場合に、Extractで使用されるCDCストアド・プロシージャへのコールを再試行する回数を指定します。

QUERYRETRYCOUNTを指定すると、再試行が複数回行われます。すべての再試行が失敗すると、Extractは通常の接続タイムアウト・エラー・メッセージを示して異常終了します。

SQL Serverの場合、デフォルトは1回の再試行で、その後プロセスは異常終了します。最小設定(0)は無制限、最大は1000、デフォルトは1です。

MySQLの場合、最小およびデフォルト設定は50で、最大は1000です。無制限の値はありません。QUERYRETRYCOUNTを最小値未満に設定しようとすると、エラーや警告は表示されずに無視されます。

次の例では、ExtractによってCDCストアド・プロシージャのコールが4回試行されます。

TRANLOGOPTIONS QUERYRETRYCOUNT 4
次の例では、ExtractによってCDCストアド・プロシージャのコールが100回試行されます。
TRANLOGOPTIONS QUERYRETRYCOUNT 100
READQUEUESIZE size

MySQLに有効です。

トランザクション・データの内部キューのサイズをバイト単位で指定します。これによりパフォーマンスが向上します。有効な値は、1から214748364750000までの整数です。デフォルトは256バイトです。高い値に調整する前に、デフォルトから開始して、パフォーマンスを評価してください。

REDO_TRANSPORT_LAG_THRESHOLD seconds
ダウンストリーム・マイニング・モードの統合Extractに有効です。

REDOログが転送されるときに、ソース・データベースとターゲット・データベース間のネットワーク・レイテンシをモニタリングします。レイテンシが指定されたしきい値を超えると、レポート・ファイルに警告が表示され、ラグが通常レベルまで減少すると後続の情報メッセージが表示されます。

デフォルトのしきい値は30秒です。指定可能な最小しきい値は15秒です。

詳細は、ソースからダウンストリーム・マイニング・データベースへのREDO転送の構成に関する項を参照してください

REDO_TRANSPORT_LAG_TIMEOUT value
ダウンストリーム・マイニング・モードの統合Extractに有効です。

このパラメータ・オプションに入力として指定される値は、Extractが各スレッドからのREDOを待機する期間です。すべてのスレッドで待機のタイムアウト(秒単位)が経過し、REDOを受信していない場合、Extractは異常終了します。

REQUIRELONGDATACAPTURECHANGES | NOREQUIRELONGDATACAPTURECHANGES

DB2 LUWに有効です。

DATA CAPTURENONE、またはINCLUDE LONGVAR COLUMNSのないCHANGESに設定され、パラメータ・ファイルに、一部またはすべての列値のビフォア・イメージを必要とするOracle GoldenGateパラメータ(GETBEFOREUPATESNOCOMPRESSUPDATESおよびNOCOMPRESSDELETES)が含まれている場合に、Extractの応答を制御します。この2つのDATA CAPTURE設定では、LONGVAR列のビフォア値が記録されません。Extractがこれらの列を使用できない場合、ターゲット・データの整合性に影響が及ぶことがあります。

REQUIRELONGDATACAPTURECHANGES

Extractはエラーとともに異常終了します。

NOREQUIRELONGDATACAPTURECHANGES

Extractは警告を出しますが、データ・レコードの処理を継続します。

SOURCE_OS_TIMEZONE timezone

Oracleの統合キャプチャ・モードのExtractに有効です。

ソース・データベースのシステム・タイムゾーンを指定します。通常、データベースのシステム・タイム・ゾーンはオペレーティング・システムのデフォルトのタイムゾーンによって指定されますが、データベースの起動時にTZ環境変数を設定することでオーバーライドできます。このオプションは、ソース・データベースとExtractプロセスで別のシステム・タイムゾーンを使用する場合にのみ指定する必要があります。たとえば、ソース・データベースとExtractプロセスが異なるタイムゾーンの別のサーバー上で実行される、ダウンストリーム・キャプチャのデプロイメントの場合です。

このオプションの値はタイムゾーンのリージョン名またはUTCオフセット・フォームで指定できます。ソース・データベースで使用されるフォームと同じものを使用する必要があります。たとえば、ソース・データベースがAmerica/New_Yorkのようなリージョン名のフォームを使用する場合は、America/New_York、US/EasternまたはEST5EDTを指定する必要があります。また、ソース・データベースが-05:00のようなUTCオフセット・フォームを使用する場合は、構文(GMT)[+|-]hh[:mm]を使用する必要があります。たとえば、GMT-05:00または-5。

SUPPRESSNOOOPUPDATES

Oracle Database 12c (12.2)以降のExtractに有効です。

統合Extractでno-op更新をフィルタリングするかどうかを制御できます。デフォルトでは抑制されません。

TRACKSCHEMACHANGES
DB2 z/OSに有効です

このパラメータを使用すると、Extractで、表レベルのDDL文を取得することや、ログ・レコードで表の現行バージョンより前の表バージョンが参照されるときにDMLの処理に使用されるように、変更の履歴を保持することができます。これは、通常は更新のビフォア・イメージですが、Extractがログ・バックログからラグのある状況で実行されている場合は、アフター・イメージ、挿入または削除である可能性があります。Extractで、適切なDDL操作が検出されると、そのDDLのバージョン番号が記録され、その新しい情報でDDL履歴表が更新されます。Extractにより、証跡での変更に関連する新しいTDRレコードも作成されます。Extractはログに以前のバージョンの表があることを検出すると、DDL履歴を参照して古いバージョンの表に応じてDDLを適切に解釈できるようにします。DDL変更は実際にレプリケートされることはなく、ソース表に対する変更の同期はユーザーがターゲット・データベースで手動実行する必要があります。

構文:

TRANLOGOPTIONS TRACKSCHEMACHANGES

これを使用すると、表レベルのDDL変更をExtractで追跡できるようになり、必要に応じて証跡メタデータを更新できるようになります。TRACKSCHEMACHANGESを適切に使用するには、表のメタデータが既知の整合状態になっている必要があります。つまり、バージョン追跡が必要なすべての表は、TRACKSCHEMACHANGESを使用するまでに作成されていて変更または再編成されていないことが必要です。そうすることで、更新操作または削除操作のトランザクション・ログに以前の表のバージョンが出現しなくなります。データベースのDDL履歴レコードの初期セットを作成する際に役立つスクリプトddl_update.shが提供されています。

DDL処理を使用する場合は、履歴表が含まれるようにデータベースを設定する必要があります。この表に、データベース・システムのすべての表の様々なバージョンのDDL変更をキャプチャします。また、システム表はデータ・キャプチャの変更を有効にする必要があります。履歴表の作成と維持のために、次のUNIXシェル・スクリプトが用意されています。

  • ddl_create.sh : このスクリプトは、DDL履歴表を作成するために使用します。また、次のシステム表についてデータ・キャプチャの変更を有効にします。

    • SYSIBM.SYSTABLES

    • SYSIBM.SYSCOLUMNS

    • SYSIBM.SYSINDEXES

    • SYSIBM.SYSKEYCOLUSE

    例:

    ./ddl_create.sh -f crt_ddl_hist.sql -s OGGSCHEMA

    この例の場合、結果のファイルcrt_ddl_hist.sqlは別のプログラムで処理する必要があります。

    ./ddl_create.sh -d DB2DSXY -u gguser -p ggpw -s OGGSCHEMA

    これにより、ローカルのDB2をコールして、メインフレーム・データベースにリモート接続し、すぐにDDL履歴表を作成します。

  • ddl_remove.sh: このスクリプトは、DDL履歴表を削除するために使用します。ただし、システム表が変更されることはありません。

  • ddl_update.sh: このスクリプトは、TRACKSCHEMACHANGESを使用したDDLバージョン追跡の最初の開始ポイントを設定するために実行する必要があります。DDL履歴表の作成後に実行する必要がありますが、再実行はしないでください。ただし、トランザクション・ログで表のバージョンが失われてもかまわない方法でExtractの位置を再設定する必要がある場合を除きます。ddl_update.shを再実行すると、DDL履歴にまだ存在していない表の情報のみが追加されます。

  • execsql.sh: このスクリプトは直接実行しないでください。ただし、別のスクリプトから利用できるようにしておく必要があります。コマンドラインの解析とSQLの実行やファイルへの書込みのための共通の機能を提供します。

これらのスクリプトは、db2接続を使用して表を直接作成するために使用することも、任意のSQL処理プログラムで実行されるSQLファイルを作成するために使用することもできます。このファイルは、DB2リモートおよびSPUFIとの互換性があることが確認されています。

次に、これらのスクリプトに指定できるオプションについて説明します。
  • -h: この使用方法のヘルプを表示します。
  • -d dsnでは、接続先のDB2 DSNを指定します。
  • -u useridでは、データベースへの接続に使用するユーザーIDを指定します。
  • -p passwordでは、データベースへの接続に使用するパスワードを指定します。
  • -s ggschemaでは、DDL履歴表を保存するスキーマの名前を指定します。このスキーマは、GLOBALSのGGSCHEMAと同じにする必要があります。
  • -t ddltableでは、DDL履歴表の表名を指定します。デフォルトは、GGS_DDL_HISTです。
  • -f outfileでは、SQL文を実行するかわりにファイルに書き込む場合のファイル名を指定します。-fを使用する場合は、-d-u-pのすべてが指定されている必要があります。現時点では、-tは使用しないでくさい。db2cliは生成されたSQL文を実行できないため、リモート・ホストでdb2cliコマンド以外が利用できない場合は、-fを使用する必要があります。
TRANCOUNT
SQL Serverに有効です。

SQL Serverのチェンジ・データ・キャプチャのステージング表からデータをプルするための、Extractによる1コール当たりの処理されるトランザクションの数を調整できます。トランザクション・ワークロードに基づいて、この値を調整することでキャプチャ率のスループットが向上することがあります。最小値は1、最大値は100です。デフォルトは10です。

例:

TRANLOGOPTIONS TRANCOUNT 20 

この例では、チェンジ・データ・キャプチャが有効な表から一度に20件のトランザクションをフェッチするようにExtractに指示しています。

[TSLOOKUPBEGINLRI | TSLOOKUPENDLRI]

DB2 LUW v 10.1以降に有効です。

これらのパラメータを使用してLRI範囲を指定すると、Extractは、ADDまたはALTER EXTRACTコマンドで指定したタイムスタンプをこの範囲内で検索します。これにより、Extractは、データベース・トランザクション・ログの特定のタイムスタンプの参照プロセスを最適化できます。TSLOOKUPBEGINLRIパラメータは必須ですが、TSLOOKUPENDLRIはオプションです。TSLOOKUPBEGINLRIなしでTSLOOKUPENDLRIのみを指定することは無効です。次に例を示します。

TRANLOGOPTIONS TSLOOKUPBEGINLRI 75200.666197, TSLOOKUPENDLRI  75207.666216 
TRANLOGOPTIONS TSLOOKUPBEGINLRI 75200.666197 

指定されたLRI範囲の間で指定したタイムスタンプが失敗する場合、または指定したタイムスタンプがTSLOOKUPBEGINLRI LRIタイムスタンプの後に失敗する場合、Extractは、指定したタイムスタンプと等しいか、直前のタイムスタンプのレコードから起動します。

指定したタイムスタンプがTSLOOKUPBEGINLRI LRIタイムスタンプの前に失敗する場合、Extractは、指定したTSLOOKUPBEGINLRI LRIから起動されます。指定したタイムスタンプがTSLOOKUPENDLRIタイムスタンプの後に失敗する場合、Extractは異常終了します。TSLOOKUPENDLRIのみを指定すると、情報メッセージが表示され、Extractは、指定したタイムスタンプと等しいか、直前のタイムスタンプのレコードから起動します。

USENATIVEOBJSUPPORT | NOUSENATIVEOBJSUPPORT

Oracleの統合キャプチャ・モードのExtractに有効です。

統合キャプチャでは、ユーザー定義型(UDT)およびANYDATAデータ型のREDOベースのキャプチャが追加されています。これは、デフォルトで有効で、ソース・データベースのバージョンが12.1.0.1以上で、ソース・データベースの互換性が12.0.0.0.0以上の場合にのみ有効にできます。Oracle GoldenGateリリース12.1.2.1.0以降のReplicatを使用する必要があります。ネイティブ・サポートを使用するには、互換性を確保するため、すべてのOracleデータベースおよびOracle GoldenGateインスタンスがリリース12.1.0.1以上である必要があります。

REDOベースのキャプチャが有効になっているが、サポートされていない属性がUDTに含まれている場合、統合キャプチャはフェッチを使用してUDTのキャプチャを再試行します。キャプチャのサポートの制限の詳細は、『Oracle DatabaseのためのOracle GoldenGateの使用』XMLデータ型に関する項を参照してください。CREATE TABLE AS SELECT (CTAS)文を使用してオブジェクト表を作成する場合は、オブジェクト表を完全にサポートするために、CTAS操作からDMLをキャプチャするように統合キャプチャを構成する必要があります。CTASの使用の詳細は、『Oracle DatabaseのためのOracle GoldenGateの使用』Oracle GoldenGateの導出オブジェクト名の処理方法に関する項を参照してください。

デフォルトはUSENATIVEOBJSUPPORTです(サポートされている場合)。

USE_ROOT_CONTAINER_TIMEZONE

Oracle統合Extractにのみ有効です。

このパラメータはCDB環境用です。CDB内の各PDBは、異なるデータベース・タイムゾーンを使用できます。データベース・タイムゾーンが使用可能な場合、Extractは統合ディクショナリからPDBのタイムゾーンを取得しようとします。タイムゾーン抽出には、マイニング・データベースでのパッチが必要です。パッチが使用可能でない場合、Extractはタイムゾーンを取得するためにPDBに問合せを送信します。データベース・パッチまたはPDBへの接続が使用可能でなく、このパラメータが指定されている場合、Extractによって、PDBデータベース・タイムゾーンはルート・コンテナのデータベース・タイムゾーンと同じであるとみなされます。

VERSIONCHECK DYNAMIC | IMMEDIATE

これはSQL Serverに有効です。

Extractで、OracleCDCExtractやOracleGGCreateProcsなどの共通ストアド・プロシージャのCDCオブジェクト・バージョンを起動時に検証する場合は、このオプションを使用します。

DYNAMIC (デフォルト)は、レコードの処理にパラメータ・ファイルで指定された表のCDCオブジェクト・バージョンを表ごとに識別します。

IMMEDIATEは、レコードの処理中ではなく、CDCオブジェクト・バージョンの問題を事前に識別します。多数の表が取得用に構成されているデータベースでは、起動時の検証に時間がかかります。