TimesTen ClassicデータベースのDSNの定義
Oracle DatabaseのデータをキャッシュするTimesTenデータベースは、システムDSNまたはユーザーDSNのいずれかによって参照できます。TimesTenデータベースは、インスタンス管理者ユーザーがDSNを使用して初めて接続したときに暗黙的に作成されます。OracleデータベースからデータをキャッシュするTimesTenデータベースのDSNを作成する場合は、接続属性の設定に特に注意します。
『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の「TimesTenデータベースの管理」を参照してください。
UNIXまたはLinuxでは、システムDSNはtimesten_home
/conf/sys.odbc.ini
ファイルに入っています。TimesTenデータベースへの接続で説明されているように、sys.odbc.ini
ファイルにはDSN定義が含まれます。
この例では、cache1
およびcache1cs
ODBCデータソース名(DSN)を定義します。
ノート:
ODBCはTimesTenのネイティブAPIですが、TimesTenはJDBC、Oracle Call Interface、ODP.NET、cx_Oracle (Pythonの場合)およびnode-oracledb (Node.jsの場合)など、一般的に使用される他の多くのデータベースAPIも提供またはサポートしています。
-
直接接続:
cache1
DSNは、直接モードまたはサーバーDSNです。TimesTen 22.1 Driver
を使用します。このTimesTenインスタンスによってホストされるデータベースのパラメータおよび接続を定義します。このホストで実行されているツール、ユーティリティおよびアプリケーション(myhost
)は、TimesTenの低レイテンシの直接モード接続メカニズムを使用して、このDSNを介して接続できます。 -
クライアント/サーバー接続: このデータベースには、TimesTenのクライアント/サーバー接続を使用してリモートからもアクセスできます。
cache1cs
DSNはクライアントDSNで、TimesTen 22.1 Client Driver
を使用します。ツール、ユーティリティおよびアプリケーションがTimesTenのクライアント/サーバー接続メカニズムを使用して接続できるサーバーDSNの接続パラメータを定義します。この例では、DSNはローカルのcache1
サーバーDSNのクライアント/サーバー・アクセスを定義します。
これらの接続属性は、他に示されていないかぎり、すべてダイレクトDSNまたは接続文字列で設定できます。
-
DataStore
は、データベースの完全修飾ディレクトリ・パス名およびファイル名接頭辞を指定します。この名前はファイル名ではありません。この例では、DataStore
は/disk1/databases/database1
に設定されています。 -
PermSize
には、データベースの永続領域の割当てサイズをMBで指定します。PermSize
値は、マシンの物理RAMより小さくする必要があります。すべてのデータを格納できる値に設定します。PermSize
値は、数GBから数TBまでにできます。この例では、永続リージョンを1024MBに設定します。 -
TempSize
はデータベースの一時領域に割り当てられるメモリーの合計容量をMBで示します。この例では、一時リージョンを256MBに設定します。 -
LogBufMB
は、データベースの内部トランザクション・ログ・バッファのサイズを指定します。この例では、トランザクション・ログ・バッファを256MBに設定します。 -
LogFileSize
は、トランザクション・ログ・ファイルの最大サイズをMB単位で指定します。この例では、トランザクション・ログ・ファイルの最大サイズを256MBに設定します。 -
DatabaseCharacterSet
は、Oracleデータベースの文字セットと一致する必要があります。この例では、データベース文字セットはAL32UTF8
です。ノート:
任意のユーザーとしてSQL*Plusで次の問合せを実行すると、Oracle Database文字セットを確認できます。
SQL> SELECT value FROM nls_database_parameters WHERE parameter='NLS_CHARACTERSET';
-
ConnectionCharacterSet
は、接続の文字エンコーディングを指定します。通常、ご使用の端末の設定またはデータソースと一致する接続文字セットを選択する必要があります。この例では、接続文字セットはAL32UTF8
です。 -
OracleNetServiceName
は、Oracle Databaseインスタンスのネット・サービス名に設定する必要があります。この例では、これをorcl
に設定します。これは、tnsnames.ora
ファイルに設定された名前と同じです。Microsoft Windowsシステムの場合、Oracle Databaseインスタンスのネット・サービス名は、「TimesTen ODBC Setup」ダイアログ・ボックスにある「TimesTen Cache」タブの「Oracle Net Service Name」フィールドで指定する必要があります。
-
CacheAdminWallet=1
は、ttCacheUidPwdSet
組込みプロシージャを使用して登録されているOracleキャッシュ管理ユーザーの資格証明がメモリーではなくOracleウォレットに格納されるように指定します。 -
UID
には、TimesTenキャッシュ管理ユーザーの名前を指定します。UID
接続属性は、ダイレクトDSN、クライアントDSNまたは接続文字列で指定できます。 -
PwdWallet
は、ユーザーの資格証明が格納されるウォレットを指定します。ウォレット内でTimesTenユーザー名とパスワードを指定できます。キャッシュ管理者ユーザーおよびそれぞれのパスワードをウォレットに指定することもできます。キャッシュ処理の実行およびOracle Databaseへの接続時には、キャッシュ管理ユーザー資格証明が必要です。 -
PwdWallet
を使用してウォレットを指定しない場合は、PWD
を使用して、UID
接続属性で指定されたTimesTenキャッシュ管理ユーザーのパスワードを指定します。PWD
接続属性は、ダイレクトDSN、クライアントDSNまたは接続文字列で指定できます。 -
PwdWallet
を使用してウォレットを指定しない場合は、OraclePWD
を使用して、UID
接続属性で指定したTimesTenキャッシュ管理ユーザーと同じ名前のOracle Databaseキャッシュ管理ユーザーのパスワードを指定します。ノート:
「TimesTenユーザーの作成」を参照してください。
-
PassThrough
を設定して、TimesTenデータベースで文を実行するか、Oracle Databaseで処理するためにパススルーするかを制御できます。「パススルー・レベルの設定」を参照してください。 -
LockLevel
は、キャッシュではデータベース・レベル・ロックがサポートされていないため、デフォルトの0 (行レベル・ロック)に設定する必要があります。 -
ReplicationApplyOrdering
およびCacheAWTParallelism
では、AWTキャッシュ・グループのTimesTenキャッシュ表に対して行われた変更を対応するOracle Database表へ伝播するパラレル伝播を制御します。「Oracle Databaseへのパラレル伝播を使用したAWTスループットの向上」を参照してください。
次に、クライアントDSNのエントリがあります。クライアントDSNでは、次の属性を使用して、TimesTenデータベースの場所を指定します。
-
TTC_Server_DSN
属性は、目的のデータベースのサーバーDSNを指定します。 -
TTC_Server
属性は、データベースのサーバー(およびデフォルトのポート番号を使用しない場合はポート番号)を指定します。
sys.odbc.ini
ファイルで、TimesTen DSN cache1
を作成し、次の接続属性を設定します。cache1
DSNは、Oracle DatabaseからデータをキャッシュするTimesTenデータベースを指定します。
[ODBC Data Sources] cache1=TimesTen 22.1 Driver cache1cs=TimesTen 22.1 Client Driver [cache1] DataStore=/disk1/databases/database1 PermSize=1024 TempSize=256 LogBufMB=256 LogFileSize=256 DatabaseCharacterSet=AL32UTF8 ConnectionCharacterSet=AL32UTF8 OracleNetServiceName=orcl CacheAdminWallet=1 [cache1cs] TTC_SERVER_DSN=CACHE1 TTC_SERVER=myhost/6625 ConnectionCharacterSet=AL32UTF8