日本語PDF

6 JDBC OCIドライバ固有の機能

この章では、Java Database Connectivity(JDBC)Oracle Call Interface(OCI)ドライバ固有の機能について説明します。OCI Instant Clientについても説明します。この章の構成は、次のとおりです。

6.1 OCI接続プーリング

OCI接続プーリング機能は、オラクル社設計の拡張機能です。JDBC OCIドライバで提供される接続プーリングによって、アプリケーションは少数の物理接続を使用して、複数の論理接続を保持できます。この論理接続でのコールは、指定された時間に使用可能な物理接続にルーティングされます。

6.2 透過的アプリケーション・フェイルオーバー

JDBC OCIドライバの透過的アプリケーション・フェイルオーバー機能を使用すると、接続先のデータベース・インスタンスがダウンした場合でも、データベースに自動的に再接続できます。別のノードで作成されても、新しいデータベース接続は元の接続とまったく同じです。

6.3 OCIネイティブXA

JDBC OCIには、ネイティブXAと呼ばれる機能も用意されています。この機能により、ネイティブAPIを使用してXAコマンドを送信できます。非ネイティブAPIと比較して、ネイティブAPIを使用するほうが、高いパフォーマンスを達成できます。

関連トピック

6.4 OCI Instant Client

6.4.1 Instant Clientの概要

Instant Clientは、Oracleホームの必要性がなくなり、OCI、Oracle C++ Call Interface(OCCI)、Open Database Connectivity(ODBC)およびJDBC-OCIベースのカスタマ・アプリケーションのデプロイが非常に簡単になるようにパッケージ化されています。Instant Clientを使用するJDBC OCIアプリケーションに必要な記憶域の容量は、クライアント側に完全にインストールして実行するアプリケーションに比べて少なくなります。Instant Clientの共有ライブラリに使用されるディスク領域は、クライアント側に完全にインストールした場合の約1/4です。

6.4.2 OCI Instant Client共有ライブラリ

JDBC OCIアプリケーションのデプロイに必要なOracleのクライアント側ファイルが必要です。この表に記載されているライブラリ名はOracle Databaseリリース19cに対応しています。ライブラリ名の数字の部分は、リリースに応じて将来変更されます。

表6-1 OCI Instant Client共有ライブラリ

LinuxシステムとUNIXシステム LinuxシステムとUNIXシステムの場合の説明 Microsoft Windows Microsoft Windowsでの説明

libclntsh.so.19.1

libclntshcore.so.19.1<a id="fn_1" name="fn_1" href="#fn_1" onclick='footdisplay(1, " Beginning with Oracle Database 12c Release 1, the libclntshcore.so.<release number> library is separated from the libclntsh.so.脚注 1

クライアント・コード・ライブラリ

oci.dll

アプリケーションがリンクする転送機能

libociei.so脚注2

OCI Instant Clientデータの共有ライブラリ

oraociei19.dll

データとコード

libnnz19.so

セキュリティ・ライブラリ

orannzsbb19.dll

セキュリティ・ライブラリ

libocijdbc19.so

OCI Instant Client JDBCライブラリ

ocijdbc19.dll

OCI Instant Client JDBCライブラリ

すべてのJDBC Javaアーカイブ(JAR)ファイル

関連項目: 環境変数の確認

すべてのJDBC JARファイル

関連項目: 環境変数の確認

脚注1

Oracle Database 12cリリース1以降、libclntshcore.so.<release number>ライブラリは、libclntsh.so.<release number>ライブラリおよびデータ共有ライブラリとは別個になっています。

脚注2

libclntsh.so.19.1ライブラリ、libclntshcore.so.19.1ライブラリおよびlibociei.soライブラリは、インスタント・クライアント・モードで動作するために同じディレクトリ内に存在する必要があります。

ノート:

ネイティブXA機能を提供するには、JDBC XAクラス・ライブラリをコピーする必要があります。UNIXシステムでは、このライブラリlibheteroxa19.soORACLE_HOME/jdbc/libディレクトリに格納されています。Microsoft Windowsでは、このライブラリheteroxa19.dllORACLE_HOME\binディレクトリに格納されています。

6.4.3 Instant Clientの利点

