ヘッダーをスキップ
Oracle TimesTen Cache Connect to Oracle開発者および管理者ガイド
リリース7.0
E05172-03
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

READONLYキャッシュ・グループ

READONLYキャッシュ・グループでは、Oracle表への更新がAUTOREFRESHメカニズムによってTimesTenに適用されます。キャッシュは直接更新できません。「AUTOREFRESHキャッシュ・グループ属性」を参照してください。

図2.8に、READONLYキャッシュ・グループを示します。

図2.8 READONLYキャッシュ・グループ
READONLYキャッシュ・グループ[テキストの説明]

CREATE READONLY CACHE GROUP文を使用してREADONLYキャッシュ・グループを作成します。デフォルトは次のとおりです。

ALTER CACHE GROUP文を使用すると、AUTOREFRESHキャッシュ・グループ属性のデフォルトの設定を変更したり、Oracle表への更新がキャッシュに適用されないように完全に無効にできます。詳細は、「AUTOREFRESHキャッシュ・グループ属性」を参照してください。

READONLYキャッシュ・グループを作成する前に、ttCacheUidPwdSet組込みプロシージャ、または-cacheUidPwdSetオプションを指定したttAdminユーティリティを使用して、キャッシュ管理ユーザーIDおよびパスワードを設定します。キャッシュ管理ユーザーは、Oracleでトリガーを作成するため、表4.1のCREATE READONLY CACHE GROUPにリストされているOracle権限が必要です。

キャッシュ管理ユーザーIDおよびパスワードは、データ・ストアごとに1回のみ設定する必要があります。データ・ストアが上書きまたは破壊された場合は、キャッシュ管理ユーザーIDおよびパスワードを再設定する必要があります。

READONLYキャッシュ・グループ内のキャッシュされた表を更新しようとすると、TimesTenエラー8225「Table is read only」が返されます。ただし、PassThrough属性を2または3に設定すると、DML文は、キャッシュを介してOracleに渡された後、AUTOREFRESHによってOracleからキャッシュ・グループに伝播される場合があります。パススルーされた文によるREADONLYキャッシュ・グループへの効果は、その文を含むトランザクションでは確認できません。それらの効果は、Oracleでトランザクションがコミットされ、キャッシュの次のAUTOREFRESHが完了した後でのみ確認できます。PassThrough属性の詳細は、「パススルー・レベルの設定」を参照してください。

READONLYキャッシュ・グループの使用の制限

READONLYキャッシュ・グループを使用する場合は、次の制限が適用されます。

例: READONLYキャッシュ・グループの作成

この例では、customer表およびordertab表に対して、customer_ordersというREADONLYキャッシュ・グループを作成します。

CREATE READONLY CACHE GROUP customer_orders

FROM

user1.customer (custid INTEGER NOT NULL,

       name VARCHAR2(100) NOT NULL,

       addr VARCHAR2(100),

       zip VARCHAR2(10),

       region VARCHAR2(10),

       PRIMARY KEY(custid)),

user1.ordertab (orderid NUMBER NOT NULL,

       custid INTEGER NOT NULL,

       PRIMARY KEY (orderid),

       FOREIGN KEY (custid) REFERENCES CUSTOMER(custid));