ヘッダーをスキップ
Oracle® TimesTen Application-Tier Database Cacheユーザーズ・ガイド
11g リリース2 (11.2.2)
B66442-07
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

10 キャッシュ・アドバイザの使用

次の各項では、TimesTen Application-Tier Database (TimesTen)キャッシュ・アドバイザの使用方法について説明します。

キャッシュ・アドバイザの概要

TimesTenキャッシュ・アドバイザを使用することで、Oracle Databaseの顧客が、TimesTen Cache (TimesTenデータベースとも呼ばれます)を使用した場合にその既存のOracle Databaseアプリケーションのパフォーマンスを向上できるかどうかを判断できます。

キャッシュ・アドバイザは、Oracle DatabaseアプリケーションのSQL使用率に基づき、TimesTenキャッシュ・グループの定義の推奨値を生成します。これは、アプリケーションから取り込んだSQLワークロードまたは既存のSQLチューニング・セットを評価することにより、実行されます。キャッシュ・アドバイザは、この情報とOracle Databaseオブジェクトのスキーマ定義を分析して、表および列の使用パターンを決定します。また、キャッシュ・アドバイザは、指定されたTimesTenキャッシュ・サイズにおけるアプリケーションのパフォーマンスを分析するため、指定されたキャッシュのサイズに応じてキャッシュ・グループの推奨事項が異なる場合があります。SQLチューニング・セットの詳細は、『Oracle Database 2日でパフォーマンス・チューニング・ガイド』のSQLチューニング・セットの管理に関する項を参照してください。

取得したSQLアプリケーション・ワークロードまたはSQLチューニング・セットを評価する場合、キャッシュ・アドバイザでは、TimesTenアプリケーションの非同期ライトスルー(AWT)キャッシュ・グループまたは読取り専用キャッシュ・グループのいずれかを使用することが推奨されています。使用するキャッシュ・グループのタイプは、SQL SELECT文の実行数と比較した、データ値を変更するOracle DatabaseアプリケーションのSQL文実行数に基づいて決定します。


注意:

キャッシュ・アドバイザは、実行ポート問題に関してDML文(SELECTINSERTUPDATEおよびDELETE)を評価しますが、TimesTenとOracle Databaseの両方でパフォーマンスを比較する際にはSELECT文のみを評価します。

キャッシュ・アドバイザは、各SQL文を他の文から分離して評価します。必要な場合は、各文の完了後にROLLBACKを実行してデータを保存します。キャッシュ・アドバイザがすべてのDML変更をコミットした場合はデータが変更され、それによって以降のキャッシュ・アドバイザの評価の動作が変わってきます。たとえば、キャッシュ・アドバイザがOracle DatabaseでDELETE文を評価してコミットした場合、キャッシュ・アドバイザがその評価を再度行うときには削除する行がありません。


アプリケーション・ワークロードまたはSQLチューニング・セットを分析し、Oracle DatabaseとTimesTen Cacheとの間のパフォーマンスを比較した後に、キャッシュ・アドバイザはHTMLレポートを生成し、このレポートには、Oracle DatabaseとTimesTen Cacheを比較したパフォーマンス統計、アプリケーションがアクセスするTimesTenキャッシュ・グループの推奨キャッシュ表の定義およびそのキャッシュ表を参照するSQL文が含まれます。また、このレポートは、ワークロードまたはSQLチューニング・セットで変更なしでTimesTen Cacheで実行できる文、および実行前に変更が必要な文も示します。発生する可能性のある違いの詳細は、付録C「TimesTenデータベースとOracle Databaseの互換性」を参照してください。

キャッシュ・アドバイザはさらに、推奨するキャッシュ・グループ定義に使用できるttIsqlスクリプトも生成します。この、ユーザーによる編集な可能なスクリプトには、CREATE CACHE GROUPLOAD CACHE GROUPCREATE INDEXCREATE SYNONYM、およびCREATE VIEWなどのSQL文が含まれています。

キャッシュ・アドバイザでは最大次の3つのデータベースを使用する必要があります。

  • ユーザー・アプリケーションが実行され、アプリケーション・スキーマが存在するターゲットのOracle Database。SQLワークロードはここで取得します。このデータベースで実行されるワークロードは、本番データベースのワークロードとできるだけ近いものである必要があります。さらにキャッシュ・アドバイザは、TimesTenの表サイズを計算するために、ターゲットのOracle Databaseの統計を使用します。ユーザーはターゲットのOracle Databaseで統計が収集されており、それが最新のものであることを確認する必要があります。

  • リポジトリOracle Database。キャッシュ・アドバイザはここでターゲットのOracle Databaseで実行されるSQL文のワークロードの分析を行います。


    注意:

    ターゲット・データベースが本番システムの一部である場合は、キャッシュ・アドバイザ・リポジトリを別の非本番データベースに置きます。ターゲット・データベースがテスト・システムの一部である場合は、設定および処理を簡略化するために、キャッシュ・アドバイザ・リポジトリをターゲットと同じデータベースに置きます。

  • TimesTenデータベース(TimesTen Cacheとも呼ばれます)では、推奨されるキャッシュ・グループをキャッシュ・アドバイザが定義して評価しますが、このキャッシュ・グループのキャッシュ表は、アプリケーション・ワークロードがアクセスするターゲットOracle Databaseのテーブルに対応しています。

図10-1 キャッシュ・アドバイザにより使用される3つのデータベース

図10-1の説明が続きます
「図10-1 キャッシュ・アドバイザにより使用される3つのデータベース」の説明

Oracle DatabaseおよびTimesTenホスト・システムの設定

キャッシュ・アドバイザを使用するには、まずTimesTenをインストールしてから、Oracle DatabaseおよびTimesTenシステムを構成する必要があります。


注意:

TimesTenのインストールの詳細は、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』を参照してください。

次の各項では、キャッシュ・アドバイザを実行するための各データベースおよびホストの構成方法を例示しながら説明します。この例では、SQLワークロードを実行するアプリケーションの実例としてQuick Startのサンプルを使用しています。

Oracle DatabaseおよびTimesTenのホストおよびデータベースを設定するには、次のタスクを実行します。

  1. ターゲットOracle Databaseの構成

  2. リポジトリOracle Databaseの構成

  3. TimesTenデータベースの構成

キャッシュ・アドバイザ環境に含まれる各ホストおよびデータベースをインストールおよび構成する際の構成オプションと使用法のガイドラインの詳細は、「キャッシュ・アドバイザの構成オプションと使用法のガイドライン」に関する項を参照してください。

