キャッシュ環境の管理
TimesTen Scaleout内でキャッシュ環境を管理する方法があります。
キャッシュ・エージェント・プロセスのステータスのモニタリング
ttGridAdmin dbStatus -all
コマンドを使用して、どのTimesTenキャッシュ・エージェント・プロセスが実行されているかを確認できます。
次の例では、database1データベースのキャッシュエージェントの1つが停止しています。
% ttGridAdmin dbStatus database1 -all
Database database1 summary status as of Mon Dec 7 14:54:57 PST 2020
created,loaded-complete,open
Completely created elements: 6 (of 6)
Completely loaded elements: 6 (of 6)
Completely created replica sets: 3 (of 3)
Completely loaded replica sets: 3 (of 3)
Cache agents running: 5 (of 6)
Open elements: 6 (of 6)
その後、ttGridAdmin dbStatus -element
コマンドを使用して、データベースの各データ・インスタンスでどのキャッシュ・エージェントが実行されているかを確認できます。すべてのデータ・インスタンスは、Oracleデータベースにアクセスできる必要があります。
次の例では、database1データベースのhost4
インスタンスでキャッシュ・エージェントが実行されていません。
% 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
次のように、host4.instance1
インスタンスのキャッシュ・エージェントを再起動できます。
% ttGridAdmin dbCacheStart database1 -instance host4.instance1]
Database database1 : Starting cache agents. 0 cache agents started.
『Oracle TimesTen In-Memory Databaseリファレンス』のデータベースのステータスのモニター(dbStatus)およびキャッシュ・エージェントの起動(dbCacheStart)を参照してください。
キャッシュ・グループに関する情報の表示
TimesTenデータベース内のキャッシュ・グループに関する情報を表示するには、ttIsql
ユーティリティのcachegroups
コマンドを使用します。
% ttIsql "DSN=database1;UID=cacheadmin;PwdWallet=/wallets/cacheadminwallet"
Command> cachegroups;
Cache Group CACHEADMIN.READCACHE:
Cache Group Type: Read Only
Autorefresh: Yes
Autorefresh Mode: Incremental
Autorefresh State: On
Autorefresh Interval: 5 Seconds
Autorefresh Status: ok
Aging: No aging defined
Root Table: SALES.READTAB
Table Type: Read Only
1 cache group found.
『Oracle TimesTen In-Memory Databaseリファレンス』の「ttIsql」を参照してください。
TimesTenキャッシュのユーザー名とパスワードの変更
TimesTenキャッシュ管理ユーザーまたはそのコンパニオンOracleキャッシュ管理ユーザーのユーザー名またはパスワードを変更できます。
『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』のキャッシュ・ユーザー名およびパスワードの変更を参照してください。
Oracleデータベースのスキーマの変更
キャッシュ・グループでの自動リフレッシュ処理の監視
Oracleデータベース内の変更ログ表およびトリガーの管理
自動リフレッシュありのキャッシュ・グループの場合、TimesTenは、そのキャッシュ・グループ内のキャッシュ表ごとに、Oracleデータベース内に変更ログ表とトリガーを作成します。
トリガーは、キャッシュされたOracleデータベース表で挿入、更新または削除の処理がコミットされるたびに起動されます。そのトリガーは、更新行の主キーを変更ログ表に記録します。キャッシュ・エージェントは、更新されたキーがあるかどうか定期的に変更ログ表をスキャンし、その後、変更ログ表をキャッシュされたOracleデータベース表と結合して最新の更新のスナップショットを取得します。『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』のOracle Databaseオブジェクトでのキャッシュ環境の管理を参照してください。
次の項では、変更ログ表から情報を収集する方法、および必要に応じて変更ログ表およびトリガーを削除する方法について説明します。
変更ログ表からの情報の収集
TimesTenには、Oracleデータベースに存在する変更ログ表から自動リフレッシュ・キャッシュ・グループについて情報を収集するcacheInfo
SQLスクリプトが用意されています。
次の例は、Oracleデータベース上のSQL*Plus内で実行されます。
SQL> @$TIMESTEN_HOME/install/oraclescripts/cacheInfo.sql
***************** Database Information *********************
Database name: DATABASE1
Unique database name: database1
Primary database name:
Database Role: PRIMARY
Database Open Mode: READ WRITE
Database Protection Mode: MAXIMUM PERFORMANCE
Database Protection Level: UNPROTECTED
Database Flashback On: NO
Database Current SCN: 21512609
*************************************************************
*************Autorefresh Objects Information ***************
Grid name: grid1 (7D03C680-BD93-4233-A4CF-B0EDB0064F3F)
Timesten database name: database1
Cache table name: SALES.READTAB
Change log table name: tt_07_96977_L
Number of rows in change log table: 4
Maximum logseq on the change log table: 1
Timesten has autorefreshed updates upto logseq: 1
Number of updates waiting to be autorefreshed: 0
Number of updates that has not been marked with a valid logseq: 0
****************************
*************No DDL Tracking objects are found*************
PL/SQL procedure successfully completed.
『Oracle TimesTen In-Memory Databaseモニタリングおよびトラブルシューティング・ガイド』の変更ログ表からの情報の表示を参照してください。
キャッシュに使用されるOracleデータベース・オブジェクトの削除
『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』の自動リフレッシュが有効になっているキャッシュ・グループで使用されるOracle Databaseオブジェクトの削除を参照してください。