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には、次のパラメータがあります。

パラメータ 説明

operation

TT_VARCHAR(30)

チェックする制約を指定します。サポートされている値は次のとおりです:

  • ForeignKey - 外部キー制約をチェックします。

  • Unique - 一意制約をチェックします。

  • Awt - 外部キー制約および一意制約の両方をチェックします。

  • NULL - 外部キー制約および一意制約の両方をチェックします。

cgOwner

TT_VARCHAR(30)

キャッシュされたOracle Database表の所有者を指定します。

NULLの場合、接続ユーザーが所有するすべての非同期ライトスルー・キャッシュ・グループをチェックします。

cgOwnerおよびcgNameの両方ともNULLの場合、すべての非同期キャッシュ・グループをチェックします。

cgName

TT_VARCHAR(30)

キャッシュされたOracle Database表の名前を指定します。

NULLの場合で、cgOwnerが指定されている場合、cgOwnerに所有されるすべての非同期ライトスルー・キャッシュ・グループをチェックします。

cgOwnerおよびcgNameの両方ともNULLの場合、すべての非同期キャッシュ・グループをチェックします。

結果セット

ttCacheCheckは、次の結果セットを返します。

cgOwner

TT_VARCHAR (30) NOT NULL

キャッシュ・グループの所有者。

cgName

TT_VARCHAR (30) NOT NULL

キャッシュ・グループの名前。

tblOwner

TT_VARCHAR(30)

表の所有者。

tblName

TT_VARCHAR(30)

表の名前。

objectType

TT_VARCHAR(15)

Oracleオブジェクトのタイプ: 一意索引、制約または外部キー。

objectOwner

TT_VARCHAR(30)

Oracleオブジェクトの所有者。

objectName

TT_VARCHAR(30)

オブジェクト名。

msgType

TT_SMALLINT NOT NULL

メッセージの種類。

0 = 情報

1 = 警告

-1 = エラー

msg

TT_VARCHAR (100000) NOT NULL

問題を説明するメッセージ。

objectDesc

VARCHAR2(200000)

オブジェクトの説明。オブジェクトがAWTチェックの場合、説明はオブジェクトを記述するSQL文になります。

次の例では、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.

このプロシージャは、キャッシュ操作でのみ使用可能です。