TimesTenおよびOracleデータベース・システムのリストア

TimesTenおよびOracleデータベース・システムを元の状態にリストアするには、次のタスクを実行します。

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

  2. TimesTen Scaleoutのキャッシュ・エージェントの停止

  3. Oracle Databaseのユーザーとそのオブジェクトの削除

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

ttIsqlユーティリティを起動して、インスタンス管理者としてdatabase1 DSNに接続します。ttIsqlを使用して、DROP ANY TABLE権限をTimesTenキャッシュ管理ユーザーに付与し、このユーザーがキャッシュ・グループを削除するときに基礎となるキャッシュ表を削除できるようにします。

% ttIsql "DSN=database1"
Command> GRANT DROP ANY TABLE TO cacheadmin;
Command> exit

キャッシュ・グループを削除するには、まず自動リフレッシュ処理を一時停止して競合を回避する必要があります。TimesTenキャッシュ管理ユーザーとして、ttIsqlユーティリティを起動してdatabase1 DSNに接続します。

  1. ALTER CACHE GROUP文を使用して、キャッシュ・グループの自動リフレッシュ状態をPAUSEDに設定します。

  2. DROP CACHE GROUP文を使用して、readcache読取り専用キャッシュ・グループを削除します。

% ttIsql "DSN=database1;UID=cacheadmin;PwdWallet=/wallets/cacheadminwallet"
Command> ALTER CACHE GROUP readcache SET AUTOREFRESH STATE PAUSED;
Command> DROP CACHE GROUP readcache;

readcacheキャッシュ・グループとそのキャッシュ表sales.readtabがTimesTenデータベースから削除されます。

『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』キャッシュ・グループの削除を参照してください。

TimesTen Scaleoutのキャッシュ・エージェントの停止

アクティブ管理インスタンスで、ttGridAdmin dbCacheStopコマンドを使用して、データベース内のすべてのデータ・インスタンス上のキャッシュ・エージェントを停止します。

% ttGridAdmin dbCacheStop database1
Database database1 : Stopping cache agents. 

Database database1 element level status as of Mon Dec  7 14:52:51 PST 2020
 
Host  Instance  Elem Status CA Status Date/Time of Event  Message 
----- --------- ---- ------ --------- ------------------- ------- 
host3 instance1    1 opened stopped   2020-11-23 08:37:35         
host4 instance1    2 opened stopped   2020-11-23 08:37:35         
host5 instance1    3 opened stopped   2020-11-23 08:37:35         
host6 instance1    4 opened stopped   2020-11-23 08:37:35         
host7 instance1    5 opened stopped   2020-11-23 08:37:35         
host8 instance1    6 opened stopped   2020-11-23 08:37:35 

-instanceオプションを指定すると、特定のデータ・インスタンスのキャッシュ・エージェントを停止できます。

% ttGridAdmin dbCacheStop database1 -instance host4.instance1
Database database1 : Stopping cache agents. 

% ttGridadmin dbStatus database1 -element
 
Database database1 element level status as of Mon Dec  7 14:52:51 PST 2020
 
Host  Instance  Elem Status CA Status Date/Time of Event  Message 
----- --------- ---- ------ --------- ------------------- ------- 
host3 instance1    1 opened started   2020-11-23 08:37:35         
host4 instance1    2 opened stopped   2020-11-23 08:37:35         
host5 instance1    3 opened started   2020-11-23 08:37:35         
host6 instance1    4 opened started   2020-11-23 08:37:35         
host7 instance1    5 opened started   2020-11-23 08:37:35         
host8 instance1    6 opened started   2020-11-23 08:37:35 

実行中のキャッシュ・エージェントが1つのみの場合は、自動リフレッシュありのキャッシュ・グループを削除または変更した直後にその最後のキャッシュ・エージェントを停止しないでください。キャッシュ・グループを管理するために作成および使用されたOracleデータベース・オブジェクト(変更ログ表やトリガーなど)をキャッシュ・エージェントがクリーン・アップできるように、最低でも2分は待機してください。複数のキャッシュ・エージェントが実行されている場合は、このことは問題になりません。

「TimesTen Scaleoutのキャッシュ・エージェントの起動」を参照してください。

Oracle Databaseのユーザーとそのオブジェクトの削除

SQL*Plusを起動し、sysユーザーとしてOracle Databaseに接続します。Oracleキャッシュ管理ユーザーcacheadminを削除するには、SQL*Plusを使用します。

% sqlplus sys as sysdba
Enter password: password
SQL> DROP USER cacheadmin CASCADE;
User dropped.

DROP USER文のCASCADEを指定すると、ユーザーそのものが削除される前に、そのユーザーが所有するすべてのオブジェクト(表やトリガーなど)が削除されます。

次に、SQL*Plusを使用して、TT_CACHE_ADMIN_ROLEロールを削除します。

SQL> DROP ROLE TT_CACHE_ADMIN_ROLE;
Role dropped.

さらに、SQL*Plusを使用して、Oracleキャッシュ管理ユーザーによって使用されるデフォルトの表領域cachetblspを、表領域およびそのデータ・ファイルの内容を含めて削除します。

SQL> DROP TABLESPACE cachetblsp INCLUDING CONTENTS AND DATAFILES;
Tablespace dropped.
SQL> exit