TimesTenおよびOracleデータベース・システムのリストア
TimesTenおよびOracleデータベース・システムを元の状態にリストアするには、次のタスクを実行します。
キャッシュ・グループの削除
ttIsql
ユーティリティを起動して、インスタンス管理者としてdatabase1
DSNに接続します。ttIsql
を使用して、DROP ANY TABLE
権限をTimesTenキャッシュ管理ユーザーに付与し、このユーザーがキャッシュ・グループを削除するときに基礎となるキャッシュ表を削除できるようにします。
% ttIsql "DSN=database1" Command> GRANT DROP ANY TABLE TO cacheadmin; Command> exit
キャッシュ・グループを削除するには、まず自動リフレッシュ処理を一時停止して競合を回避する必要があります。TimesTenキャッシュ管理ユーザーとして、ttIsql
ユーティリティを起動してdatabase1
DSNに接続します。
-
ALTER CACHE GROUP
文を使用して、キャッシュ・グループの自動リフレッシュ状態をPAUSED
に設定します。 -
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