ターゲットOracle Databaseの構成

ターゲットOracle Databaseでは、アプリケーション・スキーマが定義されます。これは、ユーザー・アプリケーションがアクセスするデータベースです。キャッシュ・アドバイザを使用する場合は、ターゲットのデータベースがOracle Database Enterprise Edition 10gリリース2 (10.2.0.4)以上である必要があります。

TimesTen Cacheが使用するターゲット・データベースを設定するには、TimesTenデータベース・システムのオペレーティング・システム・シェルからSQL*Plusを起動し、Oracle Databaseのsysユーザーとしてターゲット・データベースに接続します。この例では、ターゲット・データベースのサービス名をtargetdbとしています。

% cd TimesTen_install_dir/oraclescripts
% sqlplus sys@targetdb as sysdba
Enter password: password

SQL*Plusを使用して、Oracle Database timestenユーザーとキャッシュ管理ユーザーの両方に使用されるデフォルトの表領域を作成します。この表領域は、TimesTen Cacheのオブジェクトを保存するためにのみ使用し、他のアプリケーションと共有しないでください。この例では、デフォルトの表領域の名前をcachetblspとしています。timestenユーザーの詳細は、「Oracle Databaseでのユーザーの作成」を参照してください。

SQL*PlusスクリプトTimesTen_install_dir/oraclescripts/initCacheGlobalSchema.sqlを実行して、timestenユーザーとそのメタデータ表、およびこのユーザーに付与する権限を定義するTT_CACHE_ADMIN_ROLEロールを作成します。デフォルトの表領域を引数としてinitCacheGlobalSchema.sqlスクリプトに渡します。

SQL> CREATE TABLESPACE cachetblsp DATAFILE 'datfttuser.dbf' SIZE 100M;
SQL> @initCacheGlobalSchema "cachetblsp"

次に、SQL*Plusを使用してターゲットOracle Databaseユーザーを作成します(ターゲットOracle Databaseユーザーがまだ存在していない場合)。


注意:

この例ではQuick Startサンプル・プログラムを使用しているため、スキーマ所有者としてorattが作成されます。

ターゲットOracle Databaseユーザーは、SQLワークロード・アプリケーションにより使用される予定で、TimesTenデータベースでのキャッシュ対象であるOracle Databaseオブジェクトを所有します。ターゲットOracle Databaseユーザーは、「Oracle Databaseでのユーザーの作成」で説明されるスキーマ・ユーザーと同じです。

このユーザーに対して、TimesTenデータベースでキャッシュされる表をOracle Databaseに作成するために必要な、少なくとも最小限の権限セットを付与します。この例では、ターゲットOracle Databaseユーザーはorattです。

SQL> CREATE USER oratt IDENTIFIED BY oracle;
SQL> GRANT CREATE SESSION, RESOURCE TO oratt;

次に、SQL*Plusを使用してキャッシュ管理ユーザーを作成します。SQL*PlusスクリプトTimesTen_install_dir/oraclescripts/grantCacheAdminPrivileges.sqlを実行して、キャッシュ・グループ操作を処理するために必要な最小限の権限セットをキャッシュ管理ユーザーに付与します。キャッシュ・グループの詳細は、「キャッシュ・グループおよびキャッシュ表」を参照してください。


注意:

ターゲットOracle Databaseユーザーおよびキャッシュ管理ユーザーは、別のユーザーである必要があります。また、リポジトリ・キャッシュ・アドバイザ・ユーザーを作成する際には、このユーザーも別のユーザーである必要があります。

キャッシュ管理ユーザー名を引数としてgrantCacheAdminPrivileges.sqlスクリプトに渡します。この例では、キャッシュ管理ユーザーをcacheuserとし、そのデフォルトの表領域の名前をcachetblspとしています。キャッシュ管理ユーザーの詳細は、「Oracle Databaseでのユーザーの作成」を参照してください。

SQL> CREATE USER cacheuser IDENTIFIED BY oracache
   DEFAULT TABLESPACE cachetblsp QUOTA UNLIMITED ON cachetblsp;
SQL> GRANT SELECT ANY TABLE, DELETE ANY TABLE,
   INSERT ANY TABLE, UPDATE ANY TABLE TO cacheuser;
SQL> @grantCacheAdminPrivileges "cacheuser"

SQL*PlusスクリプトTimesTen_install_dir/oraclescripts/ttca_setupTarget.sqlを実行して、次の操作を実行します。

  • ターゲットOracle Databaseユーザーに付与する権限を定義するTTCA_TARGET_ROLEロールを作成します。

  • ターゲット・データベースでのファイル処理に使用するTTCA_DIRECTORYという名前のOracleディレクトリ・オブジェクトを作成します。ttca_setupTarget.sqlスクリプトは、ターゲット・キャッシュ・アドバイザ・ユーザーが前に作成したローカル・ディレクトリにTTCA_DIRECTORYディレクトリ・オブジェクトを関連付けます。Oracle Databaseディレクトリ・オブジェクトの詳細は、『Oracle Database SQL言語リファレンス』のCREATE DIRECTORYに関する説明を参照してください。

ttca_setupTarget.sqlスクリプトを実行した後に、SQL*Plusセッションを終了します。

次の例では、TTCA_DIRECTORYオブジェクトがまだ作成されていない場合の出力を示します。

SQL> @ttca_setupTarget

This script sets up your target Oracle database for use with the TimesTen
Cache Advisor.
 
The target Oracle database is the application database that you wish to cache
using TimesTen Application-Tier Database Cache.
 
This script performs the following actions:
1. Create the TTCA_TARGET_ROLE role, if it does not already exist
2. Create a new directory object on the target Oracle database,
   if directed by you to do so
3. Grant read and write access on a new or existing target Oracle database
   directory object to the TTCA_TARGET_ROLE role
4. Grant the TTCA_TARGET_ROLE role to the target Oracle database user
 
Run this script as SYSDBA on the target database.
 
(You will also need to configure a repository Oracle database that you set up
with the ttca_setupRepository.sql script.)
 
Please enter a target Oracle database user name to access the target database:
 oratt
 
The TimesTen Cache Advisor requires the use of a directory object on the
target Oracle database for DataPump and file operations.
 
An Oracle directory object is created with the CREATE DIRECTORY Oracle Data
Definition Language (DDL) statement. A directory object is identified by an
Oracle object name (up to 30 alphanumeric characters) and is associated with
a host-platform-specific directory path (up to 4000 characters).
 