Instant Clientには次のような利点があります。

  • インストール時にコピーされるファイルの数がそれほど多くありません。

  • Oracleのクライアント側で必要なファイルの数と合計ディスク領域が大幅に減少します。

  • Instant Clientでデプロイされたアプリケーションでは、機能またはパフォーマンスに損失がありません。

  • 独立したソフトウェア・ベンダーは、アプリケーションを簡単にパッケージ化できます。

6.4.4 JDBC OCI Instant Clientのインストール手順

Instant Clientライブラリは、Oracle Universal InstallerでInstant Clientオプションを選択するとインストールできます。Oracle Technology NetworkのWebサイトからダウンロードすることもできます。インストールの手順は、次のとおりです。

  1. Instant Client共有ライブラリおよびOracle JDBCクラス・ライブラリをダウンロードし、instantclientなどのディレクトリにインストールします。

  2. ライブラリ・パスの環境変数を、ステップ1のディレクトリに設定します。たとえば、UNIXシステムでは、LD_LIBRARY_PATH環境変数をinstantclientに設定します。Microsoft Windowsでは、PATH環境変数をinstantclientディレクトリに設定します。

  3. CLASSPATH環境変数に、JDBCクラス・ライブラリの完全パス名を追加します。

これらのステップを完了した後、JDBC OCIアプリケーションを実行する準備が整いました。

Instant Clientを使用する場合、JDBC OCIアプリケーションはOCIおよびJDBC共有ライブラリにライブラリ・パス環境変数を介してアクセスできます。この場合、ORACLE_HOMEへの依存性はなく、ORACLE_HOMEに用意されている他のコードおよびデータファイルは、tnsnames.oraファイルを除いて、JDBC OCIには不要です。

Instant Clientは、Oracle Universal InstallerでInstant Clientオプションを選択するとインストールできます。Instant Clientファイルは、必ず空のディレクトリにインストールしてください。Instant Clientを使用するには、OTNのインストールと同じように、LD_LIBRARY_PATH環境変数をInstant Clientディレクトリに設定する必要があります。

管理者オプションを選択して完全なクライアント・インストールを実行した場合は、Instant Client共有ライブラリもインストールされます。完全なクライアント・インストールでは、Instant Client共有ライブラリおよびJDBCクラスは次の場所に格納されます。

LinuxシステムまたはUNIXシステムの場合:

  • libociei.soライブラリは、$ORACLE_HOME/instantclientにあります。

  • libclnstsh.so.18.1libocijdbc18.soおよびlibnnz18.soは、$ORACLE_HOME/libに格納されます。

  • JDBCクラス・ライブラリは、$ORACLE_HOME/jdbc/libに格納されます。

Microsoft Windowsの場合:

  • oraociei18.dllライブラリは、ORACLE_HOME\instantclientにあります。

  • oci.dllocijdbc18.dllおよびorannzsbb18.dllは、ORACLE_HOME\binに格納されます。

  • JDBCクラス・ライブラリはORACLE_HOME\jdbc\libに格納されます。

これらのファイルを別のディレクトリにコピーし、そのディレクトリにライブラリ・パスを設定し、JDBCクラス・ライブラリのパス名をCLASSPATH環境変数に追加すると、Instant Clientを使用するJDBC OCIアプリケーションを実行できます。

ノート:

  • ネイティブXA機能を提供するには、JDBC XAクラス・ライブラリをコピーする必要があります。UNIXでは、このライブラリlibheteroxa18.soORACLE_HOME/jdbc/libに格納されます。Windowsでは、このライブラリheteroxa18.dllORACLE_HOME\binに格納されます。

  • すべてのライブラリは、同じORACLE_HOMEからコピーし、同じディレクトリに格納する必要があります。

  • Sparc64などのハイブリッド・プラットフォームでは、JDBC OCIドライバでInstant Clientライブラリを使用する必要がある場合、libociei.soライブラリをORACLE_HOME/instantclient32ディレクトリからコピーする必要があります。JDBC OCI Instant Clientに必要なその他すべてのSparc64ライブラリは、ORACLE_HOME/lib32ディレクトリからコピーしてください。

  • ライブラリ・パス環境変数で、Oracleライブラリのセットを1つのみ指定する必要があります。つまり、複数のディレクトリにInstant Clientライブラリが含まれている場合、ライブラリ・パス環境変数で、該当するディレクトリを1つのみ指定します。

  • コンピュータ上でOracleホームを使用している場合、ライブラリ・パス環境変数での指定順序に関係なく、ライブラリ・パス環境変数でORACLE_HOME/libとInstant Clientディレクトリを同時に使用しないでください。つまり、ライブラリ・パス環境変数で、ORACLE_HOME/libディレクトリ(Instant Client以外で動作している場合)またはInstant Clientディレクトリ(Instant Clientで動作している場合)のいずれか一方のみを指定します。

  • Instant Clientは、Oracle Technology Network(OTN)からダウンロードすることをお薦めします。

    https://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index.html

