この付録は、次のことに関する参照資料です。
次の各項では、環境変数について説明しています。
ターミナル・ウィンドウの環境変数を設定することで、このウィンドウで特定のインスタンスに対してコマンドを実行することが可能になります。次の状況において、環境変数を設定することが必要になります。
アクティブ管理インスタンスを作成した後
ttGridAdminまたは任意のTimesTenユーティリティを使用する前
データ・インスタンスを実行しているホスト上で直接モード・アプリケーションを実行する前
クライアント(またはデータ)・インスタンスを実行しているホスト上でクライアント・サーバー・アプリケーションを実行する前
環境変数を設定するには、ttenvシェル・スクリプト(ttenv.shまたはttenv.csh)にソースを指定します。インスタンスを作成した後に、TimesTenによってスクリプトが作成されます。これらのスクリプトは、grid/instance1/binディレクトリにあります(grid/instance1はそのインスタンスのフル・パスです)。これらのスクリプトにソースを指定することで、TimesTen Scaleoutインスタンスを使用するために必要な環境変数が設定されます。
これらの環境変数としては、TIMESTEN_HOME、PATH、LD_LIBRARY_PATH (または同等のもの)、TNS_ADMINなどがあります。
次に例を示します。
sh、bash、zsh、kshなどのBourne型のシェルの場合
% ./ttenv.sh
cshまたはtcshシェルの場合
% source ttenv.csh
次の各項では、環境変数について詳しく説明しています。
TIMESTEN_HOME環境変数は、TimesTen Scaleoutインスタンスのホーム・ディレクトリを指定します。ttenvスクリプトにソースを指定するときに、この変数を明示的に設定します。
データベース定義ファイルで指定されたキャラクタ・セットは、デフォルトで接続用に使用されますが、そのキャラクタ・セットがNLS_LANGによってオーバーライドされている場合や、接続可能オブジェクト内にある場合は除きます。キャラクタ・セットを明示的に設定することをお薦めしますが、デフォルトのキャラクタ・セットは通常はAMERICAN_AMERICA.US7ASCIIです。環境変数を使用してキャラクタ・セットを設定するには、次の手順を実行します。
NLS_LANG=.WE8ISO8859P1
詳細は、次を参照してください。
Oracle TimesTen In-Memory Database C開発者ガイドの文字セット。
Oracle TimesTen In-Memory Databaseリファレンスのサポートされている文字セット。
共有ライブラリ・パスの環境変数は、ttenvにソースを指定するときに設定されます。この環境変数は、共有ライブラリのパスを指定します。ttenvスクリプトによって、LD_LIBRARY_PATHに$TIMESTEN_HOME/install/libが追加されます。
TimesTenには、アプリケーションを管理およびデバッグするための各種ユーティリティが用意されています。これらのユーティリティを使用可能にするには、$TIMESTEN_HOME/bin内と$TIMESTEN_HOME/install/bin内の実行可能ファイルのパスをPATH環境変数で指定する必要があります。ttenvにソースを指定すると、このパスが更新されて、これらのディレクトリがパスに含まれるようになります。
また、プログラムをコンパイルするには、使用するプログラミング言語のコンパイラの場所がPATH環境変数で指定されていることを確認してください。
TNS_ADMIN環境変数は、tnsnames.oraファイルが配置されているディレクトリのフル・パスを指定します。
TimesTenのOCI、Pro*C/C++またはODP.NETについては、tnsnames.oraファイルが配置されているディレクトリのフル・パスをTNS_ADMIN環境変数で指定します。
TimesTen Scaleoutによって、すべてのインスタンスのtnsnames.oraファイルに、すべての接続可能オブジェクトのエントリが自動的に移入されます。関連する構成ファイルはTimesTen Scaleoutによって所有されているため、これらのエントリを手動で設定しないでください。
tnsnamesおよび追加エントリ(該当する場合はOracleデータベース接続のエントリなど)の関連情報は、ttGridAdminのTNSNamesImportコマンドとSQLNetImportコマンドによって取り込まれて配布されます。詳細は、Oracle TimesTen In-Memory DatabaseリファレンスでTNS名のインポート(TNSNamesImport)およびsqlnetファイルのインポート(SQLNetImport)を参照してください。
Javaアプリケーションについては、関係がある追加の環境変数が存在します。次の各項では、Javaアプリケーションに影響を与える追加の環境変数や考慮事項について説明します。
Javaのクラスとクラス・ライブラリは、CLASSPATH環境変数で指定されたクラス・パス上で検出されます。いずれかのTimesTen JDBCドライバをロードするJavaプログラムを実行する前に、CLASSPATH環境変数でクラス・ライブラリのファイルとパスが指定されている必要があります。
$TIMESTEN_HOME/install/lib/ttjdbcjdk_ver.jar
ここで、jdk_verはJDKバージョンを示します。JDK8の場合は、jdk_verは8であり、ファイル名はttjdbc8.jarです。
|
ノート: 複数のJARファイルがCLASSPATHにリストされている場合は、TimesTen JARファイルが最初にリストされていることを確認します。 |
CLASSPATHの要素はコロンで区切ります。たとえば、次のように記述します(sh型のシェル)。
CLASSPATH=.:$TIMESTEN_HOME/install/lib/ttjdbc7.jar
export CLASSPATH
または次のように実行します(csh型のシェル)。
setenv CLASSPATH .:$TIMESTEN_HOME/install/lib/ttjdbc7.jar
JDKのバージョンを確認するには、次のように実行します。
% java -version
インスタンスを作成すると、各インスタンスには$TIMESTEN_HOME内の次のサブディレクトリが含められます。
bin: そのインスタンスに適応するように調整された、インスタンス固有のTimesTenユーティリティおよび実行可能ファイル
これに含まれるttenvによって、TimesTen環境の環境変数がセッションに適するように設定され、setuproot.shは、rootとして実行することで、オペレーティング・システムが再起動されるたびにデータ・インスタンスを自動的に起動させることができます。
ttenvを実行すると、binディレクトリもパスに追加されます。
conf: TimesTenインスタンスの構成ファイルであるtimesten.confファイルが含まれます
diag: デーモン・ログとエラー・ログを含む診断出力
grid: TimesTen Scaleoutのファイルおよびリソース
info: TimesTenインスタンスの永続状態が格納されているTimesTenデーモンの作業ディレクトリ
install: このインスタンスに関連付けられているインストール内容を参照するシンボリック・リンク。
plsql: 次のサブディレクトリが含まれます。
utl_file_dir: UTL_FILEパッケージを使用してPL/SQLブロックによる読取りや書込みが可能な唯一のディレクトリ
startup: このサブディレクトリに格納されているスクリプトを/etc/init.dに追加することで、そのインスタンスが、システムの起動時に自動的に起動され、システムのシャットダウン時に自動的に停止するようにできます。
|
ノート:
|
テスト環境または開発環境で複数のグリッドを作成して使用し、その後破棄する場合は、破棄された後に再使用される予定がない、すべてのグリッドのメンバーシップ・サーバー・メタ・データをパージすることが必要となる場合があります。
TimesTen Scaleoutは、グリッド内の各インスタンス上のそれぞれの独立グリッドを表すために、メンバーシップ・サーバーのメタ・データを作成します。破棄された特定のグリッドが再度使用されないことがわかっている場合は、1つのインスタンスについて次の手順を実行できます。
インスタンスのホーム・ディレクトリの下にある/confディレクトリ内にtimesten.conf構成ファイルを配置します。
timesten.conf構成ファイル内で、grid_guidおよびgrid_nameパラメータが含まれたメンバーシップ・サーバー・エントリを特定します。
grid_guid=4012FC64-8B9X-45D1-A16C-ED52C3098CAD grid_name=mygrid
メンバーシップ・サーバー・エントリは、grid_name.grid_guidという命名構造となり、/oracle/timesten/grid/membershipディレクトリ内に存在します。
|
ノート: アクティブなグリッドのメンバーシップ・サーバーの削除を回避するには、正しいグリッドを特定する必要があります。 |
zkCli.shコマンドを実行して、メンバーシップ・サーバーに接続します。
./zkCli.sh -server ms_host1:2181
zkCli.sh rmrコマンドを使用して、該当するメンバーシップ・サーバー・エントリを削除します。
rmr /oracle/timesten/grid/membership/mygrid.4012FC64-8B9B-45D1-A16C-ED52C3098CAD