タイムゾーン環境変数の設定

ORA_TZFILE環境変数を設定すると、ファイル・システムからタイムゾーン・ファイルを読み取ることができます。

ORA_TZFILEが設定されていない場合、Oracle Instant Clientでは、デフォルトのサイズの大きいtimezlrg_n.datファイルが共有ライブラリから使用されます(nは、タイムゾーン・データ・ファイルのバージョン番号を示します)。Oracle Instant Clientでより小さいtimezone_n.datファイルを使用する場合は、絶対パス名または相対パス名を使用せずに、ORA_TZFILE環境変数をファイルの名前に設定します。

たとえば:
$ export ORA_TZFILE=timezone_n.dat

ここで、nは、タイムゾーン・データ・ファイルのバージョン番号です。

genezi -vコマンドを実行して、クライアント・ライブラリのタイムゾーン情報を確認します。

外部タイムゾーン・ファイルを使用するには、Oracle Instant Clientディレクトリの下にoracore/zoneinfoサブディレクトリを作成し、タイムゾーン・ファイルをこのoracore/zoneinfoサブディレクトリに移動します。ここで、絶対パス名または相対パス名を使用せずに、ORA_TZFILEをタイムゾーン・ファイル名に設定します。

あるいは、外部タイムゾーン・ファイルを任意のディレクトリに配置し、ORA_TZFILE環境変数を、使用する大規模または小規模のタイムゾーン・ファイルの絶対パスに設定することもできます。

たとえば:
$ export ORA_TZFILE=/opt/oracle/config/timezone_n.dat

Oracle Databaseで使用されているのと同じタイムゾーン・ファイル・バージョンをOracle Instant Clientで使用することをお薦めします。同じバージョンを使用しないと、TIMESTAMP WITH TIMEZONE列の問合せ時にORA-1805などのエラーが戻されます。

データベースのタイムゾーンのバージョンを確認するには、SQL*Plusで次のコマンドを実行します:
SELECT VERSION FROM V$TIMEZONE_FILE
Instant Clientのタイムゾーンのバージョンを確認するには、次のコマンドを実行します:
genezi -v

新しいタイムゾーン・ファイルは、データベース・インストールからコピーするか、Oracleサポートに連絡することで取得できます。