6.4.5 Instant Clientの使用

Instant Clientはデプロイメント用の機能であるため、本番アプリケーションの実行に使用します。デプロイメントでは、デモ用のプログラムなどにアクセスできるようにするために、完全インストールが必要です。一般的に、Instant Clientがクライアント側動作専用でないかぎり、Instant Clientを使用するアプリケーションではすべてのJDBC OCI機能を使用できます。したがって、サーバー側の外部プロシージャは、Instant Clientを使用できません。

6.4.6 Instant Client共有ライブラリのパッチについて

Instant Clientはデプロイメント用の機能であるため、JDBC OCIアプリケーションの実行に必要なファイルの数とサイズの減少に重点が置かれています。したがって、Instant Client共有ライブラリのパッチに必要なすべてのファイルがInstant Clientのデプロイ時に揃っているわけではありません。Instant Client共有ライブラリのパッチには、ORACLE_HOMEベースの完全クライアント・インストールが必要です。opatchユーティリティを使用して、Instant Client共有ライブラリにパッチを適用します。

ノート:

Microsoft Windows上では、共有ライブラリにパッチを当てることはできません

ORACLE_HOME環境でパッチを適用した後で、表6-1に示されているファイルを、インスタント・クライアント・ディレクトリにコピーします。

個々のファイルをコピーするかわりに、OCI、OCCI、JDBCおよびSQL*PlusのInstant Client ZIPファイルを生成できます。次に、ZIPファイルをターゲット・コンピュータにコピーして解凍できます。

opatchユーティリティは、libclnstsh.so.18.1ORACLE_HOMEインストールのパッチ情報を格納します。この情報を取り出すには、次のコマンドを使用します。

genezi -v

Instant Clientのデプロイ元のコンピュータにgeneziユーティリティが装備されていない場合、ORACLE_HOMEインストールが装備されたコンピュータ上のORACLE_HOME/binディレクトリからコピーする必要があります。

6.4.7 データ共有ライブラリとZIPファイルの再生成

ORACLE_HOMEを管理者オプションでインストールした場合は、次のステップを実行して、OCI Instant Clientデータ共有ライブラリ(libociei.so)を再生成できます。

mkdir -p $ORACLE_HOME/rdbms/install/instantclient/light
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk ilibociei

ORACLE_HOME内の現行ファイルに基づく新しいバージョンのlibociei.soデータ共有ライブラリが、ORACLE_HOME/rdbms/install/instantclientディレクトリに配置されます。

再生成されたデータ共有ライブラリlibociei.soの場所は、元のデータ共有ライブラリlibociei.soの場所と異なることに注視してください。これはORACLE_HOME/instantclientディレクトリにあります。前述のステップで、OCI、OCCI、JDBCおよびSQL*Plus用のInstant Client ZIPファイルも生成されます。

Microsoft Windowsプラットフォームでは、データ共有ライブラリとZIPファイルを再生成することはできません。

6.4.8 OCI Instant Client用のデータベース接続名

tnsnames.orasqlnet.oraなどの構成ファイルの格納先としてORACLE_HOMEまたはTNS_ADMIN環境変数を使用しないOracle Netネーミング・メソッドは、すべてInstant Clientを使用します。特に、接続文字列は次のような形式で指定できます。

  • 次のようなThin形式の接続文字列の場合:

    host:port:service_name
    

    たとえば:

    url="jdbc:oracle:oci:@example.com:5521:orcl"
    
  • 次のようなSQL接続URL文字列の場合:

    //host:[port][/service_name]
    

    たとえば:

    url="jdbc:oracle:oci:@//example.com:5521/orcl"
    
  • Oracle Netのキーワード値ペア。たとえば:

    url="jdbc:oracle:oci:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) 
      (HOST=localhost) (PORT=5521))
      (CONNECT_DATA=(SERVICE_NAME=orcl)))"
    

