15 TimesTen Cacheの操作
TimesTenオペレータでは、Kubernetes環境での、TimesTen ClassicおよびTimesTen Scaleoutと、TimesTen Cacheの併用がサポートされています。
TimesTen Cacheの使用について
TimesTenオペレータでは、キャッシュ・グループを構成するためにTimesTen ClassicおよびTimesTen Scaleoutで使用できるインタフェースが提供されます。
-
cacheUser
: このファイルには、TimesTenキャッシュ・マネージャ・ユーザーが含まれています。その形式はuser/ttpwd/orapwd
であり、ユーザー名、TimesTenパスワード、およびユーザーのOracleパスワードが含まれています。TimesTen ClassicまたはTimesTen Scaleoutを作成してデプロイする前に、Oracleユーザー(Oracle Databaseではキャッシュ管理ユーザーと呼ばれる)が存在している必要があります。オペレータによって、指定した名前とパスワードでTimesTenデータベースにTimesTenユーザーが作成されます。また、オペレータによって、このユーザーに適切な権限が付与されます。次に例を示します。cachemanageruser/ttmgrpwd/oramgrpwd
詳細は、「cacheUser」を参照してください。
-
cachegroups.sql
: このファイルには、TimesTenデータベースの作成時にオペレータによって自動的に実行されるように、CREATE
CACHE
GROUP
文およびLOAD
CACHE
GROUP
文を含めることができます。このファイルには、キャッシュ・グループ表内の統計(ttOptEstimateStats
やttOptUpdateStats
など)を更新するためのTimesTen組込みプロシージャも含まれています。次に例を示します。CREATE READONLY CACHE GROUP readcache AUTOREFRESH INTERVAL 5 SECONDS FROM oratt.readtab ( keyval NUMBER NOT NULL PRIMARY KEY, str VARCHAR2(32) ); LOAD CACHE GROUP readcache COMMIT EVERY 256 ROWS;
詳細は、「cachegroups.sql」を参照してください。
cacheUser
ファイルとcachegroups.sql
ファイルを提供した場合は、オペレータによってそれらが使用されて、新しいデータベースの作成時にTimesTen Cacheがプロビジョニングされます。
次のメタデータ・ファイルもTimesTen Cacheに関連しています:
-
tnsnames.ora
: このファイルは必須です。これにより、アプリケーションの接続先となるOracle Net Servicesを定義します。TimesTen Cacheの場合は、このファイルでTimesTenとOracle Database (データのキャッシュ元)の間の接続を構成します。このコンテキストでは、TimesTenがOracle Databaseに接続するアプリケーションです。詳細は、「tnsnames.ora」を参照してください。 -
sqlnet.ora
: このファイルはオプションです。ただし、Oracle Databaseの構成によっては必要になることがあります。このファイルでは、クライアント・アプリケーションがOracle Databaseと通信する方法のオプションを定義します。このコンテキストでは、TimesTenがアプリケーションです。tnsnames.ora
とsqlnet.ora
の両方のファイルで、アプリケーションがOracle Databaseと通信する方法を定義します。詳細は、「sqlnet.ora」を参照してください。
-
db.ini
: このファイルは必須です。その内容には、TimesTenデータベースのTimesTen接続属性が含まれます。これらのファイルは、TimesTen ClassicではTimesTenのsys.odbc.ini
ファイルに含まれ、TimesTen Scaeloutではデータベース定義ファイル(dbDef)に含まれています。このファイルでは、接続属性のOracleNetServiceName
とDatabaseCharacterSet
を指定する必要があります。DatabaseCharacterSet
値は、Oracleデータベースの文字セット値と一致している必要があります。詳細は、「db.ini」を参照してください。
-
schema.sql
: このファイルは必要な場合があります。TimesTen Cacheでは、1人または複数のキャッシュ表ユーザーがキャッシュ表を所有します。このキャッシュ表ユーザーがキャッシュ・マネージャ・ユーザーでない場合は、schema.sql
ファイルを提供し、そのファイル内にスキーマ・ユーザーを含める必要があります。また、このスキーマ・ユーザーに適切な権限を割り当てる必要があります。たとえば、Oracle Databaseでoratt
スキーマ・ユーザーが作成されていたときに、このユーザーがTimesTenキャッシュ・マネージャ・ユーザーでない場合は、このファイルにTimesTenoratt
ユーザーを作成する必要があります。インスタンス管理者は、
ttIsql
ユーティリティを使用して、このファイルをデータベースの作成直後に実行します。このファイルは、オペレータによってTimesTen Cacheが構成される前に実行されるため、このファイル内にキャッシュ定義がないことを確認してください。Oracle Databaseのスキーマ・ユーザーの詳細は、「Oracle Databaseユーザーの作成」を参照してください。
schema.sql
ファイルの詳細は、「schema.sql」を参照してください。
TimesTen Classicでは、cachegroups.sql
ファイルの内容は、それがスタンバイに複製される前に、アクティブ・データベースで実行されます。cachegroups.sql
ファイルで指定した自動リフレッシュ・キャッシュ・グループが存在する場合、そのグループはアクティブ・データベースをスタンバイに複製する前にエージェントによって一時停止されます。複製プロセスが完了すると、該当する自動リフレッシュ・キャッシュ・グループは再度有効化されます。
TimesTen Scaleoutでは、cachegroups.sql
ファイルの内容は、データベース作成中に実行されます。
作成されロールアウトされた後は、オペレータによってTimesTen Cacheが監視されることも管理されることもありません。具体的には、オペレータはキャッシュ・エージェントの状態を監視しなくなり、それらのエージェントを起動または停止するための追加の処理を実行することもなくなります。さらに、オペレータは、TimesTenデータベースとOracle Databaseの間でデータが正しく伝播されていることを検証しません。
TimesTenClassicまたはTimesTenScaleoutオブジェクトを削除すると、オペレータによってOracle Databaseメタデータが自動的にクリーン・アップされます。しかしながら、Oracle Databaseメタデータを保持する必要がある場合は、TimesTenClassicまたはTimesTen Scaleoutオブジェクト定義内でcacheCleanUp
データ項目を指定し、その値をfalse
に設定してください。「TimesTenClassicSpecSpec」および「TimesTenScaleoutSpecSpec」で「cacheCleanup
」データ項目を参照してください。
-
TimesTen Classicデプロイメントの場合: 「TimesTen ClassicでのTimesTen Cacheの例」を参照してください。
-
TimesTen Scaleoutデプロイメントの場合: 「TimesTen ScaleoutでのTimesTen Cacheの例」を参照してください。