********************************************************************************
*** Enter the directory path on the target system to use in the definition
*** of TTCA_DIRECTORY
********************************************************************************
? /mysystem/mydirectory/ttca_directory
 
 
Create TTCA_DIRECTORY directory object succeeded.
 
Grant READ and WRITE on TTCA_DIRECTORY directory object to TTCA_TARGET_ROLE role
succeeded.
 
Grant READ and WRITE on TTCA_DIRECTORY directory object to scott role succeeded.
To revoke privileges granted by this script:
REVOKE ttca_target_role FROM oratt;
DROP ROLE ttca_target_role;
REVOKE READ, WRITE ON DIRECTORY TTCA_DIRECTORY FROM oratt;
No errors.
 
*******************
**** All done! ****
*******************

TTCA_DIRECTORYオブジェクトがすでに作成されている場合は、次のスクリプトにより、オブジェクトがすでに存在していることが通知および確認されます。

*** The directory object used by cache Advisor (TTCA_DIRECTORY) already exists.
*** Please press ENTER to continue
********************************************************************************
?

リポジトリOracle Databaseの構成

リポジトリOracle Databaseは、ターゲットOracle Databaseで実行されるSQLワークロードの分析をキャッシュ・アドバイザが行う場所です。キャッシュ・アドバイザはリポジトリ・データベースにタスクを保管すると同時に、リポジトリ・データベースでレポートを作成し、スクリプトを生成します。タスクとは、ワークロード、パフォーマンス結果、およびユーザーが指定したキャッシュ・アドバイザ・オプションに関する情報が含まれているオブジェクトです。

  • ターゲット・データベースが本番システムの一部である場合は、キャッシュ・アドバイザ・リポジトリを別の非本番データベースに置きます。まずOracle Database Enterprise Edition 10gリリース2 (10.2.0.4)以上のリポジトリ・データベースをインストールして構成します。リポジトリ・データベースのバージョンが、ターゲットOracle Databaseのバージョン以上である必要があります。別のターゲットおよびリポジトリ・データベースを使用する際には、キャッシュ・アドバイザがターゲット・データベースからリポジトリ・データベースにスキーマ定義をコピーするため、別のリポジトリ・データベースをキャッシュ・アドバイザに割り当てる必要があります。キャッシュ・アドバイザ・リポジトリをクリーンアップする際には、データベースを削除します。

  • ターゲット・データベースがテスト・システムの一部である場合は、設定および処理を簡略化するために、キャッシュ・アドバイザ・リポジトリをターゲットと同じデータベースに置きます。キャッシュ・アドバイザ・リポジトリをクリーンアップする際には、DROP USER TTCACHEADVISOR CASCADE文を実行します。

TimesTenデータベース・システムのオペレーティング・システム・シェルからSQL*Plusを起動し、Oracle Database sysユーザーとしてリポジトリ・データベースに接続します。この例では、リポジトリ・データベースのサービス名をrepositorydbとしています。

% cd TimesTen_install_dir/oraclescripts
% sqlplus sys@repositorydb as sysdba
Enter password: password

リポジトリ・データベースにSYSDBA権限で接続する必要があります。

SQL*PlusスクリプトTimesTen_install_dir/oraclescripts/ttca_setupRepository.sqlを実行して、次の操作を実行します。

  • ターゲットOracle Database上で実行されるSQLワークロード分析に使用されるリポジトリ・データベースに、オブジェクトを所有するユーザーを作成し、これらのオブジェクトを保管するために使用するttca_ts表スペースを作成します。

  • リポジトリ・データベースでのファイル処理に使用するOracle Databaseディレクトリ・オブジェクトを作成または指定します。ttca_setupRepository.sqlスクリプトは、リポジトリ・キャッシュ・アドバイザ・ユーザーが前に作成したローカル・ディレクトリにディレクトリ・オブジェクトを関連付けます。Oracle Databaseディレクトリ・オブジェクトの詳細は、『Oracle Database SQL言語リファレンス』のCREATE DIRECTORYに関する説明を参照してください。

ttca_setupRepository.sqlスクリプトを実行した後に、SQL*Plusセッションを終了します。

SQL> @ttca_setupRepository

This script sets up your repository Oracle database for use with the TimesTen
Cache Advisor.
 
The repository Oracle database is used by the TimesTen Cache Advisor as
an analytical workspace.
 
This script performs the following actions:
1. Create repository Oracle database user TTCACHEADVISOR (or other user name
   that you specify)
2. Grant read and write access on a new or existing repository Oracle database
   directory object to the repository database user
3. Create tablespace TTCA_TS, if it does not exist
4. Grant required privileges to the repository database user
5. Create required tables and views owned by the repository database user
 
Run this script as SYSDBA on the repository database.
 
(You will also be using a target Oracle database that you set up
with the ttca_setupTarget.sql script.)
 
Press ENTER to create the repository Oracle database user with
user name TTCACHEADVISOR, or enter an alternative user name for
the repository database user:
Please enter a password for the TTCACHEADVISOR user:
Please confirm the password for the TTCACHEADVISOR user:
 
The TimesTen Cache Advisor requires the use of a directory object on the
repository Oracle database for DataPump and file operations.
 
An Oracle directory object is created with the CREATE DIRECTORY Oracle Data
Definition Language (DDL) statement. A directory object is identified by an
Oracle object name (up to 30 alphanumeric characters) and is associated with
a host-platform-specific directory path (up to 4000 characters).
 
********************************************************************************
*** Enter the directory path on the repository system to use in the definition
*** of TTCA_DIRECTORY
********************************************************************************
? /mysystem/mydirectory/ttca_directory
 
Create TTCA_TS tablespace succeeded.
 
Create TTCACHEADVISOR user succeeded.
 
Create TTCA_DIRECTORY directory object succeeded.
 
*******************
**** All done! ****
*******************
 
To employ other directories as directory objects on the repository
database, grant READ,WRITE ON DIRECTORY <directory_name> TO TTCACHEADVISOR

TTCA_DIRECTORYオブジェクトがすでに作成されている場合は、次のスクリプトにより、オブジェクトがすでに存在していることが通知および確認されます。

*** The directory object used by cache Advisor (TTCA_DIRECTORY) already exists.
*** Please press ENTER to continue
********************************************************************************
?

TT_CS表領域がすでに作成されている場合、出力には次の文は表示されません。