構成ファイルの格納先としてTNS_ADMINが必要なネーミング・メソッドをそのまま使用するには、TNS_ADMIN環境変数を設定します。

関連項目:

接続フォーマットの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください

TNS_ADMIN環境変数を設定せずに、inst1などのTNSNAMESエントリを使用する場合は、ORACLE_HOME環境変数を設定し、構成ファイルを$ORACLE_HOME/network/admin ディレクトリに格納する必要があります。

ノート:

この場合、ORACLE_HOME環境変数は、Oracle Net構成ファイルの格納先としてのみ使用されます。それ以外のクライアント・コード・ライブラリのコンポーネントでは、ORACLE_HOME環境変数の値は使用されません。

空の接続文字列は、サポートされません。ただし、空の接続文字列の使用に代わる方法として、tnsnames.oraエントリまたはOracle Netキーワード値ペアに対して、UNIXシステム上ではTWO_TASK環境変数を、Microsoft Windows上ではLOCAL変数を設定する方法があります。TWO_TASKまたはLOCALtnsnames.oraエントリに設定されている場合、TNS_ADMINまたはORACLE_HOME設定によってtnsnames.oraファイルをロードする必要があります。

データベース・サーバー上のlistener.oraファイルに次の情報が格納されているとします。

LISTENER = (ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=server6)(PORT=5221)))

SID_LIST_LISTENER = (SID_LIST=
                     (SID_DESC=(SID_NAME=rdbms3)
                     (GLOBAL_DBNAME=rdbms3.server6.com)
                     (ORACLE_HOME=/home/dba/rdbms3/oracle)))

このサーバーには、次のいずれかの方法で接続できます。

url = "jdbc:oracle:oci:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)
                     (HOST=server6)(PORT=5221))
                     (CONNECT_DATA=(SERVICE_NAME=rdbms3.server6.com)))"

または

url = "jdbc:oracle:oci:@//server6:5221/rdbms3.server6.com"

または、TWO_TASK環境変数を任意の接続文字列に設定すれば、sqlplusコマンドとともに接続文字列を指定しなくても、データベース・サーバーに接続できます。たとえば、次の方法のいずれかを使用してTWO_TASK環境変数を設定します。

setenv TWO_TASK "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=server6)(PORT=5221))
                 (CONNECT_DATA=(SERVICE_NAME=rdbms3.server6.com)))"

または

setenv TWO_TASK //server6:5221/rdbms3.server6.com

これで、次のURLを使用すると、データベース・サーバーに接続できます。

url = "jdbc:oracle:oci:@"

接続文字列は、tnsnames.oraファイルに格納できます。たとえば、tnsnames.oraファイルに次の情報が格納されているとします。

conn_str = (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=server6)(PORT=5221))
                (CONNECT_DATA=(SERVICE_NAME=rdbms3.server6.com)))

このtnsnames.oraファイルが/home/webuser/instantclientディレクトリに配置されている場合、次のように、TNS_ADMIN環境変数(または、Microsoft WindowsではLOCAL)を設定できます。

setenv TNS_ADMIN /home/webuser/instantclient

これで、次のように接続できます。

url = "jdbc:oracle:oci:@conn_str"

ノート:

TNS_ADMIN環境変数では、tnsnames.oraファイルが配置されているディレクトリを指定します。ただし、TNS_ADMINでは、tnsnames.oraファイルのフルパスを指定するのではなく、ディレクトリを指定します。

このtnsnames.oraファイルが、Oracleホームの/network/server6/home/dba/oracle/network/adminディレクトリに配置されている場合、TNS_ADMINを使用してtnsnames.oraファイルを配置するかわりに、次のようにORACLE_HOME環境変数を使用できます。

setenv ORACLE_HOME /network/server6/home/dba/oracle

これで、先に指定したように、接続文字列conn_strのいずれかを使用して接続できます。

TNS_ADMINまたはORACLE_HOMEによってtnsnames.oraを特定できる場合、TWO_TASKは次のように設定できます。

