Oracle Database LOBデータのキャッシュに対する制限

Oracle Database LOBデータをTimesTenにキャッシュする場合には制限があります。

Oracle Database LOBデータをTimesTenキャッシュ・グループにキャッシュする場合は、次の制限が適用されます。

  • キャッシュ・グループの作成時に列サイズが適用されます。VARBINARYVARCHAR2およびNVARCHAR2データ型のサイズ制限は4MBです。ユーザー定義の列のサイズを超える値は、通知なしに実行時に切り捨てられます。

  • CLOBおよびBLOBデータ型のフィールド内にある空の値は、初期化されますがデータは入力されません。空のCLOBフィールドおよびBLOBフィールドは次のように処理されます。

    • Oracle Databaseの空のLOBフィールドは、NULL値として返されます。

    • TimesTenの空のVARCHAR2フィールドおよびVARBINARYフィールドは、NULL値として伝播されます。

また、自動リフレッシュ処理を行うように構成されたキャッシュ・グループでは、LOBデータのキャッシュに対して次の制限が適用されます。

  • OCI関数またはDBMS_LOB PL/SQLパッケージによってOracleデータベースでLOBデータが更新された場合、データはTimesTenのキャッシュ・グループに自動的にはリフレッシュされません。これは、TimesTenのキャッシュ処理がOracle Databaseトリガーに依存しているのに、Oracle Databaseトリガーはこのようなタイプの更新が発生しても処理されないためです。TimesTenは、更新が発生したもののTimesTenへのリフレッシュが行われなかったことをユーザーに通知しません。SQL文によってOracle DatabaseのLOBデータが更新された場合は、トリガーが起動され、自動リフレッシュによってその変更が反映されます。

  • 自動リフレッシュ処理では常に行全体がリフレッシュされるため、同じ行の他の列が更新されると、キャッシュ内のLOBデータが更新されます。