B SQL*Loader、エクスポートおよびインポートのInstant Client

Oracle Instant Clientを使用すると、標準のOracleクライアントをインストールしたりOracleホームを使用せずにアプリケーションを実行できます。 

次の内容について説明します。

B.1 ツールInstant Clientとは

ツールInstant Clientパッケージは、OCI Instant Clientがサポートされているプラットフォームで使用できます。

ツール・パッケージには、SQL*Loader、データ・ポンプ・エクスポート、データ・ポンプ・インポート、オリジナルの(クラシック)エクスポート、オリジナルの(クラシック)インポートなどの複数のコマンドライン・ユーティリティが含まれています。Instant Clientのインストールはスタンドアロンで、製品のコマンドライン・バージョンのすべての機能が備えられています。Instant Clientは既存のリモートOracle Databaseに接続しますが、独自のデータベースはありません。簡単にインストールでき、製品のコマンドライン・バージョンの使用に必要なOracle Database Clientの完全なインストールと比較すると、非常に少ないディスク領域を使用します。

OCI Instant Clientの詳細は、『Oracle Call Interfaceプログラマーズ・ガイド』を参照してください。

ツールInstant Clientを使用するには、2つのパッケージが必要です。

  • ツールInstant Clientパッケージ

  • 基本OCI Instant ClientパッケージまたはOCI Instant Client Lightパッケージ。

ツールInstant Clientを使用するために必要な基本ステップは次のとおりです。これらの各ステップの詳細は、この付録で説明します。

  1. 使用するOCIパッケージ(基本またはLight)を選択し、Instant Clientファイルをインストールするディレクトリも選択します。

  2. インストールしたOracleインスタンスから、ツールInstant Clientパッケージおよび選択したOCI Instant Clientパッケージをコピーするか、またはOTNからダウンロードします。

  3. ツールInstant ClientパッケージおよびOCIパッケージをインストール(解凍)します。新しいディレクトリinstantclient_12_2がインストールの一部として作成されます。

  4. Instant Clientを構成します。

  5. 実行するユーティリティでリモート・インスタンスに接続します。

ツール・パッケージとOCIパッケージの両方がバージョン12.2.0.0.0以上のOracle Databaseであり、両方のバージョンが同じである必要があります。

B.2 インストールするInstant Clientの選択

ツールInstant Clientのツール・パッケージをインストールする前に、まず基本Instant ClientまたはInstant Client Lightを選択する必要があります。

基本Instant Client

ツールInstant Clientパッケージは、基本Instant Clientとともに使用する場合、Oracle DatabaseでサポートされているNLS_LANG設定で動作します。Oracle Databaseで使用可能なすべてのキャラクタ・セットおよび言語設定をサポートしています。

Instant Client Light

Instant ClientのInstant Client Light (English)バージョンでは、クライアントのインストールに必要なディスク領域が削減されています。英語以外の言語のエラー・メッセージ・ファイルを削除し、サポートされるキャラクタ・セット定義を約250の中からわずかな数のみ残すことで、ライブラリのサイズが削減されました。

Instant Client Lightは、US7ASCIIWE8DECWE8ISO8859P1WE8MSWIN1252またはUnicodeキャラクタ・セットのいずれかを使用するアプリケーション向けです。NLS_LANG設定のLANGUAGEおよびTERRITORYフィールドに制限がないため、Instant Client Lightはあらゆる言語および地域設定で動作します。Instant Client Lightでは英語のエラー・メッセージのみ提供されているため、NLS_LANGAMERICAN以外の言語に設定されている場合でも、Net接続エラーなどのクライアント側で生成されたエラー・メッセージは常に英語でレポートされます。データベース・インスタンスのOracleホームに適切な翻訳済メッセージ・ファイルがインストールされている場合、SQL文の構文エラーなどのデータベース側で生成されたエラー・メッセージは、選択した言語となります。

B.3 OTNからのダウンロードによるツールInstant Clientのインストール

Linux用のOTNダウンロードは、RPMパッケージです。UNIXおよびWindows用のOTNダウンロードは、zipファイルです。

Instant Clientパッケージは、Oracleホームにはインストールしないでください。