Create TTCA_TS tablespace succeeded.

TimesTenデータベースの構成

TimesTenデータベースでは、キャッシュ・アドバイザが、アプリケーション・ワークロードがアクセスするターゲットOracle Databaseの表に対応するキャッシュ表を持つ推奨キャッシュ・グループを定義し、評価します。TimesTenデータベースはキャッシュ・アドバイザのみに使用されるテスト・データベースであり、他のアプリケーションと共有しないでください。

次のデータ・ソース名(DSN)の例では、ターゲットOracle Databaseのネット・サービス名をtargetdbとし、そのデータベース・キャラクタ・セットをAL32UTF8としています。TimesTenのデータベース・キャラクタ・セットは、ターゲットOracle Databaseのデータベース・キャラクタ・セットに一致する必要があります。SQL*Plusで任意のユーザーとして次の問合せを実行することにより、Oracle Databaseのデータベース・キャラクタ・セットを決定できます。

SQL> SELECT value FROM nls_database_parameters 
 WHERE parameter='NLS_CHARACTERSET';

ホーム・ディレクトリに存在する.odbc.iniファイルまたはTimesTen_install_dir/info/sys.odbc.iniファイルにTimesTen DSN cacheadvを作成し、次の接続属性を設定します。


注意:

この例では、キャッシュ・アドバイザがCacheGridEnable属性を「0」に設定したため、ユーザーはグリッドを作成する必要がありません。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のCacheGridEnableに関する説明を参照してください。

[cacheadv]
DataStore=/users/OracleCache/cacheadv
PermSize=64
OracleNetServiceName=targetdb
DatabaseCharacterSet=AL32UTF8
CacheGridEnable=0

注意:

Oracle DatabaseからデータをキャッシュするTimesTenデータベースのDSNを定義する方法の詳細は、「TimesTenデータベースのDSNの定義」を参照してください。

TimesTen DSNの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTenデータベースの管理に関する説明を参照してください。


TimesTen Cacheが使用するTimesTenデータベースをセットアップします。TimesTenインスタンス管理者ユーザーとして、オペレーティング・システム・シェルからTimesTenシステムでttIsqlユーティリティを起動し、cacheadv DSNに接続して、ターゲットOracle Databaseのデータをキャッシュするために使用するTimesTenデータベースを作成します。

% ttIsql cacheadv

ttIsqlを使用してキャッシュ・マネージャ・ユーザーを作成しますが、このユーザーには、同じ名前を持つコンパニオンOracle Databaseユーザーがいます。このユーザーに、キャッシュ・グループに対する操作を作成、実行するために必要な最小限の権限セットを付与します。次の例では、キャッシュ・マネージャ・ユーザー名はcacheuserで、キャッシュ管理ユーザーは、そのコンパニオンOracle Databaseユーザーとして機能します。

Command> CREATE USER cacheuser IDENTIFIED BY ttcache;
Command> GRANT CREATE SESSION, CACHE_MANAGER, CREATE ANY TABLE TO cacheuser;

注意:

キャッシュ・マネージャ・ユーザーの詳細は、「TimesTenユーザーの作成」を参照してください。


次に、ttIsqlを使用して、ttCacheUidPwdSet組込みプロシージャをコールし、キャッシュ管理ユーザーの名前およびパスワードを設定します。その後、ttIsqlセッションを終了します。

Command> call ttCacheUidPwdSet('cacheuser','oracache');
Command> exit

キャッシュ管理ユーザーの名前とパスワードは、TimesTenデータベースに1回のみ設定する必要があります。TimesTenデータベースでこの設定が使用される仕組みの詳細は、「キャッシュ管理ユーザーの名前およびパスワードの設定」を参照してください。

キャッシュ・アドバイザの構成オプションと使用法のガイドライン

次の各項ではサポートされている構成オプションおよびキャッシュ・アドバイザを使用するためのガイドラインを説明します。

ホストおよびデータベースのサポートされている構成オプション

キャッシュ・アドバイザは、キャッシュ・アドバイザ環境に含まれるホストおよびデータベースについて次の構成オプションをサポートしています。

  • 単一のOracle Database(Oracle Database Enterprise Edition 10gリリース2 (10.2.0.4)以上である必要がある)は、ターゲット・データベースおよびリポジトリ・データベースの両方として機能します。ターゲットOracle Databaseはテスト・データベースである必要があり、本番データベースであることはできません。

    TimesTenデータベースは、より正確なパフォーマンス分析を行うために別のホスト・システムに常駐させるか、またはデモンストレーションの目的でOracle Databaseと同じホストに常駐させることができます。

    これは優先される構成であり、設定および処理が最も簡単になります。

  • 単一のOracle Database(Oracle Database Enterprise Edition 10gリリース2 (10.2.0.4)以上である必要がある)は、リポジトリまたはTimesTenデータベースなしでターゲット・データベースとして機能します。

    ターゲット・データベースは、稼働中の本番データベースの一部またはテスト・システムの一部にすることができます。この構成は、-exportコマンド・ライン・オプションでのみサポートされています。

    この構成では、遅延分析でのアプリケーションSQLワークロードおよびスキーマ定義を取得できます。-importオプションを他のサポートされている構成のいずれかとともに使用して、遅延分析を実行します。

  • Oracle Database Enterprise Edition 10gリリース2 (10.2.0.4)以上のターゲットOracle Database、Oracle Database Enterprise Edition 10gリリース2 (10.2.0.4)以上のリポジトリOracle DatabaseおよびTimesTenデータベースはすべて、同じまたは別のホスト・システムに存在する別のデータベースです。

    ターゲットOracle DatabaseはリポジトリOracle Databaseよりも新しいバージョンであることはできません。-evalSqlPerfコマンド・ライン・オプションを使用してパフォーマンス分析を行う場合、TimesTenデータベースは別のホストに存在して、ターゲットOracle Databaseはテスト・システムの一部である必要があり、稼働中の本番システムであることはできません。クリーンアップを使用可能にするためには、リポジトリ・データベースをキャッシュ・アドバイザに割り当てる必要があります。

    この構成では、リソースを柔軟に割り当てることができます。

制限と前提

キャッシュ・アドバイザで推奨されるキャッシュ・スキーマの設計では、ユーザー・アプリケーションがTimesTenデータベースへの接続とは別に、ターゲットOracle Databaseへの接続を確立することを前提としています。

