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