キャッシュ・グループの削除

キャッシュ・グループおよびそのキャッシュ表を削除するには、DROP CACHE GROUP文を使用します。

DROP CACHE GROUP文を使用してキャッシュ・グループを削除すると、Oracle Databaseデータのキャッシュ管理に使用されているOracle Databaseオブジェクトが自動的に削除されます。

自動リフレッシュ処理を実行中のキャッシュ・グループに対してDROP CACHE GROUP文を発行すると、次のようになります。

  • LockWait接続属性設定が0(ゼロ)より大きな値である場合、自動リフレッシュ処理は停止します。DROP CACHE GROUP文が自動リフレッシュ処理より優先して使用されます。

  • LockWait接続属性設定が0(ゼロ)である場合、自動リフレッシュ処理は続行します。DROP CACHE GROUP文は、自動リフレッシュ処理が完了するか、またはこの文自体がロック・タイムアウト・エラーで失敗するまでブロックされます。

AWTキャッシュ・グループを作成した場合は、そのキャッシュ表でコミットされた変更をキャッシュされているOracle表に非同期的に伝播できるように、レプリケーション・スキームが作成されます。このレプリケーション・スキームは、AWTキャッシュ・グループを削除すると自動的に削除されます。したがって、AWTキャッシュ・グループを削除する前に、次の手順を実行します。

  1. そのAWTキャッシュ・グループを削除する前に、ttRepSubscriberWait組込みプロシージャを使用して、キャッシュ表にコミットされたすべての変更をキャッシュされたOracle Database表に伝播します。

    % ttIsql "DSN=cache1;UID=cacheadmin;PwdWallet=/wallets/cacheadminwallet"
    Command> CALL ttRepSubscriberWait('_AWTREPSCHEME','TTREP','_ORACLE','sys1',-1);
  2. AWTキャッシュ・グループのキャッシュ表は、アクティブ・スタンバイ・ペアでレプリケートされます。キャッシュ表がレプリケートされている唯一の表である場合は、DROP ACTIVE STANDBY PAIR文を使用してアクティブ・スタンバイ・ペアを削除してから、AWTキャッシュ・グループを削除します。

    アクティブ・スタンバイ・ペアのレプリケーション・スキームを削除するには、TimesTenキャッシュ管理ユーザーとしてcacheactivecachestandbyおよびrosubscriberの各データベースで次の文を実行します:

    Command> DROP ACTIVE STANDBY PAIR;
    Command> exit

キャッシュ・グループを削除する場合は、次を実行します。

  1. ALTER CACHE GROUP文を実行して、自動リフレッシュを使用するキャッシュ・グループの自動リフレッシュ状態をOFFに設定します。
  2. キャッシュ・グループを削除する前に、TimesTenキャッシュ管理ユーザーにDROP ANY TABLE権限を付与する必要があります。DROP ANY TABLE権限をTimesTenキャッシュ管理ユーザーに付与するには、インスタンス管理者としてcache1cache2cacheactiveおよびcachestandbyの各データベースで次の文を実行します。cache1データベースから発行されたSQL文の例は、次のとおりです。
    % ttIsql cache1
    Command> GRANT DROP ANY TABLE TO cacheadmin;
    Command> exit
  3. スタンドアロンTimesTenデータベースから、AWTキャッシュ・グループを使用している場合にアクティブ・データベースおよびスタンバイ・データベースからキャッシュ・グループを削除するには、DROP CACHE GROUP文を使用します。

    subscriber_accountsキャッシュ・グループを削除するには、TimesTenキャッシュ管理ユーザーとしてcache1cache2cacheactiveおよびcachestandbyの各データベースで次の文を実行します。cache1データベースから発行されたSQL文の例は、次のとおりです。

    % ttIsql "DSN=cache1;UID=cacheadmin;PwdWallet=/wallets/cacheadminwallet"
    Command> DROP CACHE GROUP subscriber_accounts;

    DROP CACHE GROUP文は、Oracle Databaseのメタデータを更新します。同じ表をキャッシュする他のTimseTenデータベースがない場合、オブジェクトが削除されます。