キャッシュ・アドバイザはほとんどのTimesTen DSN属性設定をサポートしています。ただし、キャッシュ・アドバイザは次の属性設定をサポートしていません。

  • Temporary=1 (TimesTen一時データベースまたはTimesTen非永続データベース)

  • TypeMode=1 (TimesTenデータ型)

  • DDLCommitBehavior=1 (DDL文を自動的にコミットしない)

  • DuplicateBindMode=1 (同じ名前を持つパラメータを同一とみなす)

  • PLSQL=0 (TimesTen PL/SQLの使用を無効にする)

  • DynamicLoadEnable=0 (Oracle Database表からTimesTenキャッシュ表へのデータの動的なロードを無効にする)

SQLワークロード・アプリケーションの実行

この例では、ターゲットOracle DatabaseでSQLワークロードを生成するのにスループット・ベンチマークのOCIバージョン(tptbmOCI)を使用しています。

TimesTenシステム上の任意のオペレーティング・システム・ユーザーとしてデモ・プログラムをビルドし、実行します。ターゲット・データベースのネット・サービス名はtargetdbです。ターゲットOracle Databaseユーザーはorattです。orattユーザーのパスワードはoracleです。アプリケーション表には252 = 625行のデータが投入され、1トランザクション当たりのSQL文の最大数は1000です。

% cd TimesTen_install_dir/quickstart/sample_code/oci
% make tptbmOCI
% tptbmOCI -service targetdb -user oratt -key 25 -max 1000
Enter password for oratt : password
...
Load the oratt.vpn_users table with 625 rows of data
Run 10000 txns with 1 process: 80% read, 20% update, 0% insert, 0% delete

キャッシュ・アドバイザの実行

tptbmOCIワークロード・アプリケーションがターゲットOracle Databaseで実行中に、別のウィンドウでインスタンス管理者ユーザーとしてオペレーティング・システム・シェルからTimesTenシステムに対してttCacheAdvisorユーティリティを実行します。評価に含めるターゲットOracle Database、リポジトリOracle Database、およびTimesTenデータベースを指定します。

% ttCacheAdvisor -oraTarget -oraConn "oratt@targetdb" \
 -oraRepository -oraConn "ttcacheadvisor@repositorydb" \
 -ttConn "DSN=cacheadv;UID=cacheuser" \
 -report /home/ttuser/CAreport -task sampletask -captureCursorCache 10 \
 -evalSqlPerf

Enter password for Oracle user oratt@targetdb: password
31.16:21:03 Info: beginning Oracle batch operation checkAuthorization on 
oratt@targetdb
31.16:21:03 Info: Oracle batch operation checkAuthorization completed
Enter password for Oracle user ttcacheadvisor@repositorydb: password
31.16:21:05 Info: beginning Oracle batch operation checkAuthorization on 
ttcacheadvisor@repositorydb
31.16:21:06 Info: Oracle batch operation checkAuthorization completed
31.16:21:06 Info: beginning Oracle batch operation checkOraUser on 
oratt@targetdb
31.16:21:06 Info: Oracle batch operation checkOraUser completed
31.16:21:06 Info: beginning TimesTen batch operation checkUserExists on 
"dsn=cacheadv;uid=cacheuser"
31.16:21:07 Info: TimesTen batch operation checkUserExists completed

Enter password for TimesTen user cacheuser (dsn=cacheadv): password
31.16:21:10 Info: beginning TimesTen batch operation checkTTuserAuthorization 
on "dsn=cacheadv;uid=cacheuser"
31.16:21:11 Info: TimesTen batch operation checkTTuserAuthorization completed
Enter password for Oracle user cacheuser@targetdb: password
31.16:21:14 Info: beginning Oracle batch operation checkTToraclepwdAttribute 
on cacheuser@targetdb
31.16:21:14 Info: Oracle batch operation checkTToraclepwdAttribute completed
31.16:21:14 Info: beginning Oracle batch operation verifyTargetConfig on 
oratt@targetdb
31.16:21:25 Info: Oracle batch operation verifyTargetConfig completed
...

前の例では、次のようにttCacheAdvisorユーティリティを使用していました。

  • -oraTargetオプションはターゲットOracle Databaseを識別します。-oraTarget-oraConnオプションは、ターゲット・データベースのターゲットOracle Databaseユーザーとネット・サービス名を接続文字列で指定します。

  • -oraRepositoryオプションはリポジトリOracle Databaseを識別します。-oraRepository-oraConnオプションは、ターゲットOracle Databaseに対して実行されるSQLワークロード分析に使用されるリポジトリ・データベース内のオブジェクトを所有しているユーザーと、リポジトリ・データベースのネット・サービス名を接続文字列で指定します。

  • -ttConnオプションはTimesTenデータベースを識別します。DSNおよびキャッシュ・マネージャ・ユーザーを接続文字列で指定します。

  • -reportオプションは、レポート・ファイルが存在するデフォルト・ディレクトリの場所をオーバーライドします。

  • -taskオプションはデフォルトのタスク名をオーバーライドします。

  • -captureCursorCacheオプションは、10分の取得ウィンドウ期間にターゲット・データベースで実行されるSQLワークロードをttCacheAdvisorユーティリティが取得するように指定します。SQL文の一部で取得できないことがある場合は、取得期間を長くしてください。

  • -evalSqlPerfオプションは、ターゲットOracle DatabaseとTimesTenデータベース上で実行されているワークロード間のパフォーマンス比較を生成するために指定されます。

各データベースについて接続文字列でパスワードが指定されていない場合、ttCacheAdvisorユーティリティは、キャッシュ・アドバイザの評価で使用されるTimesTenデータベースとOracle Databaseに接続している各ユーザーのパスワードを求めるプロンプトを出します。

この例では、次のユーザー・パスワードが要求されます。

  • ターゲットOracle Databaseユーザーのパスワード。この例では、oratt@targetdbのパスワードはoracleです。

  • ターゲットOracle Databaseに対して実行されるSQLワークロード分析に使用されるリポジトリOracle Databaseで、複数のオブジェクトを所有しているユーザーのパスワード。この例では、ttcacheadvisor@repositorydbのパスワードはttcaです。

  • TimesTenキャッシュ・マネージャ・ユーザーのパスワード。この例では、cacheuserのパスワードはttcacheです。

  • キャッシュ管理ユーザーのパスワード。この例では、cacheuser@targetdbのパスワードはoracacheです。このパスワードが要求されるのは、ターゲットOracle DatabaseとTimesTenデータベース上で実行されるワークロード間のパフォーマンス比較を生成するために、-evalSqlPerfオプションが指定されているからです。