setenv TWO_TASK conn_str

次のURLで接続できます。

url = "jdbc:oracle:oci:@"

6.4.9 OCI Instant Clientの環境変数

ORACLE_HOME環境変数は、NLS、COREおよびエラー・メッセージ・ファイルの位置を決定するものではなくなりました。OCIのみのアプリケーションでは、ORACLE_HOME環境変数を設定する必要はありません。ただし、変数が設定されていても、OCIドライバの動作に影響はありません。OCIドライバは、常にデータ共有ライブラリからドライバのデータを入手します。データ共有ライブラリが利用できない場合のみ、ORACLE_HOME環境変数が使用され、フル・クライアント・インストールとみなされます。ORACLE_HOME環境変数は設定不要ですが、設定する場合は、ディレクトリを識別する有効なオペレーティング・システム・パス名に設定する必要があります。

Instant Clientの使用中、環境変数ORA_NLS10およびORA_NLSPROFILES33は無視されます。

ORA_TZFILE変数が設定されていない場合、Instant Clientでは、デフォルト設定のサイズの大きいtimezlrg_n.datファイルがデータ共有ライブラリから使用されます。データ共有ライブラリのより小さいtimezone_n.datファイルが使用される場合は、絶対パス名または相対パス名を使用せずに、ORA_TZFILE環境変数をファイルの名前に設定します。つまり、次のように設定します。

UNIXシステムの場合:

setenv ORA_TZFILE timezone_n.dat

Microsoft Windowsの場合:

set ORA_TZFILE timezone_n.dat

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

OCIドライバがデータ共有ライブラリを利用できないためにInstant Clientを使用していない場合、ORA_TZFILE変数を設定する際は、以前のOracle Databaseのリリースのときと同様に完全パス名を指定します。

TNSNAMESのエントリを使用する場合は、前述のように、TNS_ADMINディレクトリにTNSNAMES構成ファイルを格納する必要があります。TNS_ADMINを設定しない場合は、ORACLE_HOME/network/adminディレクトリにOracle Net Services構成ファイルを格納する必要があります。

6.5 Instant Client Light (English)について

Instant Clientの軽量バージョンは、Instant Client Light(English)と呼ばれます。Instant Client Lightは、短いファイル名です。Instant Client Lightは、Instant Clientを大幅に小さくしたバージョンです。クライアント・インストールのディスク空き容量要件は、約63MB少なくてすみます。これは、サイズが4MBの軽量データ共有ライブラリ(UNIXシステムの場合libociicus.so)によるもので、これはサイズが67MBのデータ共有ライブラリlibociei.soのサブセットです。

この軽量データ共有ライブラリは、少数の文字セットとエラー・メッセージを英語のみでサポートしています。そのため、Instant Client Light(English)という名前が付いています。Instant Client Lightは、英語のエラー・メッセージのみを必要とし、US7ASCIIかWE8DEC、またはUnicode文字セットの1つを使用するアプリケーションに対応して設計されています。

この項の内容は次のとおりです。

6.5.1 Instant Client Light (English)のデータ共有ライブラリ

表6-2では、様々なプラットフォームにおけるInstant ClientとInstant Client Light(English)用のデータ共有ライブラリ名を示しています。この表では、各データ共有ライブラリのサイズもライブラリ・ファイル名に続くカッコ内に記載しています。

表6-2 Instant ClientとInstant Client Light(English)用のデータ共有ライブラリ

プラットフォーム Instant Client Instant Client Light(English)

Solaris

libociei.so (67 MB)

libociicus.so (4 MB)

Linux

libociei.so (67 MB)

libociicus.so (4 MB)

Microsoft Windows

oraociei19.dll (85 MB)

oraociicus19.dll (15 MB)

6.5.2 グローバリゼーション設定

NLS_LANG設定は、言語、地域および文字セットを、language_territory.charactersetとして指定します。Instant Client Lightでは、languageAmericanのみ、territoryはサポートされる任意の値、charactersetは次のいずれかです。

  • シングルバイト

    • US7ASCII

    • WE8DEC

    • WE8MSWIN1252

    • WE8ISO8859P1

  • Unicode

    • UTF8

    • AL16UTF16

    • AL32UTF8

