| Oracle® Fusion Middleware Oracle GoldenGateリファレンスfor Windows and UNIX 12c (12.2.0.1) E70112-04 |
|
![]() 前 |
![]() 次 |
適用対象
ExtractおよびReplicat
説明
DBOPTIONSパラメータでは、データベース・オプションを指定します。これはグローバル・パラメータで、パラメータ・ファイル内のすべてのTABLEまたはMAP文に適用されます。一部のDBOPTIONSオプションは、ExtractまたはReplicatのみに適用されます。
DBOPTIONSパラメータは、他のパラメータに関係なく、パラメータ・ファイル内の任意の場所に配置できます。
デフォルト
なし
構文
DBOPTIONS [ALLOWLOBDATATRUNCATE | NOALLOWLOBDATATRUNCATE] [ALLOWUNUSEDCOLUMN | NOALLOWUNUSEDCOLUMN] [BINDCHARFORBITASCHAR] [CATALOGCONNECT | NOCATALOGCONNECT] [CONNECTIONPORT port] [DECRYPTPASSWORD shared_secret ENCRYPTKEY {DEFAULT | key_name}] [DEFERREFCONST] [DISABLECOMMITNOWAIT] [DISABLELOBCACHING] [ENABLE_INSTANTIATION_FILTERING] [EMPTYLOBSTRING 'string'] [FETCHBATCHSIZErecords] [FETCHCHECKFREQseconds] [FETCHLOBS | NOFETCHLOBS] [FETCHRETRYCOUNT number] [FECHTIMEOUT seconds | NOFECHTIMEOUT] [HOST {DNS_name | IP_address}] [INTEGRATEDPARAMS(parameter[, ...])] [LIMITROWS | NOLIMITROWS] [LOBBUFSIZEbytes] [LOBWRITESIZE bytes] [SESSIONPOOLMAXmax_value| [SESSIONPOOLMINmin_value][SESSIONPOOLINCRincrement_value] [SETTAG [tag_value| NULL] ] [SHOWINFOMESSAGES] [SHOWWARNINGS] [SKIPTEMPLOB | NOSKIPTEMPLOB] [SOURCE_DB_NAMEsrc_dbase_global_name] [SPTHREAD | NOSPTHREAD] [SUPPRESSTEMPORALUPDATES] [SUPPRESSTRIGGERS | NOSUPPRESSTRIGGERS] [TDSPACKETSIZE bytes] [TRANSNAME trans_name] [USEODBC | USEREPLICATIONUSER] [XMLBUFSIZE bytes]
ALLOWUNUSEDCOLUMN | NOALLOWUNUSEDCOLUMNOracleのExtractに有効です。Extractが未使用の列を含む表を検出したときに異常終了するかどうかを制御します。
デフォルトはALLOWUNUSEDCOLUMNです。Extractは未使用の列を含む表を検出すると、処理を継続し、警告を生成します。このパラメータを使用する場合は、正しいメタデータ・マッピングを実行できるように、ターゲットにも同じ未使用の列が存在しているか、Replicatにこの表のソース定義ファイルを指定する必要があります。
NOALLOWUNUSEDCOLUMNでは、Extractは未使用の列を検出すると異常終了します。
ALLOWLOBDATATRUNCATE | NOALLOWLOBDATATRUNCATEDB2 LUW、SybaseおよびMySQL.のReplicatに有効です。ALLOWLOBDATATRUNCATEでは、レプリケートするLOBデータがターゲットのCHAR、VARCHAR、BINARYまたはVARBINARY列に対して大きすぎる場合に、Replicatが異常終了することを防ぎます(ターゲットLOB列のみに適用可能です)。DB2 LUWのReplicatのALLOWLOBDATATRUNCATEでは、レプリケートするLOBデータがターゲットのLOB列に対して大きすぎる場合に、Replicatが異常終了することを防ぎます。このLOBデータは、ターゲット列の最大サイズに切り捨てられ、エラー・メッセージや警告は生成されません。
デフォルトはNOALLOWLOBDATATRUNCATEで、レプリケートするLOBが大きすぎる場合に、Replicatを異常終了させ、エラー・メッセージを生成します。
BINDCHARFORBITASCHAR DEFGEN、Extract、およびDB2 for iのReplicatに有効です。CCSID 65535のCHARまたはVARCHAR、またはCHARおよびVARCHAR FOR BIT DATAとして定義される列を、変換可能な通常のエンコーディングがフィールドにある場合のように処理できます。エンコーディングはジョブCCSIDから取得されます。このオプションが有効な場合、DEFGENは、フィールドがdefsファイルのバイナリであることを示しません。
CATALOGCONNECT | NOCATALOGCONNECTODBCデータベースのExtractおよびReplicatに有効です。デフォルトでは、Oracle GoldenGateはカタログ問合せのために新しい接続を作成しますが、NOCATALOGCONNECTを使用すると新しい接続の作成を防止できます。z/OS上のDB2の場合、NOCATALOGCONNECTでは、MVS DB2初期化パラメータmvsattachtypeがCAFに設定されているときに、Oracle GoldenGateによる複数の接続の試みを防ぎます。CAFモードでは複数の接続がサポートされていないため、Oracle GoldenGateはオープンしている接続のコミットを受信するまで、システム・カタログ表領域にコミット・ロックを発行する可能性があります。コミット・ロックを防ぐために、Oracle GoldenGateでは、複数の接続をサポートするRRSAF (mvsattachtype=RRSAF)を使用することをお薦めします。
CONNECTIONPORT portマルチデーモンMySQLのReplicatに有効です。Replicatが接続する必要があるインスタンスのTCP/IPポートを指定します。
DECRYPTPASSWORD shared_secret algorithm ENCRYPTKEY {key_name | DEFAULT}クラシック・キャプチャ・モードのExtractに有効です(Oracle)。
Oracle Transparent Data Encryption (TDE)を使用して暗号化されたREDOログ・データを復号化する、TDE鍵を復号化する共通鍵(パスワード)を指定します。TDE鍵は、まず、共通鍵を鍵として使用してOracleサーバー内で暗号化された後、Extractに配信され、そこで同じ共通鍵を使用して復号化されます。共通鍵は、Oracleサーバー・セキュリティ担当者によって、Oracle WalletまたはHardware Security Moduleで作成する必要があります。Oracle GoldenGate管理者のみが、共通鍵を知っている必要があります。
復号化オプションを使用するには、まずGGSCIでENCRYPT PASSWORDコマンドを使用して、暗号化された共通鍵を生成し、ENCKEYSファイルを作成する必要があります。
パラメータ・オプション:
shared_secretENCRYPT PASSWORDコマンドの結果からコピーされる、暗号化された共通鍵(パスワード)です。
algorithmパスワードの暗号化に使用した暗号化アルゴリズムを、AES128、AES192、AES256またはBLOWFISHの中から指定します。AESは、z/OS上のDB2、DB2 for iおよびSQL/MXではサポートされません。
ENCRYPTKEY key_nameENCKEYS参照ファイル内のユーザー作成の暗号化鍵の論理名を指定します。ENCRYPT PASSWORDがKEYNAME key_nameオプションとともに使用された場合に使用します。ENCKEYSファイルをローカル・システムに作成する必要があります。
ENCRYPTKEY DEFAULT指定すると、Oracle GoldenGateでランダムな鍵が使用されます。ENCRYPT PASSWORDがKEYNAME DEFAULTオプションとともに使用された場合に使用します。
TDEをサポートするExtractの構成の詳細は、Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成を参照してください。
ENCKEYSなど、Oracle GoldenGateの暗号化オプションの詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。
DEFERREFCONSTOracleの非統合Replicatに有効です。Replicatトランザクションがコミットされるまで、Oracleターゲット・データベースによるカスケード削除およびカスケード更新の参照整合性制約のチェックおよび強制を延期するように、DEFERRABLEに制約を設定します。この時点で制約違反がある場合、エラーが生成されます。統合Replicatでは、ターゲット・システムでの参照制約の無効化は必要ありません。
ターゲット表での制約を無効化するかDEFERREDに設定するかわりに、DEFERREFCONSTを使用できます。使用すると、DEFERREFCONSTは、DEFERABLEおよびNOT DEFERABLEの両方の制約を延期します。DEFERREFCONSTは、Replicatが処理するすべてのトランザクションに適用します。DEFERREFCONSTは、Oracle Database 12c、11g (11.2.0.2)およびそれ以降の11g R2リリースに有効です。
この機能をサポートしていないOracle Databaseリリースととも使用する場合、DEFERREFCONSTは無視され、Oracle GoldenGateログに通知は返されません。コミット操作でのエラーを処理するために、パラメータ・ファイルのルート・レベルでREPERRORを使用し、TRANSDISCARDまたはTRANSEXCEPTIONオプションを指定できます。
注意:
親および子の表の関連する行が同じスレッドによって処理されることを保証する方法がないため、DEFERREFCONST調整Replicatとともに使用しないでください。
DISABLECOMMITNOWAITOracleのReplicatに有効です。Replicatによる非同期COMMITの使用を無効化します。非同期COMMIT文には、NOWAITオプションが含まれます。
DISABLECOMMITNOWAITを使用する場合、Replicatは、標準の同期COMMIT (WAITオプションを使用するCOMMIT)を発行します。
DISABLELOBCACHINGOracleの非統合Replicatに有効です。OracleのLOBキャッシング・メカニズムを無効にします。デフォルトでは、ReplicatはOracleのLOBキャッシング・メカニズムを有効にします。
ENABLE_INSTANTIATION_FILTERINGOracleに有効です。Oracle Datapumpを使用してインポートした表、またはSET_INSTANTIATION_CSNコマンドで手動でインスタンス化した表に対して、自動的な表ごとのインスタンス化CSNフィルタリングを有効化します。
EMPTYLOBSTRING 'string'SybaseのReplicatに有効です。ターゲットにレプリケートされる、Sybase IMAGEまたはTEXT値などの空の(ゼロ長) LOB列を、文字列値に置換します。デフォルトでは、Oracle GoldenGateはターゲット上の空の列をNULLに設定します。ターゲット・データベースでLOB列がNULLであることが許容されない場合は異常終了します。このオプションは、Replicatの異常終了を防ぐために使用します。
'string'には、列が受け入れる任意の文字列を指定し、一重引用符で囲みます。デフォルトはNULLです。
例:
DBOPTIONS EMPTYLOBSTRING 'empty'
FETCHBATCHSIZE recordsOracle、DB2 for i、DB2 z/OS、SQL/MX、Sybase、SQL Server、SybaseおよびTeradataのExtractに有効です。初期ロードのパフォーマンスを高めるために、1行ごとのフェッチのかわりに配列フェッチを有効にします。
Oracle、DB2 for i、DB2 z/OS、SQL/MX、Sybase、SQL Server、SybaseおよびTeradataに有効な値は、フェッチ当たり0から1000000レコードです。DB2 LUWに有効な値は、フェッチ当たり1から1000000レコードです。ゼロ(0)は有効な値ではありません。
デフォルトは1000です。バッチ・サイズが非常に小さくなるか非常に大きくなると、パフォーマンスは低下します。表にLOBデータが含まれている場合、Extractは1行フェッチ・モードに戻り、その後バッチ・フェッチモードを再開します。
FETCHCHECKFREQ secondsOracleの統合Extractに有効です。ADGのキャッチ・アップを確認する各フェッチ・チェック間でExtractが待機する秒数を指定します。数値を小さくするとレイテンシは向上しますが、current_scn from v$databaseの問合せ数は増加します。デフォルト値は3秒で、最大値は120秒です。
FETCHLOBS | NOFETCHLOBSz/OS上のDB2およびDB2 LUWに有効です。表のLOBオプションがNOT LOGGEDに設定されている場合に、データベース表からのLOBの直接のフェッチを抑止します。NOT LOGGEDが設定されている場合、この列の値はトランザクション・ログからは入手できず、表自体からのみ取得できます。デフォルトでは、Oracle GoldenGateはLOBへの変更をトランザクション・ログから取得します。デフォルトは、FETCHLOBSです。
FETCHRETRYCOUNT numberOracleの統合Extractに有効です。ADGのキャッチ・アップの待機時に、ExtractがADGの進捗または進捗がない理由を報告するまでの、Extractの試行回数を指定します。この値にFETCHCHECKFREQを乗算することで、ADGの進捗を報告するおおよその頻度が決まります。
FECHTIMEOUT seconds | NOFECHTIMEOUT Oracleの統合Extractに有効です。ADGに進捗が見られない場合に、Extractが異常終了するまでの秒数を指定します。進捗がないのは、MRPが実行されていない、またはREDO変更を適用していないことが原因の可能性があります。これが発生した場合は、ADGデータベースを調べる必要があります。デフォルト値は30秒。有効な値は0から4294967295 (ub4の最大値)秒です。NOFETCHTIMEOUTは、タイムアウトしない(FECHTIMEOUT 0と同じ)ことを意味し、秒数を指定できません。
HOST {DNS_name | IP_address}マルチデーモンMySQLのReplicatに有効です。Replicatの接続先のインスタンスをホストするシステムのDNS名またはIPアドレスを指定します。
INTEGRATEDPARAMS(parameter[, ...])OracleのReplicatに有効です。ターゲットOracleデータベース内のデータベース・インバウンド・サーバーを制御するパラメータの設定を渡します。このオプションは、統合Replicatのみで使用します。統合Replicatの詳細およびサポートされるインバウンド・サーバー・パラメータのリストは、Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成を参照してください。
LIMITROWS | NOLIMITROWSMySQL、Oracle、SQL ServerおよびSybaseのReplicatに有効です。LIMITROWSでは、ターゲット表に主キーまたは一意キーが含まれていない場合に、同一のReplicat SQL文によって複数の行を更新または削除することを防ぎます。
デフォルトはLIMITROWSです。LIMITROWSおよびNOLIMITROWSは、パラメータ・ファイル内のすべてのMAP文にグローバルに適用されます。
MySQLでは、LIMITROWSはUPDATEまたはDELETE文のLIMIT 1句を使用します。
OracleターゲットではLIMITROWS (デフォルト)を使用する必要があります。これはWHERE ROWNUM = 1を使用するか、WHERE句でAND ROWNUM = 1を使用します。
SQL ServerおよびSybaseでは、LIMITROWSはUPDATEまたはDELETE文の前にSET ROWCOUNT 1句を使用します。
NOLIMITROWSでは、同一のReplicat SQL文によって複数の行を更新または削除することを許可します。
LOBBUFSIZE bytesOracleのExtractに有効です。Oracleオブジェクト・タイプの各埋込みLOB属性に割り当てるメモリー・バッファ・サイズ(バイト単位)を決定します。有効な値は、1024から10485760バイトです。デフォルトは1048576バイトです。
埋込みLOBの長さが指定のLOBBUFSIZEサイズを超えると、次のようなエラー・メッセージが生成されます。
GGS ERROR ZZ-0L3 Buffer overflow, needed: 2048, allocated: 1024.
LOBWRITESIZE bytesOracleの非統合Replicatに有効です。Replicatがターゲット・データベースに書き込む各LOBのフラグメント・サイズ(バイト単位)を指定します。LOBデータは、このサイズに達するまでバッファに保持されます。LOBはフラグメントでデータベースに書き込む必要があるため、より大きなブロックで書き込むことで過度のI/Oを防止できます。この値が大きいほど、LOB全体をデータベースに書き込むためのReplicatからデータベース・サーバーへのI/Oコールは少なくなります。
Oracle LOBフラグメント・サイズの倍数を指定します。指定した値は、必要に応じてOracle LOBフラグメント・サイズの倍数に切り上げられます。デフォルトのLOB書込みサイズは、DBOPTIONS NOSKIPTEMPLOBが指定されている場合は32KB、DBOPTIONS SKIPTEMPLOBが指定されている場合は1MBです。有効な値は、2,048から2,097,152バイト(2MB)です。
デフォルトでは、ReplicatはOracleのLOBキャッシング・メカニズムを有効にします。OracleのLOBキャッシングを無効にするには、DBOPTIONSのDISABLELOBCACHINGオプションを使用します。
SHOWINFOMESSAGESSybaseのExtractおよびReplicatに有効です。エラー・ログに次のSybaseサーバー・メッセージを出力します。
0: /* General informational message */ 5701: /* Changed Database Context */ 5703: /* Changed language setting */ 5704: /* Changed client character set */ 7326: /* Non ANSI Escaping */
Oracle GoldenGate処理に影響がないため、通常はこれらのメッセージは出力されません。
SHOWWARNINGSSybaseのExtractおよびReplicatに有効です。重大度レベル10を上回るSybaseサーバー・メッセージのロギングを有効化します。これらのメッセージは、Sybaseがデータ変更を伴う修正処理を実行するときに、デバッグに役立ちます。
SESSIONPOOLMAX max_valueOracleの統合モードのExtractに有効です。Extractがコンテナ・データベースからのフェッチに使用する、OCIセッション・プールのセッション数の最大値を設定します。デフォルト値は10セッションです。USERIDまたはUSERIDALIASパラメータよりも前に指定する必要があります。そうしないと、指定が無視されてデフォルト値が使用されます。
SESSIONPOOLMIN min_valueOracleの統合モードのExtractに有効です。Extractがコンテナ・データベースからのフェッチに使用する、OCIセッション・プールのセッション数の最小値を設定します。デフォルト値は2セッションです。USERIDまたはUSERIDALIASパラメータよりも前に指定する必要があります。そうしないと、指定が無視されてデフォルト値が使用されます。
SESSIONPOOLINCR increment_valueOracleの統合モードのExtractに有効です。Extractがコンテナ・データベースからのフェッチに使用する、OCIセッション・プールに追加できる増分セッション数の値を設定します。デフォルト値は2セッションです。USERIDまたはUSERIDALIASパラメータよりも前に指定する必要があります。そうしないと、指定が無視されてデフォルト値が使用されます。
SETTAG [tag_value | NULLOracleのReplicatに有効です。REDOログ内の関連付けられたReplicatのトランザクションの識別に使用される、Oracle REDOタグの値を設定します。REDOタグを使用して、Replicat以外のトランザクションを識別することもできます。
このオプションを使用して、双方向構成のReplicatの個別のレコードのサイクル(ループバック)を防いだり、他のトランザクションの取得をフィルタリングします。デフォルトのSETTAG値は00で、2Kバイトに制限されています。有効な値は、単一のOracle Streamsタグです。タグ値の最大長は、16進数の桁で2000 (0-9 A-F)です。Streamsタグの詳細は、を参照してください。
指定のタグでマーキングされたREDOのトランザクションは、ExtractでEXCLUDETAGオプションのTRANLOGOPTIONSパラメータをtag_valueに設定するとフィルタリングできます。タグに基づくフィルタリングを使用して、双方向構成のReplicatトランザクションのサイクル(ループバック)を防いだり、他のトランザクションの取得をフィルタリングします。詳細は、「TRANLOGOPTIONS」を参照してください。
DDLOPTIONSパラメータのNOTAGオプションを使用すると、DDLのタグ付けを無効にすることができます。
SKIPTEMPLOB | NOSKIPTEMPLOBOracle Databaseのバージョン11gおよび12cのReplicatに有効です。LOBがターゲットOracleデータベースに適用される方法を制御します。SKIPTEMPLOBのデフォルト。
SKIPTEMPLOBでは、LOBデータをターゲットLOB列に直接書き込むことでパフォーマンスが向上します。Replicatでは空のLOB値でSQL文が作成され、LOBロケータがバインド変数に返されます。SQL文が正常に実行された後、返されたLOBロケータを使用してLOBデータが直接LOB列に書き込まれます。
NOSKIPTEMPLOBでは一時LOBがSQL文で使用されます。ReplicatではSQL文内でバインド変数が宣言され、一時LOBが関連付けられてから、一時LOBに書き込まれます。Oracle DatabaseはLOB列データを一時LOBから適用します。
SKIPTEMPLOBは、LOBデータが含まれるINSERTおよびUPDATE操作に適用されます。表にLOB列を使用したファンクション索引がある場合、LOBデータがNULLまたは空である、あるいはインラインで保存されている場合は、適用されません。部分的なLOB操作には適用されません。
SKIPTEMPLOBを使用すると、ReplicatはLOB列の行を更新/挿入する場合に、1つのDML操作とn個のLOB_WRITE (ピース単位)操作を生成/実行します。ただし、SKIPTEMPLOBをFETCHPARTIALLOB (Extractパラメータ)とともに使用すると過剰なフェッチが発生するので、このように使用しないでください。
NOSKIPTEMPLOBが下位互換性のために提供され、それ以外の場合はデフォルトのSKIPTEMPLOBが保持されます。
SOURCE_DB_NAME src_dbase_global_name Oracleに有効です。証跡のソース・データベースのグローバル名を指定します。DBOPTIONS ENABLE_INSTANTIATION_FILTERINGが有効な場合に、関連するインスタンス化情報の問合せに使用されます。このオプションは、メタデータが有効な12.2.証跡ファイルのインスタンス化フィルタリングでは省略可能です。
SPTHREAD | NOSPTHREADSQL ServerのExtractおよびReplicatに有効です。ストアド・プロシージャに別のデータベース接続スレッドを作成します。デフォルトはNOSPTHREADです。
SUPPRESSTEMPORALUPDATESDB2 LUW 10.1 FixPack 2以上のテンポラル表のレプリケーションに有効です。
SUPPRESSTEMPORALUPDATESでは、システム期間表とバイテンポラル表を関連する履歴表とともにレプリケートします。Oracle GoldenGateでは、行開始列、行終了列およびトランザクション開始ID列を、他の表列とともにレプリケートします。データベース・インスタンスに、適用側でSYSPROC.SET_MAINT_MODE_RECORD_NO_TEMPORALHISTORY¿ストアド・プロシージャを実行する実行権限があることを確認する必要があります。
デフォルトで、Oracle GoldenGateは行開始列、行終了列およびトランザクション開始ID列をレプリケートしません。これらの列の元の値を保持するには、次のオプションの1つを実装します。
ターゲット・テンポラル表に追加のタイムスタンプ列を追加し、列を適切にマップします。
適用側で非テンポラル表を使用し、列を適切にマップします。
異種環境でのレプリケーション:
適用側にテンポラル表がない異種環境では、行開始列、行終了列およびトランザクション開始ID列の値を設定する必要があります。これらのソース列には、ターゲット・データベースでサポートされない可能性のあるタイムスタンプ値があります。最初にマップ変換関数を使用して、これらの値をターゲット・データベースでサポートされる形式に変換してから、列を適切にマップする必要があります。たとえば、MySQLのDATETIME範囲は`1000-01-01 00:00:00.000000'から'9999-12-31 23:59:59.999999¿'までです。DB2 LUWのタイムスタンプ値`0001-01-01-00.00.00.000000000000¿はMySQLにレプリケートできません。このような値をレプリケートするには、この値をMySQLのDATETIME形式に変換する必要があります。たとえば、システム期間表またはバイテンポラル表に次のタイムスタンプ列がある場合、次のようになります。
SYS_START -------------------------------- 0001-01-01-00.00.00.000000000000
この列をMySQLにレプリケートするには、関数colmap()を次のように使用します。
map <source_schema>.<source_table>, target <target_schema>.<target_table> colmap(sys_start= @IF( ( @NUMSTR( @STREXT(sys_start,1,4))) > 1000, sys_start, '1000-01-01 00.00.00.000000'));
テンポラル表の初期ロード:
Oracle GoldenGateではテンポラル表の初期ロードを通常どおりサポートしています。
テンポラル表に関する次の考慮事項に注意してください。
システム期間テンポラル表とアプリケーション期間テンポラル表との間のレプリケーションはサポートされません。
非テンポラル表からテンポラル表へのレプリケーションはサポートされません。
システム期間表、バイテンポラル表、およびINSERTALLRECORDSパラメータを使用したSUPPRESSTEMPORALUPDATESのレプリケーションはサポートされません。
ターゲット表でBUSINESS_TIME WITHOUT OVERLAPSを使用してアプリケーション期間テンポラル表に一意索引が作成されている場合は、ソース表に対して同じ一意索引を作成する必要があります。
テンポラル表間の双方向レプリケーションが推奨されるのはデフォルトを使用する場合のみです。
CDRはSUPPRESSTEMPORALUPDATESでのみサポートされます。双方向レプリケーションでのCDRのサポートはありません。
デフォルトで、ソース・データベースとターゲット・データベースが異なるタイム・ゾーンで稼働している場合、テンポラル表の行開始列、行終了列およびトランザクション開始ID列に不整合が生じます。このようなシステム期間表とバイテンポラル表のタイムスタンプ列は、それぞれのデータベース・マネージャによって自動的に移入され、それぞれのデータベースのタイム・ゾーンに従って値が設定されます。
レプリケート・パラメータ・ファイル内にGETUPDATEBEFORESが指定されたデフォルトを使用すると、どのデルタ計算にも行開始列、行終了列およびトランザクション開始ID列を使用できません。たとえば、いかなる種類の計算でも、このような列の前イメージと後イメージを取得することはできません。これらの列をデルタ計算で使用するには、SUPPRESSTEMPORALUPDATESを使用します。
SUPPRESSTRIGGERS | NOSUPPRESSTRIGGERSOracleの非統合Replicatに有効です。Replicatセッション中にトリガーが起動するかどうかを制御します。これは、手動でトリガーを無効化するかわりに使用できます。(統合Replicatでは、ターゲット・システムでのトリガーの無効化は必要ありません。)
SUPPRESSTRIGGERS(デフォルト)では、Oracle GoldenGateでのレプリケーション用に構成されたターゲット・オブジェクトでトリガーが発生しないようにします。SUPPRESSTRIGGERSは、Oracle Database 12c、11g (11.2.0.2)およびそれ以降の11g R2リリースに有効です。SUPPRESSTRIGGERSは11g R1では無効です。
特定のトリガーを起動できるようにするには、次のSQLEXEC文をReplicatパラメータ・ファイルで使用できます。このとき、trigger_ownerにはトリガーの所有者、trigger_nameにはトリガー名を指定します。
SQLEXEC 'dbms_ddl.set_trigger_firing_property(trigger_owner"trigger_name", FALSE);'
注意:
このSQLEXECを一度FALSEで実行すると、TRUEを設定して再びコマンドを実行するまで、トリガーは起動し続けます。
NOSUPPRESSTRIGGERSでは、ターゲット・トリガーが起動できます。[NO]SUPPRESSTRIGGERSを使用するには、Replicatユーザーにdbms_goldengate_auth.grant_admin_privilegeパッケージで付与される権限が必要です。この手順は、Oracleデータベース・インストールの一部です。詳細は、データベースのマニュアルを参照してください。
USERIDまたはUSERIDALIASパラメータは、SUPPRESSTRIGGERSまたはNOSUPPRESSTRIGGERSを含むDBOPTIONS文よりも前に指定する必要があります。
TDSPACKETSIZE bytesSybaseのExtractおよびReplicatに有効です。Sybaseターゲットへのレプリケーションで使用するTDSパケット・サイズを設定します。
次の値が有効です。
Sybaseバージョン12.5.4:
注意:
このバージョンは、Oracle GoldenGate 11.2.1よりサポート対象外です。
512から65024まで
デフォルトは、Extractの場合は0、Replicatの場合は512です。
Sybase15以上:
2048から65024まで
デフォルトは、Extractの場合は0、Replicatの場合は2048です。
値は512の倍数である必要があります。Sybase Adaptive Serverのmax network packet sizeおよびadditional network memoryパラメータに設定する値の範囲は、TDSPACKETSIZEで設定する値をサポートしている必要があります。
注意:
max network packet sizeの値が大きいほど、データベース・サーバーがネットワーク・データへの割当てに必要とするメモリー(additional network memoryで設定される)が大きくなります。
最適なパフォーマンスのために、ネットワーク上の基礎となるパケット・サイズで効率的に動作するサーバー・パケット・サイズを選択してください。この手順の目的は、次のとおりです。
ネットワークに対するサーバーの読取りおよび書込み数を減らす。
ネットワーク・パケットでの未使用の領域を減らし、ネットワークのスループットを向上させる。
たとえば、お使いのネットワークのパケット・サイズで1500バイトのデータが処理される場合、サーバー上のパケット・サイズは、1536 (512*3)に設定するよりも、1024 (512*2)に設定する方が、転送のパフォーマンスを向上させることができます。
最適なパフォーマンスのために、次の構成で起動します。
DBOPTIONS TDSPACKETSIZE 8192
DBOPTIONSパラメータは、他のパラメータに関係なく、パラメータ・ファイル内の任意の場所に配置できます。
TRANSNAME trans_nameSQL ServerのReplicatに有効です。パラメータ・ファイルに指定されている特定のトランザクション名を各Replicatで使用できるようにします。trans_nameは、ReplicatがターゲットのDMLトランザクションに対して使用するトランザクションの名前で、デフォルトのggs_replトランザクション名(使用されている場合)よりも優先されます。
USEODBCSQL ServerのReplicatに有効です。ReplicatがODBCを使用してDML操作を実行するように構成します。デフォルトでは、OLE DBを使用します。USEREPLICATIONUSERを有効化しているときはこの設定は無効になり、Replicatは異常終了します。
注意:
Replicatは、データベース・カタログに接続してメタデータを取得する場合は、常にODBCを使用します。
USEREPLICATIONUSERSQL ServerのReplicatに有効です。SQL Serverレプリケーション・ユーザーとしてターゲットDML操作を実行するようにReplicatを構成します。レプリケーション・ユーザーは、SQL Serverユーザーまたはアカウントではなく、データベース接続のプロパティです。USEREPLICATIONUSERがオブジェクトまたはプロパティ(ID列やカスケード制約など)で設定されている場合、SQL ServerのNOT FOR REPLICATIONフラグが適用されます。
レプリケーション・ユーザーを使用する場合は、データの整合性に対する次の懸念を解消する必要があります。
ターゲットのIDENTITYシードが更新されません。ターゲットが読取り専用の場合を除き、主キー違反の回避のためにパーティショニング・スキームが必要です。
外部キー制約が強制されません。
ON UPDATE CASCADE、ON DELETE CASCADEおよびトリガーが無効化されます。重複する操作が回避されるのでこの無効化はReplicatには有益ですが、ターゲット・アプリケーションにとっては適切でなく、データ整合性の確保のために制約またはトリガーのコードの変更が必要になることがあります。
CHECK制約が強制されないため、ターゲット上でデータ整合性を確保できません。
USEREPLICATIONUSERを使用する際、IDENTITYプロパティおよび制約は'not for replication'オプションとともにデータベース内のオブジェクト・レベルで設定する必要があります。これらの問題の詳細は、SQL ServerのためのOracle GoldenGateのインストールおよび構成を参照してください。
デフォルトでは、USEREPLICATIONUSERは無効化されており、OLE DBを使用します。USEREPLICATIONUSERは、送信パフォーマンスを高める必要がある場合にのみ使用することをお薦めします。USEODBCを有効化しているときはこの設定は無効になり、Replicatは異常終了します。
XMLBUFSIZE bytesOracleのExtractに有効です。SDO_GEORASTERオブジェクト・タイプのsys.xmltype属性から抽出されたXMLデータを保持するメモリー・バッファのサイズを設定します。デフォルトは1048576バイト(1MB)です。データがデフォルトのバッファ・サイズを超えると、Extractは異常終了します。その場合は、バッファ・サイズを増やしてから、Extractを再起動してください。有効な値の範囲は、1024から10485760バイトです。