ttCacheAdvisorユーティリティは、ターゲット・データベースで実行中のアプリケーション・ワークロードを分析する際、定期的にステータス・メッセージを生成します。

ttCacheAdvisorが完了すると、パフォーマンス統計および、ワークロードのどのSQL文がTimesTenで実行できるか、または実行できないかなどの情報を示すHTMLレポートが作成されます。デフォルトで、レポートを構成する各ファイルは、このユーティリティが起動されたtask-nameディレクトリに存在します。この例では、-reportオプションを使用してこのディレクトリが指定されます。レポートを表示するには、レポート・ファイルのディレクトリにあるindex.htmファイルをWebブラウザから開きます。デフォルトで、タスク名はuserName_hostName_timestampです。この例では、タスク名が-taskオプションによってオーバーライドされます。

また、ttCacheAdvisorユーティリティは、-reportオプションで指定されたディレクトリにttCacheAdvisor_taskName_timestamp.sqlという名前の実装スクリプト・ファイルも生成します。このスクリプトは、アプリケーションがアクセスしたOracle Databaseオブジェクトのキャッシュを実装するために使用されるTimesTenデータベースにオブジェクトを作成するために、ttIsqlユーティリティにより実行できます。

% ttIsql -f ttCacheAdvisor_sampletask_20120531164101.sql
 "DSN=cacheadv;UID=cacheuser;OraclePWD=oracache"

レポートと実装スクリプトの詳細は、「キャッシュ・アドバイザ・レポートの表示」を参照してください。

ttCacheAdvisorの構文については、『Oracle TimesTen In-Memory Databaseリファレンス』のttCacheAdvisorに関する説明を参照してください。

データ転送にNFSまたはFTPを使用することによるパフォーマンスの向上


注意:

この項で説明されているオプションについては、『Oracle TimesTen In-Memory Databaseリファレンス』のttCacheAdvisorに関する説明を参照してください。

キャッシュ・アドバイザは、DataPumpを使用してデータベースとの間でデータを移動します。DataPumpでは、ネットワークに接続されていないローカルな関連ディレクトリ・パスを持つOracleディレクトリ・オブジェクトが必要になります。キャッシュ・アドバイザは、デフォルトで、設定スクリプトにより作成されるTTCA_DIRECTORY Oracleディレクトリ・オブジェクトを-exportおよび-importオプションを指定して使用することにより、DataPumpを使用して情報のエクスポートおよびインポートを行います。さらにキャッシュ・アドバイザは、デフォルトで、OCI接続を-oraConnオプションを指定して使用することにより、ファイルの転送を行います。さらに便利に簡単に使用するために、OCI接続を介してファイルを転送するためにキャッシュ・アドバイザが使用するメカニズムでは、NFSまたはftpより速度を約3倍遅くすることができます。ファイル転送のパフォーマンスは、ターゲットおよびリポジトリが別のデータベースに存在する場合は、-export-importまたは-captureCursorCacheの各オプションのみに影響を受けます。


注意:

必要に応じて、データ・ファイル転送オプションを-oraDirNfsまたは-ftpとして構成できますが、これが関係するのはファイル転送のパフォーマンスを向上させる場合のみです。

ファイル転送のパフォーマンスを向上させるために、必要に応じて-oraDirNfsまたは-ftpオプションを使用できます。TTCA_DIRECTORYディレクトリ・オブジェクトを使用する際は、-oraDirNfsまたは-ftpオプションでは構成しません。このため、-oraDirNfsまたは-ftpオプションを使用する際には、別のディレクトリ・オブジェクトを-oraDirObjectオプションで指定して構成する必要があります。

ディレクトリを構成するには、次の手順を実行します。

  1. Oracle Databaseにログオンして、新しいディレクトリ・オブジェクトを作成します。ディレクトリ・オブジェクトを作成するには、次のコマンドを実行します。

    CREATE DIRECTORY dir_name AS /local_dir_path/subdir_path;
    

    指定するディレクトリ・パスはローカル・ディレクトリにする必要があり、ネットワークに接続することはできません。

  2. ターゲットまたはリポジトリOracle Databaseが存在するホスト・システムにログオンし、Oracleディレクトリ・オブジェクトに関連付けられているディレクトリ・パスを持つディレクトリを作成します。このディレクトリは、ターゲット・システム上のどのオペレーティング・システム・ユーザーでも作成できます。このディレクトリは、ホスト・システムに対してローカルで、ネットワークに接続されていないデバイス上に作成する必要があります。

    このディレクトリの所有者を、キャッシュ・アドバイザ・ユーザーと呼びます。次の例では、ターゲット・キャッシュ・アドバイザ・ユーザーはca_usrで、ディレクトリは/local/ca_usr/ca_dirです。

    % mkdir /local/ca_usr/ca_dir
    
  3. ディレクトリが存在するファイル・システムを決定します。Linuxシステムでは、dfオペレーティング・システム・コマンドを実行してこの情報を取得できます。この例では、/local/ca_usr/ca_dirディレクトリが存在するファイル・システムを/dev/sda1としています。

  4. キャッシュ・アドバイザがホスト・システムのDataPumpダンプ・ファイルを分析するためには、その内容にアクセスできる必要があります。ただし、それらのファイルにはDataPumpにより権限が設定されているため、NFSはファイルにアクセスしたりftpを使用してファイルをリポジトリに転送することはできません。リポジトリ・システムからダンプ・ファイルにアクセスするには、ターゲット・システム上のファイルが存在する予定のディレクトリに、アクセス・コントロール・リスト(ACL)を設定します。

    オペレーティング・システム・ルート・ユーザーとして、ファイル・システムに対するACLの設定を有効化します。

    # mount -o remount,acl /dev/sda1
    
  5. キャッシュ・アドバイザ・ユーザーのみがそのディレクトリの読取りおよび書込みができるように、ディレクトリに対する権限を変更します。次に、キャッシュ・アドバイザ・ユーザーおよびホスト・システム上のOracle Databaseサーバーを実行しているオペレーティング・システム・ユーザー(通常はoracleユーザー)に対して、読取り、書込みおよび実行を行うために、そのディレクトリおよびディレクトリに作成されるすべてのファイルに対してACLを設定します。Linuxシステムでは、オペレーティング・システムのsetfaclコマンドを実行してACLを設定できます。

    % chmod 700 /local/ca_usr/ca_dir
    % setfacl -m u:ca_usr:rwx /local/ca_usr/ca_dir
    % setfacl -m d:u:ca_usr:rwx /local/ca_usr/ca_dir
    % setfacl -m u:oracle:rwx /local/ca_usr/ca_dir
    % setfacl -m d:u:oracle:rwx /local/ca_usr/ca_dir
    

