ttCacheCheck
ttCacheCheck
組込みプロシージャは、Oracle Database上のキャッシュされた表に対する制約が失われていないかをチェックします。
キャッシュされるOracle Database表の列に対する任意の一意索引、一意制約または外部キー制約は、TimesTen内の非同期ライトスルー・キャッシュ表でも作成する必要があります。これらの制約をAWTキャッシュ表に作成しておらず、キャッシュ・グループをパラレル伝播用に構成している場合には、TimesTenは制約が失われている表に対するDML操作によってトランザクションをシリアライズします。
このプロシージャでは、失われている制約およびシリアライズされた伝播用にマークされた表についての情報が提供されます。
失われている制約を手動でチェックするには、次の状況でttCacheCheck
をコールします。
-
一連の
DROP CACHE GROUP
文の完了後。 -
Oracle Database上で一意索引または外部キーを作成または削除した後。
-
複数のトランザクションがシリアライズされている理由を判断するため。
このプロシージャは、表に対して実行されたDMLがシリアライズされる必要があるかないかを示すためにシステム表を更新します。したがって、ttCacheCheck
組込みの完了後に、コミットまたはロールバックする必要があります。
『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』の「Oracle Databaseへのパラレル伝播を使用したAWTスループットの向上」を参照してください。
必要な権限
このプロシージャには、CACHE_MANAGER
権限が必要です。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen ClassicとTimesTen Scaleoutの両方でサポートされています。関連ビュー
このプロシージャには関連ビューはありません。
構文
ttCacheCheck('operation', cgOwner, cgName)
パラメータ
ttCacheCheck
には、次のパラメータがあります。
パラメータ | 型 | 説明 |
---|---|---|
|
|
チェックする制約を指定します。サポートされている値は次のとおりです:
|
|
|
キャッシュされたOracle Database表の所有者を指定します。
|
|
|
キャッシュされたOracle Database表の名前を指定します。
|
結果セット
ttCacheCheck
は、次の結果セットを返します。
列 | 型 | 値 |
---|---|---|
|
|
キャッシュ・グループの所有者。 |
|
|
キャッシュ・グループの名前。 |
|
|
表の所有者。 |
|
|
表の名前。 |
|
|
Oracleオブジェクトのタイプ: 一意索引、制約または外部キー。 |
|
|
Oracleオブジェクトの所有者。 |
|
|
オブジェクト名。 |
|
|
メッセージの種類。
|
|
|
問題を説明するメッセージ。 |
|
|
オブジェクトの説明。オブジェクトが |
例
次の例では、cacheadmin
が所有するキャッシュ・グループupdate_orders
で失われている制約がないかどうかを判定しています。警告メッセージを含む結果セットが返されます。update_orders
キャッシュ・グループのordertab
表は、逐次伝播されたトランザクションであると示されています。
Command> call ttCacheCheck( NULL, 'cacheadmin, 'update_orders'); < CACHEADMIN, UPDATE_ORDERS, CACHEADMIN, ORDERTAB, Foreign Key, CACHEADMIN, CUST_FK, 1, Transactions updating this table will be serialized to Oracle because: The missing foreign key connects two AWT cache groups., table CACHEADMIN.ORDERTAB constraint CACHEADMIN.CUST_FK foreign key(CUSTID) references CACHEADMIN.ACTIVE_CUSTOMER(CUSTID) > 1 row found.
このプロシージャは、キャッシュ操作でのみ使用可能です。