Linux RPMパッケージからのInstant Clientのインストール

  1. OTNのInstant Clientのページ(http://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index.html)から、ツールInstant ClientパッケージおよびOCIパッケージを含むRPMパッケージをダウンロードします。両方のパッケージがバージョン12.2.0.0.0以上で、かつ両方のバージョンが同じである必要があります。

  2. RPMパッケージを初期インストールするにはrpm -i、新しいバージョンのパッケージにアップグレードするにはrpm -uを使用します。OCIパッケージを先にインストールします。

  3. Instant Clientを構成します。「ツールInstant Clientパッケージの構成」を参照してください。

UNIXまたはWindows zipファイルからのInstant Clientのインストール

  1. OTNのInstant Clientのページ(http://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index.html)から、ツールInstant ClientパッケージおよびOCIパッケージを含むRPMパッケージをダウンロードします。両方のパッケージがバージョン12.2.0.0.0以上で、かつ両方のバージョンが同じである必要があります。

  2. 新規ディレクトリ(UNIXでは//home/instantclient12_2、Windowsではc:\instantclient12_2など)を作成します。

  3. 2つのパッケージを新規ディレクトリに解凍します。OCIパッケージを先にインストールします。

  4. Instant Clientを構成します。「ツールInstant Clientパッケージの構成」を参照してください。

ツールInstant Clientに必要なファイルのリスト

次の表に、ツールInstant Clientパッケージの必要なファイルを示します。また、いずれかのOCIパッケージ(基本またはLight)のファイルも必要です。インストールされるその他のファイルでこのリストに含まれていないファイルは、無視するか、ディスク領域を節約するために削除できます。

OCI Instant Clientの必要なファイルの詳細は、『Oracle Call Interfaceプログラマーズ・ガイド』を参照してください。

表B-1 ツール・パッケージ内のInstant Clientファイル

LinuxおよびUNIX Windows 説明
exp exp.exe オリジナルの(クラシック)エクスポート実行可能ファイル
expdp expdp.exe データ・ポンプ・エクスポート実行可能ファイル
imp imp.exe オリジナルの(クラシック)インポート実行可能ファイル
impdp impdp.exe データ・ポンプ・インポート実行可能ファイル
libnfsodm12.so 該当なし Oracle Disk Manager (ODM)を使用するためにSQL*Loader Instant Clientで使用される共有ライブラリ。
sqlldr sqlldr.exe SQL*Loader実行可能ファイル
TOOLS_README 該当なし ツールInstant ClientパッケージのReadme
wrc wrc.exe ツールInstant Clientパッケージには、この付録で説明したもの以外のツールが含まれています。wrcツールは、Oracle Databaseの再実行機能用のワークロードの再実行クライアント(wrc)です。wrcツールは完全性のためにここに示されていますが、この付録の情報には含まれていません。

B.4 12c Clientリリース・メディアからのツールInstant Clientのインストール

ツールInstant Clientパッケージは、Clientリリース・メディアからインストールできます。

  1. Oracle Database 12c Clientリリース・メディアでインストーラを実行し、管理者オプションを選択します。

  2. 新規ディレクトリ(UNIXおよびLinuxでは/home/instantclient12_2、Windowsではc:\instantclient12_2など)を作成します。

  3. ツールInstant ClientパッケージおよびOCI Instant Clientファイルを新規ディレクトリにコピーします。すべてのファイルを同じOracleホームからコピーする必要があります。

  4. ツールInstant Clientパッケージを構成します。「ツールInstant Clientパッケージの構成」を参照してください。

UNIXまたはLinuxでのツールInstant Clientのインストール

UNIXおよびLinuxで基本Instant Clientパッケージを使用してツールInstant Clientをインストールするには、次のファイルをコピーします。

$ORACLE_HOME/instantclient/libociei.so
$ORACLE_HOME/lib/libnfsodm12.so
$ORACLE_HOME/bin/exp
$ORACLE_HOME/bin/imp
$ORACLE_HOME/bin/expdp
$ORACLE_HOME/bin/impdp
$ORACLE_HOME/bin/sqlldr

UNIXおよびLinuxでInstant Client Lightパッケージを使用してツールInstant Clientをインストールするには、次のファイルをコピーします。

$ORACLE_HOME/instantclient/light/libociicus.so
$ORACLE_HOME/lib/libnfsodm12.so
$ORACLE_HOME/bin/exp
$ORACLE_HOME/bin/imp
$ORACLE_HOME/bin/expdp
$ORACLE_HOME/bin/impdp
$ORACLE_HOME/bin/sqlldr

WindowsでのツールInstant Clientのインストール

Windowsで基本Instant Clientパッケージを使用してツールInstant Clientをインストールするには、次のファイルをコピーします。

%ORACLE_HOME%\instantclient\oraociei12.dll
%ORACLE_HOME%\bin\exp.exe
%ORACLE_HOME%\bin\imp.exe
%ORACLE_HOME%\bin\expdp.exe
%ORACLE_HOME%\bin\impdp.exe
%ORACLE_HOME%\bin\sqlldr.exe

WindowsでInstant Client Lightパッケージを使用してツールInstant Clientをインストールするには、次のファイルをコピーします。

ORACLE_HOME%\instantclient\light\oraociicus12.dll
%ORACLE_HOME%\bin\exp.exe
%ORACLE_HOME%\bin\imp.exe
%ORACLE_HOME%\bin\expdp.exe
%ORACLE_HOME%\bin\impdp.exe
%ORACLE_HOME%\bin\sqlldr.exe

B.5 ツールInstant Clientパッケージの構成

ツールInstant Clientパッケージ実行可能ファイルは、バージョンが一致するOCI Instant Clientとともにのみ使用する必要があります。環境変数ORACLE_HOMEまたはORACLE_SIDを設定する必要はありません。

Linuxでの(RPMSからの)ツールInstant Clientパッケージの構成

OTNからダウンロードしたRPMは、/usrファイル・システム内のOracle固有のサブディレクトリにインストールされます。サブディレクトリ構造によって、複数のバージョンのInstant Clientを使用できます。

  1. Instant Clientライブラリを含むディレクトリの名前をLD_LIBRARY_PATHに追加します。その他のOracleディレクトリは削除します。

    たとえば、BourneまたはKornシェルでLD_LIBRARY_PATHを設定するには、次の構文を使用します。

    LD_LIBRARY_PATH=/usr/lib/oracle/18.1/client/lib:${LD_LIBRARY_PATH}
    export LD_LIBRARY_PATH

    または、CシェルでLD_LIBRARY_PATHを設定するには、次の構文を使用します。

    % setenv LD_LIBRARY_PATH /usr/lib/oracle/18.1/client/lib:$LD_LIBRARY_PATH
  2. たとえば、RPMからインストールしたTools実行可能ファイルが、PATHの先頭の実行可能ファイルであることを確認します。たとえば、このことをテストするためにwhich sqlldrと入力すると、/usr/bin/sqlldrが返されます。そうでない場合は、他のOracleディレクトリをPATHから削除するか、PATH内の他のTools実行可能ファイルの前に/usr/binを入力するか、あるいは絶対パスまたは相対パスを使用してツールInstant Clientを起動します。

    たとえば、bashシェルでPATHを設定するには、次のように指定します。

    PATH=/usr/bin:${PATH}
    export PATH
  3. ロケールに必要なOracleグローバリゼーション変数を設定します。変数を設定しない場合は、デフォルトのロケールが指定されたものとみなされます。

    NLS_LANG=AMERICAN_AMERICA.UTF8
    export NLS_LANG

LinuxおよびUNIXでの(Clientメディアまたはzipファイルからの)ツールInstant Clientパッケージの構成

  1. Instant Clientファイルを含むディレクトリの名前を、適切な共有ライブラリ・パスLD_LIBRARY_PATHLIBPATHまたはSHLIB_PATHに追加します。その他のOracleディレクトリは削除します。

    たとえば、BourneシェルまたはKornシェルでSolarisに設定するには、次のように指定します。

    LD_LIBRARY_PATH=/home/instantclient12_2:${LD_LIBRARY_PATH}
    export LD_LIBRARY_PATH
  2. Instant Clientファイルを含むディレクトリを環境変数PATHに追加します。設定されていない場合は、絶対パスまたは相対パスを使用して、ツール・パッケージで提供されるユーティリティを起動する必要があります。その他のOracleディレクトリはPATHから削除します。例:

    PATH=/home/instantclient12_2:${PATH}
    export PATH
  3. ロケールに必要なOracleグローバリゼーション変数を設定します。変数を設定しない場合は、デフォルトのロケールが指定されたものとみなされます。例:

    NLS_LANG=AMERICAN_AMERICA.UTF8
    export NLS_LANG

WindowsでのツールInstant Clientパッケージの構成

環境は、Windowsコマンド・プロンプトでSETコマンドを使用して構成するか、またはシステム・プロパティの環境変数を設定して永続的にできます。

たとえば、Windows 2000でシステム・プロパティを使用して環境変数を設定するには、「コントロール パネル」から「システム」を開き、「詳細設定」タブをクリックしてから、「環境変数」をクリックします。

  1. Instant Clientファイルを含むディレクトリをシステム環境変数PATHに追加します。その他のOracleディレクトリはPATHから削除します。

    たとえば、PATHの先頭にc:\instantclient12_2を追加します。

  2. ロケールに必要なOracleグローバリゼーション変数を設定します。変数を設定しない場合は、デフォルトのロケールが指定されたものとみなされます。

    たとえば、日本語環境用のNLS_LANGを設定するには、JAPANESE_JAPAN.JA16EUCに設定されたユーザー環境変数NLS_LANGを作成します。

B.6 ツールInstant Clientパッケージによるデータベースへの接続

ツールInstant Clientパッケージをインストールして構成した後、データベースに接続できます。

ツールInstant Clientで提供されるユーティリティは、すべてのデータベース・サーバーから常にリモートの状態になります。サーバーでOracleインスタンスが稼働中で、かつTNSリスナーが実行中であることを前提とします。データ・ポンプ・エクスポートおよびインポートの場合、ダンプ・ファイルはリモート・サーバーに存在します。サーバー上のOracleディレクトリ・オブジェクトが存在し、適切な権限が割り当てられている必要があります。

データベースに接続するには、Oracle Net接続識別子を使用して、データベースを指定する必要があります。次の情報ではSQL*Loader (sqlldr)ユーティリティを使用しますが、この情報はツールInstant Clientパッケージで提供される他のユーティリティにも適用されます。

簡単な接続識別子を使用して、mymachineで実行されているMYDBデータベース内のHRスキーマに接続する例は、次のとおりです。

sqlldr hr/your_password@\"//mymachine.mydomain:port/MYDB\"

また、ネット・サービス名も使用できます。

sqlldr hr/your_password@MYDB

ネット・サービス名は、LDAPなどの様々な場所に格納できます。Oracle Database 12cの新機能を利用するには、LDAPを使用することをお薦めします

ローカルのOracle Net tnsnames.oraファイル内に構成されたネット・サービス名を使用する場合は、tnsnames.oraファイルを含むディレクトリに環境変数TNS_ADMINを設定します。たとえば、UNIXで、/home/user1内にあるtnsnames.oraファイルによってネット・サービス名MYDB2が定義されている場合は、次のように設定します。

TNS_ADMIN=/home/user1
export TNS_ADMIN
sqlldr hr@MYDB2

TNS_ADMINが設定されていない場合は、オペレーティング・システム依存のディレクトリ内でtnsnames.oraが検索されます。この検索パスにはnetwork/admin/tnsnames.oraも含まれ、ORACLE_HOME環境変数で指定されているディレクトリも検索されます。環境変数ORACLE_HOMEは、このためにのみ、SQL*Loader Instant Clientに設定します。Instant Clientアプリケーションの実行時にORACLE_HOMEを設定する場合は、既存のディレクトリに設定する必要があります。

この例は、環境変数ORACLE_HOMEが設定されていて、$ORACLE_HOME/network/admin/tnsnames.oraまたはORACLE_HOME\network\admin\tnsnames.oraファイルによってネット・サービス名MYDB3が定義されていることを前提としています。

sqlldr hr@MYDB3

環境変数TWO_TASK (UNIXの場合)またはLOCAL (Windowsの場合)には接続識別子を設定できます。これによって、SQL*LoaderまたはSQL*Loader Instant Clientで接続が行われるたびに接続識別子を明示的に入力する必要がなくなります。このUNIXの例では、MYDB4という名前のデータベースに接続します。

TNS_ADMIN=/home/user1
export TNS_ADMIN
TWO_TASK=MYDB4
export TWO_TASK
sqlldr hr

Windowsでは、TNS_ADMINおよびLOCALは、システム・プロパティで設定できます。

B.7 Instant Clientのアンインストール

ツールInstant Clientパッケージは、OCI Instant Clientとは別に削除できます。

ツールInstant Clientパッケージをアンインストールした後も、残されたOCI Instant Clientライブラリによって、カスタム作成されたOCIプログラムまたはサード・パーティのデータベース・ユーティリティでデータベースに接続できます。

ツールInstant Clientのアンインストール

  1. LinuxでのRPMパッケージからのインストールの場合は、ツールInstant Clientパッケージに対してのみrpm -eを使用します。

    または

    UNIXおよびWindowsでのインストールの場合、およびLinuxでのClientリリース・メディアからのインストールの場合は、ツールInstant Clientに固有のすべてのファイルを手動で削除します。削除するファイルは、インストール時に指定したInstant Clientディレクトリにあります。Oracleホームのファイルは削除しないでください。

    環境変数を再設定し、必要に応じてtnsnames.oraを削除します。

Instant Clientの完全なアンインストール

  1. LinuxでのRPMパッケージからのインストールの場合は、rpm -qaを使用してツールInstant Clientおよび基本OCIパッケージの名前を検索し、rpm -eを実行してそれらを削除します。

    OR

    UNIXおよびWindowsでのインストールの場合、およびLinuxでのClientリリース・メディアからのインストールの場合は、Tools実行可能ファイルおよびOracleライブラリを含むディレクトリを手動で削除します。

  2. PATHLD_LIBRARY_PATHTNS_ADMINなどの環境変数をリセットします。

  3. 必要に応じて、tnsnames.oraを削除します。