キャッシュ・アドバイザ・レポートの表示

この項では、キャッシュ・アドバイザにより生成されるレポート・ページの例を示します。レポートは次のWebブラウザを使用して表示できます。

  • Firefox 3.6以上

  • Chrome 7以上

  • Safari 4以上

レポートを表示するには、レポート・ファイルのディレクトリにあるindex.htmファイルをWebブラウザから開きます。

ttCacheAdvisorユーティリティが実行されたときに-evalSqlPerfオプションが指定されていた場合、レポートはターゲットOracle Databaseで実行されたSQL SELECT文の平均応答時間を示します。また、ユーザーが指定したキャッシュ・サイズを持つTimesTenデータベースでこれらの文が実行されたときの平均応答時間も示します。TimesTenの完全なキャッシュ・サイズは、SQLワークロードによってアクセスされたすべてのオブジェクトをキャッシュするために必要であり、TimesTenがサポートできるTimesTenデータベースの最小サイズです。

図10-2 キャッシュ・アドバイザ・レポートのホーム・ページ

図10-2の説明が続きます
「図10-2 キャッシュ・アドバイザ・レポートのホーム・ページ」の説明

図10-3 キャッシュ・アドバイザの結果と推奨

図10-3の説明が続きます
「図10-3 キャッシュ・アドバイザの結果と推奨」の説明

ワークロードで実行されたSQL文は、ホーム・ページ上にあるワークロード内の文の数を示すSQL文列の下のリンクをクリックすることにより、表示できます。この場合は、「2/2」という意味の最初の2のリンクをクリックします。

図10-4 ワークロードで実行されたSQL文の数の表示

図10-4の説明が続きます
「図10-4 ワークロードで実行されたSQL文の数の表示」の説明

個々のSQL文をクリックすれば、その文の応答時間やその他の統計値を表示できます。この例では、2番目の文のリンクをクリックしたときにSELECT文に関する次の情報が表示されます。

図10-5 キャッシュ・アドバイザの評価中に実行された特定のSQL文の情報

図10-5の説明が続きます
「図10-5 キャッシュ・アドバイザの評価中に実行された特定のSQL文の情報」の説明

キャッシュ・グループの名前をクリックすると、キャッシュ・グループとキャッシュ表の定義およびそのキャッシュ・グループを参照したSQL文を表示できます。この例では、CG1_USERSPECCACHEリンクをクリックしたときに次のレポート・ページが表示されます。

図10-6 キャッシュ・グループの詳細

図10-6の説明が続きます
「図10-6 キャッシュ・グループの詳細」の説明

図10-7 キャッシュ・グループに使用されるSQL文

図10-7の説明が続きます
「図10-7 キャッシュ・グループに使用されるSQL文」の説明

ホーム・ページから「Configure an TimesTen Cache for your application」リンクをクリックすることで、実装スクリプトのテキストにアクセスできます。その後、次のページから「Implementation Script」リンクをクリックします。


注意:

実装スクリプトの詳細は、「キャッシュ・アドバイザの実行」を参照してください。

次に、実装スクリプトの例を示します。

SHOW ERRORS;
SET ECHO OFF;
SET DEFINE ON;
SET SERVEROUTPUT ON;
PROMPT Welcome to the TimesTen CacheAdvisor (ttCacheAdvisor).
PROMPT
PROMPT ttCacheAdvisor generated this script to implement its recommendations. 
PROMPT The first step is to create the necessary TimesTen user accounts to
PROMPT receive the recommended cache groups and associated indexes, views, 
PROMPT materialized views and sequences. This script will now prompt you for
PROMPT the password for each account to be created. Be sure to use the same 
PROMPT password for each TimesTen user account as on Oracle.
PROMPT
PROMPT NOTE: If an error occurs or for any reason, you can abort this script at
PROMPT any time by pressing the control and C keys (^C) simultaneously. 
PROMPT Sometimes it is necessary to press ^C multiple times followed by 
PROMPT pressing ENTER.
ACCEPT ORAUSER_pwd CHAR PROMPT 'Enter user ORAUSER password (use same password
as on Oracle)? 'HIDE
ACCEPT ORAUSER_pwd2 CHAR PROMPT 'Confirm user ORAUSER password? ' HIDE
COMMIT;
EXEC createUser ('ORAUSER','&&ORAUSER_pwd','&&ORAUSER_pwd2');
COMMIT;
DROP PROCEDURE createUser;
ACCEPT answer CHAR PROMPT 'Press ENTER to continue, ^C to abort:'
EXEC execImmediate ('CALL ttCacheStart');
EXEC execImmediate ('CALL ttRepStop');
EXEC execImmediate ('DROP CACHE GROUP CG1_USERSPECCACHE');
COMMIT;
COMMIT;
CREATE ASYNCHRONOUS WRITETHROUGH CACHE GROUP CG1_USERSPECCACHE
 FROM ORAUSER.VPN_USERS
 ( VPN_ID NUMBER(5,0) NOT NULL,
   VPN_NB NUMBER(5,0) NOT NULL,
   DIRECTORY_NB CHAR(10 BYTE) NOT NULL,
   LAST_CALLING_PARTY CHAR(10 BYTE) NOT NULL,
   DESCR CHAR(100 BYTE) NOT NULL,
   PRIMARY KEY (VPN_ID, VPN_NB)
 );
COMMIT;
LOAD CACHE GROUP CG1_USERSPECCACHE COMMIT EVERY 256 ROWS;
COMMIT;
CALL ttOptUpdateStats ('ORAUSER.VPN_USERS',1);
COMMIT;
COMMIT;
COMMIT;
EXEC execImmediate ('CALL ttRepStart');
COMMIT;

スクリプトの名前はttCacheAdvisor_task-name_timestamp.sqlであり、ttCacheAdvisorユーティリティが起動されたディレクトリに存在します。このスクリプトは、アプリケーションがアクセスしたOracle Databaseオブジェクトのキャッシュを実装するために使用されるTimesTenデータベースにオブジェクトを作成するために、ttIsqlユーティリティにより実行できます。

