構成メタデータの詳細について
メタデータ・ファイルでは、TimesTenデータベースの属性およびメタデータを指定できます。これらのファイルを作成した後、これらのファイルをTimesTenコンテナに取得する機能を選択すると、TimesTenはこれらのファイルにアクセスして、データベースに固有の属性およびメタデータを判断します。
adminUser
adminUser
ファイルは、TimesTenデータベースにADMIN
権限を持つ初期ユーザーを作成します。このファイルを指定すると、このユーザーはデータベースの作成後に作成されます。このファイルには、次の形式の1行が含まれている必要があります。
user/password
cachegroups.sql
cachegroups.sql
ファイルには、データベースのキャッシュ・グループの作成定義およびキャッシュ・グループ操作が含まれます。このファイルでは、次のキャッシュ・グループ定義およびキャッシュ操作を指定できます。
-
(required): TimesTenキャッシュ・グループを作成するための
CREATE
CACHE
GROUP
文 -
(オプション): Oracle Databaseからキャッシュ・グループにデータをロードするための
LOAD
CACHE
GROUP
文 -
(オプション): キャッシュ表の統計を更新するための
ttOptUpdateStats
またはttOptEstimateStats
TimesTen組込みプロシージャ
TimesTenClassicデプロイメントでTimesTen Cacheを使用している場合は、cachegroups.sql
ファイルが必要です。この要件により、レプリケーションが構成される前にキャッシュ・グループが作成されます。ノート: インスタンス管理者は、ttIsql
ユーティリティを使用してcachegroups.sql
ファイルを実行します。
参照:
-
Oracle TimesTen In-Memory Database SQLリファレンスのCREATE CACHE GROUPおよびLOAD CACHE GROUP
-
『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』のキャッシュ・グループ・タイプ
-
Oracle TimesTen In-Memory DatabaseリファレンスのttOptpdateStatsおよびttOptEstimateStats
次に、cachegroups.sql
ファイルの例を示します。このファイルでは、2つのキャッシュ・グループを定義して、データを1つのキャッシュ・グループにロードします。
CREATE DYNAMIC ASYNCHRONOUS WRITETHROUGH CACHE GROUP writecache FROM oratt.writetab ( pk NUMBER NOT NULL PRIMARY KEY, attr VARCHAR2(40) ); 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;
cacheUser
cacheUser
ファイルでは、TimesTenキャッシュ・マネージャ・ユーザーを作成できます。このユーザーは、Oracle Databaseのキャッシュ管理ユーザーと同じ名前にし、Oracle Databaseにすでに存在している必要があります。『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』のOracleデータベース・ユーザーおよびデフォルトの表領域の作成を参照してください。
このファイルには、次の形式の1行が含まれている必要があります。
cacheUser/ttPassword/oraPassword
cacheUser
はTimesTenキャッシュ・マネージャ・ユーザー、ttPassword
はTimesTen cacheUser
ユーザーのTimesTenパスワード、oraPassword
はOracle DatabaseでcacheUser
ユーザーを作成したときに指定したOracle Databaseパスワードです。
たとえば、Oracle Databaseでパスワードがoraclepwd
のcacheuser2
キャッシュ管理ユーザーを作成していたとします。このcacheuser2
ユーザーをTimesTenキャッシュ・マネージャ・ユーザーとして指定し、そのTimesTenパスワードをttpwd
にするとします。この例の場合、cacheUser
メタデータ・ファイルには次の行を含めます。
cacheuser2/ttpwd/oraclepwd
TimesTenオペレータは、ttpwd
を持つcacheuser2
ユーザーをTimesTenデータベースに作成します。このcacheuser2
ユーザーは、TimesTenデータベースのキャッシュ・マネージャ・ユーザーとしての役割を果たすことになります。このTimesTenユーザーを作成する必要はありません。その操作は、オペレータが実行します。
『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』のTimesTenユーザーの作成を参照してください。
オペレータは、TimesTenのcacheUser
ユーザー(この例ではcacheuser2
)に、このユーザーのキャッシュ・マネージャとしてのロールに適した権限を付与します。これに該当する権限を次に示します。
-
CREATE
SESSION
-
CACHE
MANAGER
-
CREATE
ANY
TABLE
-
LOAD
ANY
CACHE
GROUP
-
REFRESH
ANY
CACHE
GROUP
-
FLUSH
ANY
CACHE
GROUP
-
DROP
ANY
CACHE
GROUP
-
ALTER
ANY
CACHE
GROUP
-
UNLOAD
ANY
CACHE
GROUP
-
SELECT
ANY
TABLE
-
INSERT
ANY
TABLE
-
UPDATE
ANY
TABLE
-
DELETE
ANY
TABLE
csWallet
TimesTenクライアント/サーバー環境では、デフォルトでクライアント・アプリケーションとTimesTenデータベースの間で暗号化されていないデータが送信されます。ただし、Client/Server用のTLSを構成すると、TimesTenのクライアントとサーバーの間でセキュアなネットワーク通信を確保できます。Client/Serverのトラフィックを暗号化するには、/ttconfig/csWallet
ファイルを指定します。このファイルには、サーバー用のOracleウォレットが含まれています。このウォレットに、TimesTenデータベースとClient/Serverアプリケーションの間のTLS暗号化の構成に使用される資格証明を含めます。このファイルは、TimesTenデータベースのコンテナのディレクトリ/tt/home/timesten/csWallet
で使用できるようになります。このディレクトリは、db.ini
ファイルで参照できます(wallet
接続属性を指定します)。「レプリケーションおよびClient/Server用のTLS証明書の作成」と「レプリケーションおよびClient/Server用のTLS証明書の作成」を参照してください。
クライアント・ウォレットは、クライアント・アプリケーションでも使用できるようにする必要があります。「レプリケーションおよびClient/Server用のTLS証明書の作成」と「Client/Server用のTLSの構成」を参照してください。
db.ini
db.ini
ファイルには、データベースのTimesTen DSN定義が含まれています。
TimesTen Classicでは、db.ini
ファイルにデータベースの接続属性が含まれます。このファイルは、インスタンスのsys.odbc.ini
ファイルを生成するために使用されます。db.ini
ファイルには、データ・ストア属性、初期接続属性および一般接続属性を指定できます。DSNの名前は、TimesTenClassicオブジェクトの名前です。たとえば、TimesTenClassicオブジェクトの名前がsample
の場合、DSNの名前はsample
になります。
TimesTenScaleoutでは、db.ini
ファイルにグリッド内のデータベースの各要素の接続属性が含まれます。データベース定義ファイル(dbDef)とその内容は、TimesTen Scaleoutデータベース定義の作成に使用されます。データベース定義の名前は、TimesTenScaleoutオブジェクトの名前です。たとえば、TimesTenScaleoutオブジェクトの名前がsample
の場合、データベース定義の名前はsample
です。TimesTen Scaleoutデータベースは、データベース定義に基づいて作成されます。TimesTen Scaleoutでのデータベースの作成およびデータベース定義の作成の詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータベースの作成を参照してください。
TimesTenClassicデプロイメントでTimesTen Cacheを使用している場合は、db.ini
ファイルにOracleNetServiceName
およびDatabaseCharacterSet
接続属性を指定する必要があります。DatabaseCharacterSet
値は、Oracle Databaseのデータベース文字セットの値と一致している必要があります。
DataStore
またはLogDir
接続属性をdb.ini
ファイルに指定しないでください。オペレータはこれらの属性を設定し、データベース・ファイルをKubernetesの永続ボリュームに配置します。
TimesTen接続属性の詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の接続属性のリストを参照してください。
ノート:
/ttconfig/db.ini
ファイルがTimesTenコンテナ内に存在しない場合、TimesTenはデフォルトのsys.odbc.ini
ファイルを作成します。このデフォルトのsys.odbc.ini
の場合、接続属性はPermsize
=200
およびDatabaseCharacterSet
=AL32UTF8
です。
この例では、TimesTen ClassicまたはTimesTen ScaleoutのTimesTenデータベースの様々な接続属性を含むサンプルのdb.ini
ファイルを示します。
PermSize=500 LogFileSize=1024 LogBufMB=1024 DatabaseCharacterSet=AL32UTF8
次に、TimesTen ClassicのTimesTen Cacheを使用するTimesTenデータベースのOracleNetServiceName
を含むサンプルのdb.ini
ファイルの例を示します。
PermSize=500
LogFileSize=1024
LogBufMB=1024
DatabaseCharacterSet=AL32UTF8
OracleNetServiceName=OraCache
epilog.sql
TimesTen Classicでは、epilog.sql
ファイルに、レプリケーション・スキームを作成してレプリケーション・エージェントを起動した後に発生する操作が含まれます。たとえば、レプリケートされたXLAのブックマークを作成する場合は、このファイルにttXlaBookmarkCreate
TimesTen組込みプロシージャを含めることができます。
オペレータはインスタンス管理者に、ttIsql
ユーティリティを使用してepilog.sql
ファイルを実行するように指示します。
次に、epilog.sql
ファイルの例を示します。この例では、ttXlaBookmarkCreate
TimesTen組込みプロシージャをコールしてXLAブックマークを作成します。
call ttXlaBookmarkCreate('mybookmark',0x01);
レプリケートされたブックマークの詳細は、Oracle TimesTen In-Memory DatabaseリファレンスのttXlaBookmarkCreate TimesTen組込みプロシージャを参照してください。
replicationWallet
TimesTen Classicでは、デフォルトでTimesTenレプリケーションは、TimesTenデータベース間で暗号化されていないデータを送信します。ただし、レプリケーション用のTLSを構成すると、レプリケートされたTimesTenデータベース間でセキュアなネットワーク通信を確保できます。これを行うには、/ttconfig/replicationWallet
ファイルを指定します。このファイルにはOracleウォレットが含まれています。このウォレットには、TimesTenデータベースのアクティブ・スタンバイ・ペア間でTLS暗号化を構成するためにTimesTenレプリケーションで使用される資格証明が含まれています。「レプリケーションおよびClient/Server用のTLS証明書の作成」と「レプリケーション用のTLSの構成」を参照してください。
このファイルを指定する場合は、replicationCipherSuite
フィールドを含める必要があり、オプションでTimesTenClassicオブジェクト定義にreplicationSSLMandatory
フィールドを含めます。TimesTenClassicSpecSpecのreplicationCipherSuite
エントリとreplicationSSLMandatory
エントリおよび「レプリケーション用のTLSの構成」を参照してください。
schema.sql
TimesTenオペレータは、ユーザー、表、順序などのスキーマ・オブジェクトを使用してデータベースを自動的に初期化できます。オペレータでこれを行うには、schema.sql
ファイルを作成します。
オペレータはインスタンス管理者に、ttIsql
ユーティリティを使用して、データベースの作成直後にschema.sql
ファイルを実行するように指示します。この操作は、オペレータがTimesTenデータベースにレプリケーションまたはキャッシュを構成する前に行われます。
TimesTen Cacheでは、1人または複数のキャッシュ表ユーザーがキャッシュ表を所有します。このキャッシュ表ユーザーがキャッシュ・マネージャ・ユーザーでない場合は、schema.sql
ファイルを指定する必要があります。さらに、このファイルにスキーマ・ユーザーを含めて、そのスキーマ・ユーザーに適切な権限を割り当てることも必要です。たとえば、Oracle Databaseでoratt
スキーマ・ユーザーが作成されていたときに、このユーザーがTimesTenキャッシュ・マネージャ・ユーザーでない場合は、このファイルにTimesTen oratt
ユーザーを作成する必要があります。「Oracle Databaseユーザーの作成」を参照してください。
このファイルには、キャッシュ定義を含めません。そのかわりに、cachegroups.sql
メタデータ・ファイルを使用します。cachegroups.sqlを参照してください。
sqlnet.ora
Oracle Database sqlnet.ora
ファイルでは、クライアント・アプリケーションがOracle Databaseと通信する方法のオプションを定義します。TimesTen Cacheを使用する場合やttLoadFromOracle
などのツールを使用する場合は、sqlnet.ora
ファイルを定義します。このファイルには、TimesTenなどのアプリケーションがOracleデータベースに接続する方法が記述されています。ノート: sqlnet.ora
ファイルを定義する場合は、tnsnames.ora
ファイルを定義する必要があります。tnsnames.oraを参照してください。
次に、sqlnet.ora
ファイルの例を示します。
NAME.DIRECTORY_PATH= {TNSNAMES, EZCONNECT, HOSTNAME} SQLNET.EXPIRE_TIME = 10 SSL_VERSION = 1.2
testUser
testUser
ファイルは、test
ユーザーを定義します。このユーザーは、helm
test
コマンドでTimesTenをテストするために使用されます。ユーザーにはCONNECT
権限が付与されます。テストでは、test
ユーザーとしてTimesTenデータベースに接続します。このテストでは、TimesTen Classicデータベースが稼働中であることを確認します。
testUser
ファイルには、次の形式の1行が含まれている必要があります。testuser/testuserpassword
ここで、testuser
はtest
ユーザーの名前、testuserpassword
はこのテスト・ユーザーのパスワードです。
Helmの使用およびhelm
test
コマンドを使用してTimesTenをテストする方法の詳細は、「TimesTen Kubernetesオペレータ環境でのHelmの使用」および「レプリケートされた構成のTimesTenのテスト」を参照してください。
tnsnames.ora
Oracle Databaseのtnsnames.ora
ファイルでは、アプリケーションが接続するOracle Net Servicesを定義します。次を使用する場合は、tnsnames.ora
(および場合によってはsqlnet.oraで説明されているsqlnet.ora
ファイル)を使用する必要があります。
-
TimesTen Cache
-
Pro*C、OCI、ODPI-CなどのSQL API
-
ttLoadFromOracle
機能
ttLoadFromOracle
TimesTen組込みプロシージャの詳細は、Oracle TimesTen In-Memory DatabaseリファレンスのttLoadFromOracleを参照してください。
次に、tnsnames.ora
ファイルの例を示します。
OraTest = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = database.mynamespace.svc.cluster.local) (PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = OraTest.my.sample.com))) OraCache = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = database.mynamespace.svc.cluster.local) (PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = OraCache.my.sample.com)))
*.connect
名前が.
connect
拡張子で終わるファイルは、TimesTen Scaleoutのデータベースへのダイレクト・モード・アクセス用の直接接続可能オブジェクトを1つ以上定義します。直接接続可能オブジェクトはいくつでも作成できます。直接接続可能オブジェクトは、データベースの一般接続属性設定のセットを指定します。有効なDSN名であるかぎり、直接接続可能オブジェクトの任意の名前を選択できます。TimesTenオペレータは、作成する直接接続可能オブジェクト・ファイルごとに1つの直接接続可能オブジェクトを作成します。.connect
拡張子は直接接続可能オブジェクトを示します。.connect
拡張子が小文字であることを確認します。
次の例では、直接接続可能オブジェクトを1つ作成します。ファイル名はsample.connect
です。TimesTenオペレータは、sample.connect
ファイルの内容に基づいてsample
直接接続可能オブジェクトを作成します。
ConnectionCharacterSet=AL32UTF8
直接接続可能オブジェクトの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の接続可能オブジェクトの操作および『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータベースへの接続を参照してください。
*.csconnect
名前が.
csconnect
拡張子で終わるファイルは、TimesTen Scaleoutのデータベースへのクライアント/サーバー・アクセス用のクライアント/サーバー接続可能オブジェクトを1つ以上定義します。クライアント/サーバー接続可能オブジェクトはいくつでも作成できます。クライアント/サーバー接続可能オブジェクトは、データベースの一般接続属性設定のセットを指定します。有効なDSN名であるかぎり、クライアント/サーバー接続可能オブジェクトの任意の名前を選択できます。TimesTenオペレータは、作成するクライアント/サーバー接続可能オブジェクト・ファイルごとに1つのクライアント/サーバー接続可能オブジェクトを作成します。.csconnect
拡張子は、クライアント/サーバー接続可能オブジェクトを示します。.csconnect
拡張子が小文字であることを確認します。
次の例では、クライアント/サーバー接続可能オブジェクトを1つ作成します。ファイル名はsamplecs.csconnect
です。TimesTenオペレータは、samplecs.csconnect
ファイルの内容に基づいてsamplecs
クライアント/サーバー接続可能オブジェクトを作成します。
ConnectionCharacterSet=AL32UTF8
TTC_Timeout=30
クライアント/サーバー接続可能オブジェクトの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の接続可能オブジェクトの操作および『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータベースへの接続を参照してください。