Oracle Database LOBデータのキャッシュ

Oracle Databaseラージ・オブジェクト(LOB)データをTimesTenのキャッシュ・グループにキャッシュできます。

TimesTenでは、次のようにデータをキャッシュします。

  • Oracle Database CLOBデータは、TimesTen VARCHAR2データとしてキャッシュされます。

  • Oracle Database BLOBデータは、TimesTen VARBINARYデータとしてキャッシュされます。

  • Oracle Database NCLOBデータは、TimesTen NVARCHAR2データとしてキャッシュされます。

次の例では、Oracle Database LOBデータをキャッシュする方法を示します

  1. LOBフィールドを持つOracle Databaseに表を作成します。
    CREATE TABLE t (
      i INT NOT NULL PRIMARY KEY
      , c CLOB
      , b BLOB
      , nc NCLOB);
  2. Oracle Database表に値を挿入します。値は、暗黙的にTimesTen VARCHAR2VARBINARYまたはNVARCHAR2データ型に変換されます。
    INSERT INTO t VALUES (1
      , RPAD('abcdefg8', 2048, 'abcdefg8')
      , HEXTORAW(RPAD('123456789ABCDEF8', 4000, '123456789ABCDEF8'))
      , RPAD('abcdefg8', 2048, 'abcdefg8')
    );
    
    1 row inserted.
  3. 動的AWTキャッシュ・グループを作成し、レプリケーション・エージェントを起動します。
    CREATE DYNAMIC ASYNCHRONOUS WRITETHROUGH CACHE GROUP cg1 
      FROM t
     (i INT NOT NULL PRIMARY KEY
      , c VARCHAR2(4194303)
      , b VARBINARY(4194303)
      , nc NVARCHAR2(2097152));
    
    CALL ttrepstart;
  4. TimesTenキャッシュ・グループに動的にデータをロードします。
    SELECT * FROM t WHERE i = 1;
    
    I:    1
    C:    abcdefg8abcdefg8abcdefg8...
    B:    123456789ABCDEF8123456789...
    NC:   abcdefg8abcdefg8abcdefg8...
    
    1 row found.