クライアントやサーバーの文字セットとしてあげられている以外の文字セットまたは各国語文字セットを指定したり、クライアントのNLS_LANGに言語を設定したりすると、次のエラーが発生します。

  • ORA-12734

  • ORA-12735

  • ORA-12736

  • ORA-12737

Instant Client Lightでは、エラー・メッセージは英語でのみ出力されます。したがって、NLS_LANG設定に有効な値は、次のようになります。

American_territory.characterset

territoryにはサポートされる有効な地域を、charactersetには前述のいずれかの文字セットを指定できます。

Instant Client Lightは、OCI_UTF16モードで作成されたOCI環境ハンドルを使用して動作します。

関連項目:

NLS設定の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください

6.5.3 操作

Instant Client Lightを使用するには、アプリケーションで、UNIXシステムの場合はLD_LIBARARY_PATH環境変数を、Microsoft Windowsの場合はPATH環境変数を、クライアントおよびデータ共有ライブラリが格納されている場所に設定する必要があります。OCIアプリケーションは、デフォルトでOCIデータ共有ライブラリ、つまりUNIXシステムではLD_LIBRARY_PATH環境変数のlibociei.soを、Microsoft WindowsではPATH環境変数のoraociei18.dllデータ共有ライブラリを検索して、アプリケーションがInstant Clientを使用するかどうかを判断します。このライブラリが見つからない場合、OCIは、Instant Client Lightのデータ共有ライブラリ、つまりUNIXシステムではlibociicus.so、Microsoft Windowsではlibociicus18.dllをロードしようとします。このライブラリが見つかった場合、アプリケーションはInstant Client Lightを使用します。このライブラリが見つからない場合は、Instant Client以外を使用します。

6.5.4 Instant Client Light (English)のインストール

Instant Client Lightは、次のいずれかの方法でインストールできます。

  • OTNから

    次のサイトから必要なファイルをダウンロードできます。

    https://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index.html

    Instant Client Lightの場合は、Basicパッケージをダウンロードして展開するかわりに、Basic Lightパッケージをダウンロードして解凍します。解凍する前に、軽量ライブラリを解凍するディレクトリを空にしてください。

  • クライアントの完全(Adminオプション)インストールから

    libociei.soまたはoraociei18.dllORACLE_HOME/instantclientディレクトリからコピーするかわりに、libociicus.soまたはoraociic18.dllORACLE_HOME/instantclient/lightディレクトリからコピーします。つまり、UNIXシステムの場合、LD_LIBRARY_PATH環境変数のInstant Clientディレクトリに、大規模なOCI Instant Clientのデータ共有ライブラリlibociei.soではなく、Instant Client Lightのデータ共有ライブラリlibociicus.soを格納してください。Microsoft Windowsの場合、PATH環境変数にはoraociei18.dllではなくoraociicus18.dllを指定する必要があります。

  • Oracle Universal Installerから

    Oracle Universal InstallerでInstant Clientオプションを選択すると、libociei.so (Microsoft Windowsの場合はoraociei18.dll)が、インストールのベース・ディレクトリにインストールされ、LD_LIBRARY_PATH環境変数には、このディレクトリが指定されます。このため、Instant Client Lightはデフォルトでは使用できません。Instant Client Lightのデータ共有ライブラリlibociicus.so (Microsoft Windowsの場合はoraociicus18.dll)は、ベース・ディレクトリのlightサブディレクトリにインストールされます。したがって、Instant Client Lightを使用するには、OCIデータ共有ライブラリのlibociei.so (Windowsではoraociei18.dll)を削除するか、名前を変更し、Instant Client Lightのデータ共有ライブラリを、インストールのlightサブディレクトリからベース・ディレクトリにコピーする必要があります。

    たとえば、Oracle Universal InstallerによってLD_LIBRARY_PATH環境変数のmy_oraic_18_1ディレクトリにInstant Clientをインストールした場合、Instant Client Lightを使用するには、次のコマンドを実行する必要があります。

    cd my_oraic_18_1
    rm libociei.so
    mv light/libociicus.so .
    

    ノート:

    Instant Clientファイルは、必ず空のディレクトリにコピーまたはインストールしてください。これは、インストール時に互換性のないバイナリが存在しないようにするためです。