% ttIsql -f ttCacheAdvisor_sampletask_20120531164101.sql 
 "DSN=cacheadv;UID=cacheuser;OraclePWD=oracache"

ターゲットOracle Database (ワークロード収集)、リポジトリOracle DatabaseおよびTimesTenデータベース(クライアント)に関するデータベース情報およびシステム情報を取得するには、ホーム・ページから「Click here for information about the configuration that was used to generate this report」リンクをクリックします。

図10-8 構成の概要ページ

図10-8の説明が続きます
「図10-8 構成の概要ページ」の説明

図10-9 リポジトリおよびクライアント構成情報

図10-9の説明が続きます
「図10-9 リポジトリおよびクライアント構成情報」の説明

OracleおよびTimesTenのデータベースおよびホスト・システムのクリーンアップ

次の各タスクを実行して、ターゲットOracle Databaseに対して実行されたアプリケーション・ワークロードの評価が完了した後に、Oracle DatabaseおよびTimesTenシステムを元の状態に復元します。

  1. ターゲットOracle Databaseおよびホスト・システムのクリーンアップ

  2. リポジトリOracle Databaseおよびホスト・システムのクリーンアップ

  3. TimesTenデータベースおよびホスト・システムのクリーンアップ

ターゲットOracle Databaseおよびホスト・システムのクリーンアップ

TimesTenデータベース・システムのオペレーティング・システム・シェルからSQL*Plusを起動し、sysユーザーとしてターゲットOracle Databaseに接続します。その後で、SQL*Plusを使用して次のようにターゲットOracle Databaseおよびそのホスト・システムをクリーンアップします。

  1. timestenユーザー、orattターゲットOracle Databaseユーザー(ターゲット・データベースの構成前にこのユーザーが存在しなかったため、作成した場合)およびcacheuserキャッシュ管理ユーザーを削除します。

    % sqlplus sys@targetdb as sysdba
    Enter password: password
    SQL> DROP USER timesten CASCADE;
    SQL> DROP USER oratt CASCADE;
    SQL> DROP USER cacheuser CASCADE;
    

    注意:

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

  2. TT_CACHE_ADMIN_ROLEロール、TTCA_TARGET_ROLEロールおよびTTCA_DIRECTORYディレクトリ・オブジェクトを削除します。

    SQL> DROP ROLE TT_CACHE_ADMIN_ROLE;
    SQL> DROP ROLE TTCA_TARGET_ROLE;
    SQL> DROP DIRECTORY TTCA_DIRECTORY;
    SQL> exit
    
  3. timestenユーザーおよびキャッシュ管理ユーザーが使用するcachetblspデフォルト表領域(表領域の内容およびそのデータ・ファイルを含む)を削除します。SQL*Plusセッションを終了します。

    SQL> DROP TABLESPACE cachetblsp INCLUDING CONTENTS AND DATAFILES;
    SQL> exit
    

注意:

前述の手順では、キャッシュ・アドバイザによりワークロード用に作成されたスキーマは削除されません。このスキーマを別のアプリケーション・ワークロードで使用できるように保持して、同じスキーマを使用する場合、またはユーザーおよび表領域の再作成後に同じワークロードを再実行する場合に使用できます。保持しない場合は、作成されたスキーマを手動で削除するか、またはそのデータベースを破棄する(ターゲット・データベースがテスト・データベースの場合)ことができます。

リポジトリOracle Databaseおよびホスト・システムのクリーンアップ

リポジトリが別の割当て済Oracle Databaseに存在する場合は、リポジトリ・データベースを削除します。

リポジトリがターゲットと同じOracle Databaseに存在する場合は、TimesTenデータベース・システムのオペレーティング・システム・シェルからSQL*Plusを起動し、sysユーザーとしてリポジトリOracle Databaseに接続します。SQL*Plusを次のように使用して、リポジトリOracle Databaseおよびそのホスト・システムをクリーンアップします。

  1. ttcacheadvisorユーザーを削除します(ターゲットOracle Databaseで実行されるSQLワークロードの分析に使用されるリポジトリ・データベース内のオブジェクトの所有者です)。

    % sqlplus sys@repositorydb as sysdba
    Enter password: password
    SQL> DROP USER ttcacheadvisor CASCADE;
    
  2. TTCA_DIRECTORYディレクトリ・オブジェクトを削除します。

    SQL> DROP DIRECTORY TTCA_DIRECTORY;
    
  3. ttCacheAdvisorユーザーが使用したttca_ts表領域を、その表領域の内容と、そのデータ・ファイルを含めて削除します。SQL*Plusセッションを終了します。

    SQL> DROP TABLESPACE ttca_ts INCLUDING CONTENTS AND DATAFILES;
    SQL> exit
    

TimesTenデータベースおよびホスト・システムのクリーンアップ

ttIsqlユーティリティを開始して、cacheadv DSNに、TimesTenインスタンス管理者ユーザーとして接続します。TimesTenデータベースをクリーンアップするには、次の手順を実行します。

  1. ttIsqlを使用して、DROP ANY TABLE権限をキャッシュ・マネージャ・ユーザーに付与し、このユーザーがキャッシュ・グループを削除するときに基礎となるキャッシュ表を削除できるようにします。その後、ttIsqlセッションを終了します。

    % ttIsql cacheadv
    Command> GRANT DROP ANY TABLE TO cacheuser;
    Command> exit
    
  2. ttIsqlユーティリティを起動して、cacheadv DSNにキャッシュ・マネージャ・ユーザーとして接続します。TimesTenキャッシュ・マネージャ・ユーザーcacheuserのパスワードはttcacheです。ttIsqlを使用してttRepStop組込みプロシージャをコールし、TimesTenデータベースのレプリケーション・エージェントを停止します。cg1_userspeccache AWTキャッシュ・グループを削除します。ttCacheStop組込みプロシージャをコールして、TimesTenデータベースのキャッシュ・エージェントを停止します。このttIsqlセッションを終了します。

    % ttIsql "DSN=cacheadv;UID=cacheuser;OraclePWD=oracache"
    Enter password for 'cacheuser': password
    Command> call ttRepStop;
    Command> DROP CACHE GROUP cg1_userspeccache;
    Command> call ttCacheStop;
    Command> exit
    
  3. ttDestroyユーティリティを使用してcacheadv DSNに接続し、TimesTenデータベースを破棄します。

    % ttDestroy cacheadv