Oracle Database LOBデータのキャッシュに対する制限
Oracle Database LOBデータをTimesTenにキャッシュする場合には制限があります。
Oracle Database LOBデータをTimesTenキャッシュ・グループにキャッシュする場合は、次の制限が適用されます。
-
キャッシュ・グループの作成時に列サイズが適用されます。
VARBINARY
、VARCHAR2
および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データが更新されます。