Db2 LUW: サポートされているデータ型、オブジェクトおよび操作
この項では、Db2 LUW上のOracle GoldenGateでサポートされているデータ型、オブジェクトおよび操作について説明します。
サポートされているDb2 LUWデータ型
Oracle GoldenGateでは、「サポートされていないDb2 LUWデータ型」に示されているタイプを除くすべてのDb2 LUWデータ型がサポートされています。
サポートの制限
Oracle GoldenGateには、Db2 LUWデータ型のサポートに関する次の制限があります。
-
Oracle GoldenGateは、文字の列に格納されているマルチバイト・キャラクタ・データ型とマルチバイト・データをサポートします。マルチバイトのデータは、同類の構成でのみサポートされます。変換、フィルタリング、およびその他の種類の操作は、マルチバイト・キャラクタ・データに対してはサポートされていません。
-
BLOB列およびCLOB列の定義にはLOGGED句が含まれている必要があります。 -
IBM DB2READLOGインタフェースの制限により、Oracle GoldenGateではDb2 Database Partitioning Feature (DPF)環境のノード間でのトランザクションの調整がサポートされていません。DPFでは、データのパーティション化方法に応じて、1つのトランザクションは複数のノードにまたがります。
ただし、そこからキャプチャする必要がある場合は、特定の制限付きで実行できます。Oracle SupportノートDoes Oracle GoldenGate Support DB2 LUW Data Partitioning Feature (DPF)?を確認してください(DocID 2763006.1)。
-
GRAPHIC列およびVARGRAPHIC列は、文字セットがUTF16のデータベース内にある必要があります。他の文字セットでは、Oracle GoldenGateが異常終了します。 -
浮動小数点数の範囲および精度のサポートは、ホスト・マシンによって異なります。一般的に、精度は16桁まで正確ですが、データベースのドキュメントを確認して、想定される近似値を決定する必要があります。Oracle GoldenGateでは、サポートされる精度を超える値は丸めされるか切り捨てられます。
-
出力証跡の形式が19.1以降の場合、Extractは
TIMESTAMP(0)からTIMESTAMP(12)までのキャプチャと適用を完全にサポートします。それ以外の場合、ExtractはTIMESTAMP(10)からTIMESTAMP(12)までのデータをナノ秒(最大9桁の小数単位の時間)にまで切り捨てして、レポート・ファイルに警告を発行します。 -
Oracle GoldenGateでは、0001/01/03:00:00:00から9999/12/31:23:59:59までのタイムスタンプ・データがサポートされます。タイムスタンプがGMTからローカル時間に変換されると、これらの制限も結果のタイムスタンプに適用されます。タイムゾーンに応じて、変換によって時間が加算または減算される可能性があり、これにより、タイムスタンプがサポートされている上限を超えたり、下回ったりすることがあります。
-
Oracle GoldenGateでは、4Kより大きいラージ・オブジェクトのフィルタリング、列マッピングまたは操作はサポートされません。4K以下のオブジェクトには、Oracle GoldenGateのすべての機能を使用できます。
-
同じ文字セットを使用するソース・データベースとターゲット・データベース間のXML列のレプリケーションはサポートされています。ソース・データベースとターゲット・データベースの文字セットが異なる場合、ターゲット・データベースの文字セットで一部の文字が認識されない(または無効な)ことがあるため、XMLレプリケーションがデータベース・エラーで失敗することがあります。
-
Oracle GoldenGateでは、Db2 LUW列構成表からの変更の取得は動作保証されません。
-
DECFLOATデータ型は、NaN、sNaNおよびInfinity/-Infinity特殊数値をサポートします。特殊な値をサポートするデータベース別のデータ型の詳細は、「データベース・データ型でサポートされる特別な値」を参照してください。
サポートされていないDb2 LUWデータ型
サポートされていないDb2 LUWデータ型は次のとおりです。
-
XMLType(取得) -
ユーザー定義タイプ
-
負の日付
Db2 LUWについてサポートされているオブジェクトおよび操作
Db2 LUWでサポートされているオブジェクトおよび操作は、次のとおりです。
-
Oracle GoldenGate Extractは、データベースとOracle GoldenGateが異なるバイト順序サーバーで実行されているクロスエンディアン取得をサポートしています。Db2 LUWバージョン10.5以上では、バイト順序は自動的に検出されます。Db2 LUW 10.5データベースのDb2データベース自動検出が不要な場合、
TRANLOGOPTIONS MIXEDENDIAN [ON|OFF]パラメータを指定して上書きできます。Db2 LUWバージョン10.1の場合、このパラメータは、クロスエンディアン取得用のExtractパラメータ・ファイルで使用する必要があります。詳細は、「TRANLOGOPTIONS」を参照してください。 -
Db2 pureScale環境がサポートされています。
-
Oracle GoldenGateでは、データベースでサポートされている表ごとの列の最大数およびサイズがサポートされます。
-
TRUNCATE TABLE. -
マルチディメンション・クラスタリング表(MDC)。
-
マテリアライズド問合せテーブル。Oracle GoldenGateでは、MQT自体をレプリケートしません。ベース表のみです。ターゲット・データベースは、Replicatによってベース表に適用された変更に基づいて、自動的にMQTの内容を維持します。
-
ROW COMPRESSIONを使用した表。Db2 LUWバージョン10.1以上では、COMPRESS YES STATICおよびCOMPRESS YES ADAPTIVEがサポートされています。 -
拡張行サイズ機能は、デフォルトで有効になっています。これは、
FETCHCOLSを使用した回避策でサポートされます。VARCHARまたはVARGRAPHICデータ型で、データベースの行外に格納されている列値の場合は、Extractパラメータ・ファイルのTABLEパラメータにFETCHCOLSオプションを使用して、これらの列を指定し、これらの拡張行をフェッチする必要があります。このオプションが設定されている場合、列値が行外にあると、Oracle GoldenGateによってこの値がフェッチされます。値が範囲外であり、FETCHCOLSが指定いない場合は、データ損失を防ぐためにExtractが異常を終了します。この機能を使用しない場合は、extended_row_sizeパラメータをDISABLEに設定します。拡張行サイズ機能は、デフォルトで有効になっています。これは、Db2 LUW 10.1の
FETCHCOLSを使用した回避策でサポートされます。VARCHARまたはVARGRAPHICデータ型で、データベースの行外に格納されている列値の場合は、Extractパラメータ・ファイルのTABLEパラメータでFETCHCOLSオプションを使用してこれらの列を指定し、これらの拡張行をフェッチする必要があります。このオプションが設定されている場合は、列値が行外にあるときに、その値がOracle GoldenGateによってフェッチされます。値が範囲外であり、FETCHCOLSが指定されていない場合は、データ損失を防ぐためにExtractが異常を終了します。この機能を使用しない場合は、extended_row_size parameterパラメータをDISABLEに設定します。Db2 LUW 10.5以降では、行外の値がExtractでシームレスにキャプチャされます。該当するデータベース・バージョンから行外の列をキャプチャするために、FETCHCOLSは不要になりました。 -
Db2 LUW 10.1 FixPack 2以上のテンポラル表がサポートされています。これがReplicatのデフォルトになります。
-
システム期間テンポラル表とアプリケーション期間テンポラル表間のレプリケーションはサポートされていません。
-
非テンポラル表からテンポラル表へのレプリケーションはサポートされません。
-
INSERTALLRECORDSパラメータを使用したテンポラル表のレプリケーションはサポートされていません。 -
双方向レプリケーションは、デフォルトのレプリケーションでのみサポートされます。
-
双方向レプリケーションでのCDRはサポートされていません。
-
アプリケーション期間テンポラル表でのCDRはサポートされています。
-
-
SEND EXTRACT SHOWTRANS\SKIPTRANS\FORCETRANSコマンドでサポートされるオプションは次のとおりです。SHOWTRANSコマンドでサポートされるオプションSHOWTRANS [transaction_ID] [COUNT n] [DURATION duration unit] [TABULAR][FILE file_name] |SKIPTRANSおよびFORCETRANSのオプション。SKIPTRANS transaction_ID [FORCE] FORCETRANS transaction_ID [FORCE] -
自動ハートビート表のサポートに関する制限事項は次のとおりです。
-
[THREAD n][DETAIL]はサポートされていません。 -
Oracle GoldenGateのハートビート・パラメータの頻度およびパージ頻度は、秒単位および日単位で使用できます。ただし、Db2 LUWのタスク・スケジューラではスケジュールをcron形式でのみ受け付けるため、Oracle GoldenGateの入力値をcron形式にすると、精度が失われる可能性があります。たとえば:
-
ADD HEARTBEATTABLE, FREQUENCY 150, PURGE_FREQUENCY 20
This example sets the `FREQUENCY` to 150 seconds, which is converted to the closest minute value of 2 minutes, so the heartbeat table is updated every 120 seconds instead of every 150 seconds. Setting `PURGE_FREQUENCY` to 20 means that the history table is purged at midnight on every 20th day.
-
次に、ハートビートのスケジュール済タスクの実行に必要なステップを示します。
-
DB2_ATS_ENABLEレジストリ変数をdb2set DB2_ATS_ENABLE=YESに設定します。 -
SYSTOOLSPACE表領域を作成します(まだ存在しない場合)。
CREATE TABLESPACE SYSTOOLSPACE IN IBMCATGROUP MANAGED BY AUTOMATIC STORAGE EXTENTSIZE 4-
インスタンス所有者にデータベース管理者権限(DBADM)があることを確認します。
GRANT DBADM ON DATABASE TOinstance_owner_name
-
Db2 LUWについてサポートされていないオブジェクトおよび操作
Oracle GoldenGateでサポートされていないDb2 LUWのオブジェクトと操作は次のとおりです。
-
末尾に空白を含むスキーマ名、表名および列名
-
データベースの複数インスタンス
-
DDL (データ定義言語)操作の抽出とレプリケーション
-
生成された列(
GENERATE ALWAYS句) -
DB2 Data Partitioning Feature (DPF)はサポートされていません。DPFは、パーティション内のすべてのノード間で調整された方法でログ・レコードを読み取る手段を提供しません。したがって、全てのノードが個別のExtractでレプリケートされている場合でも、全てのトランザクションのすべてのレコードが正しい時間順序で確実に適用されるようにする方法はありません。これは、データベース内のキャッシュや、基礎となるオペレーティング・システムがパーティション全体にわたるレコード操作の順序に影響を与える可能性のある、キャッシュされているがまだ表示されていないエントリがあるかどうかをExtractが可視化できないなど、多くの要因によって発生する可能性があります。この不確実性のため、パーティションまたは主キーの更新にまたがるトランザクションが一貫した方法でレプリケートされることはできない。
システム・スキーマ
次のスキーマまたはオブジェクトは、ワイルドカードなしで明示的に指定した場合を除いて、Oracle GoldenGateによる自動レプリケートは実行されません。
-
"SYSIBM" -
"SYSCAT" -
"SYSSTAT" -
"SYSPROC" -
"SYSFUN" -
"SYSIBMADMIN" -
"SYSTOOLS" -
"SYSPUBLIC"
サポートされるオブジェクト名
オブジェクト名でサポートされる文字のリストについては、サポートされるデータベース・オブジェクト名を参照してください。