D SQL*Plus Instant Client

SQL*Plus Instant Clientは、SQL*Plusのコマンドラインのすべての機能を備えたスタンドアロン製品です。既存のRemote Oracle Databaseに接続しますが、独自のデータベースはありません。簡単にインストールでき、SQL*Plusコマンドラインの使用に必要なOracle Database Clientの完全なインストールと比較すると、非常に少ないディスク領域を使用します。

SQL*Plus Instant Clientは、OCI Instant Clientがサポートされているプラットフォームで使用できます。OCI Instant Clientの詳細は、「About OCI Instant Clientについて」を参照してください。

SQL*Plus Instant Clientをインストールするには、次の2つのパッケージが必要です。

  • SQL*Plus Instant Clientパッケージ

  • 基本OCI Instant Clientパッケージまたは軽量OCI Instant Clientパッケージ

D.1 インストールするSQL*Plus Instant Clientの選択について

SQL*Plus Instant Clientは、次の2つの方法でインストールできます。

  • Oracle Technology Network(OTN)からパッケージをダウンロードする方法

  • Oracle Database 21c Client Administratorインストールのパッケージ内にある同じファイルをコピーする方法

SQL*PlusおよびOCIのパッケージの両方が、Oracle Databaseの同じバージョンからである必要があります。

D.1.1 基本Instant Client

基本OCIパッケージを使用するSQL*Plus Instant Clientは、Oracle DatabaseでサポートされているNLS_LANG設定で動作します。Oracle Databaseで使用可能なすべての文字セットおよび言語設定をサポートしています。

D.1.2 軽量Instant Client

量OCIパッケージを使用するSQL*Plus Instant Clientは、英語でのみエラー・メッセージを表示し、特定の文字セットのみをサポートしています。基本OCIパッケージを使用するSQL*Plus Instant Clientより大幅に小さくなります。

軽量Instant ClientでのNLS_LANGのパラメータに有効な値は、次のとおりです。

  • languageは、Oracle Databaseでサポートされている任意の有効な言語にできます。ただし、エラー・メッセージは英語でのみ報告されます。

  • territoryは、Oracle Databaseでサポートされている任意の有効な地域にできます。

  • charsetは、次の文字セットのいずれかにします。

    • US7ASCII

    • WE8DEC

    • WE8MSWIN1252

    • WE8ISO8859P1

    • UTF8

    • AL16UTF16

    • AL32UTF8

たとえば:

NLS_LANG=AMERICAN_AMERICA.UTF8

NLS設定の詳細は、「グローバリゼーションのサポート環境の設定」および「環境変数NLS_LANG」を参照してください。

D.1.2.1 サポートされていない文字セットによる軽量SQL*Plus Instant Clientエラー

サポートされていない文字セットでSQL*Plus Instant Clientを起動しようとすると、失敗し、次のエラーが戻されます。

Error 5 initializing SQL*Plus
NLS initialization error

D.2 SQL*Plus Instant Clientに必要なファイルのリスト

この項では、基本パッケージと軽量パッケージの両方のSQL*Plus Instant Clientのインストールに必要なファイルを示します。

OCIパッケージ(基本または軽量)のいずれかのファイルのみが必要です。インストールされるその他のファイルで、この項のリストに含まれていないファイルは無視するか、ディスク領域を節約するために削除できます。

表D-1 SQL*Plusパッケージ内のInstant Clientファイル

LinuxおよびUNIX Windows 説明

sqlplus

sqlplus.exe

SQL*Plus実行可能ファイル

libsqlplus.so

該当なし

SQL*Plusライブラリ

libsqlplusic.so

orasqlplusic21.dll

SQL*Plusデータ共有ライブラリ

表D-2 基本OCIパッケージ内のInstant Clientファイル

LinuxおよびUNIX Windows 説明

libclntsh.so.21.1

oci.dll

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

libclntshcore.so

該当なし

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

libociei.so

oraociei21.dll

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

libnnz21.so

orannzsbb21.dll

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

libons.so

oraons.dll

ONSライブラリ

表D-3 軽量OCIパッケージ内のInstant Clientファイル

LinuxおよびUNIX Windows 説明

libclntsh.so.21.1

oci.dll

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

libociicus.so

oraociicus21.dll

OCI Instant Clientデータ共有ライブラリ(英語のみ)

libnnz21.so

orannzsbb21.dll

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

D.3 OTNからのインストール・ファイルのダウンロードによるSQL*Plus Instant Clientのインストール

この項では、Linux用のOTN RPMパッケージとUNIXおよびWindows用のOTNダウンロード可能なzipファイルからSQL*Plus Instant Clientをインストールする方法について説明します。

SQL*Plus Instant Clientパッケージは、ORACLE_HOMEにインストールしないでください。

  1. SQL*Plus Instant Clientパッケージを含むRPMパッケージおよびOCIパッケージをOTN Instant Clientページからダウンロードします。パッケージはいずれも、同じバージョンである必要があります。
  2. RPMパッケージを初期インストールするにはrpm -iコマンドを使用し、新しいバージョンのパッケージにアップグレードするにはrpm -uコマンドを使用します。
  3. SQL*Plus Instant Clientを構成します。
  1. SQL*Plus Instant Clientパッケージを含むzipファイルおよびOCIパッケージをOTN Instant Clientページからダウンロードします。パッケージはいずれも、同じバージョンである必要があります。
  2. 新規ディレクトリ(UNIXでは//home/instantclient20_2、Windowsではc:\instantclient20_2など)を作成します。
  3. 2つのパッケージを新規ディレクトリに解凍します。
  4. SQL*Plus Instant Clientを構成します。

D.4 21c Clientリリース・メディアからのSQL*Plus Instant Clientのインストール

この項では、Unix、LinuxおよびWindowsにSQL*Plus Instant Clientをインストールする方法について説明します。

  1. Oracle Database 21c Clientリリース・メディアでインストーラを実行し、管理者オプションを選択します。
  2. 新規ディレクトリ(UNIXおよびLinuxでは/home/instantclient_21_1、Windowsではc:\instantclient_21_1など)を作成します。
  3. SQL*Plus Instant ClientおよびOCI Instant Clientファイルを新規ディレクトリにコピーします。すべてのファイルを同じORACLE_HOMEからコピーする必要があります。
  4. SQL*Plus Instant Clientを構成します。

D.5 SQL*Plus Instant Clientの構成

SQL*Plus Instant Client実行可能ファイルは、一致するバージョンのOCI Instant Clientとのみ使用する必要があります。

ノート:

ORACLE_HOMEまたはORACLE_SID環境変数を設定する必要はありません。

ノート:

ORACLE_HOMEまたはORACLE_SID環境変数を設定する必要はありません。
OTNから/usrファイル・システム内のOracle固有のサブディレクトリにRPMをダウンロードする必要があります。サブディレクトリ構造によって、複数のバージョンのInstant Clientを使用できます。

ノート:

ORACLE_HOMEまたはORACLE_SID環境変数を設定する必要はありません。
  1. Instant Clientライブラリを含むディレクトリの名前をLD_LIBRARY_PATHに追加します。その他のOracleディレクトリは削除します。

    ノート:

    ORACLE_HOMEまたはORACLE_SID環境変数を設定する必要はありません。

    たとえば、次のコマンドを使用して、BourneシェルまたはKornシェルのSolarisでLD_LIBRARY_PATHを設定します。

    LD_LIBRARY_PATH=/usr/lib/oracle/21.1/client/lib:${LD_LIBRARY_PATH}
    export LD_LIBRARY_PATH
  2. RPMからインストールしたsqlplus実行可能ファイルがPATHの最初のエントリであることを確認します。テストするために、which sqlplusコマンドを入力します。これにより、/usr/bin/sqlplusが戻されます。この出力が表示されない場合は、他のOracleディレクトリをPATHから削除するか、PATHに存在する他のSQL*Plus実行可能ファイルの前に/usr/binを挿入するか、絶対パスまたは相対パスを使用してSQL*Plusを起動します。

    たとえば、次のコマンドを使用して、bashシェルでPATHを設定します。

    PATH=/usr/bin:${PATH}
    export PATH

    複数のバージョンのSQL*Plusをインストールする場合は、シンボリック・リンク/usr/bin/sqlplusを、LD_LIBRARY_PATH内のライブラリと一致するSQL*Plusのバージョンに変更する必要があります。リリース21.1の場合、/usr/bin/sqlplusは、/usr/lib/oracle/21.1/client/bin/sqlplusにあるSQL*Plusバイナリのシンボリック・リンクです。

  3. ロケールに必要なOracleグローバリゼーション変数を設定します。変数を設定しない場合は、デフォルトのロケールが指定されたものとみなされます。詳細は、「ロケール・データ 」を参照してください。

    たとえば:

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

    たとえば、BourneシェルまたはKornシェルのSolarisで次のコマンドを使用します。

    LD_LIBRARY_PATH=/home/instantclient_21_1:${LD_LIBRARY_PATH}
    export LD_LIBRARY_PATH
  2. Instant Clientファイルを含むディレクトリを環境変数PATHに追加します。設定されていない場合は、絶対パスまたは相対パスを使用してSQL*Plusを起動する必要があります。その他のOracleディレクトリはPATHから削除します。たとえば:
    PATH=/home/instantclient_21_1:${PATH}
    export PATH
  3. ロケールに必要なOracleグローバリゼーション変数を設定します。変数を設定しない場合は、デフォルトのロケールが指定されたものとみなされます。詳細は、「ロケール・データ 」を参照してください。たとえば:
    NLS_LANG=AMERICAN_AMERICA.UTF8
    export NLS_LANG

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

次のステップを実行します。

  1. Instant Clientファイルを含むディレクトリをシステム環境変数PATHに追加します。その他のOracleディレクトリはPATHから削除します。たとえば、PATHの先頭にc:\instantclient20_2を追加します。
  2. ロケールに必要なOracleグローバリゼーション変数を設定します。変数を設定しない場合は、デフォルトのロケールが指定されたものとみなされます。詳細は、「ロケール・データ 」を参照してください。たとえば、日本語環境用のNLS_LANGを設定するには、JAPANESE_JAPAN.JA16EUCに設定されたユーザー環境変数NLS_LANGを作成します。

    軽量Instant Clientをインストールした場合、サポートされているNLS_LANG設定の詳細は、軽量Instant Clientを参照してください。

D.6 SQL*Plus Instant Clientによるデータベースへの接続について

SQL*Plus Instant Clientは、すべてのデータベース・サーバーから常にリモートの状態になります。データベースに接続するには、Oracle Net接続識別子を使用して、データベースを指定する必要があります。

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

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

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

sqlplus hr/your_password@MYDB

ネット・サービス名は、LDAPなどの様々な場所に格納できます。Oracle Database 21cの新機能を利用するには、LDAPを使用することをお薦めします。詳細は、「tnsnames.oraファイルのローカル・ネーミング・パラメータ 」を参照してください。

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

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

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

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

sqlplus hr@MYDB3

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

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

Windowsでは、システム・プロパティで、TNS_ADMIN変数とLOCAL変数を設定できます。

D.7 SQL*Plus Instant ClientによるAS SYSDBAまたはAS SYSOPER接続

AS SYSDBAまたはAS SYSOPERで接続してDBAタスクを実行するには、orapwdユーティリティを使用して、データベース・サーバーにOracleパスワード・ファイルを設定する必要があります。

ユーティリティを構成すると、SQL*Plus Instant Clientの接続文字列は次のようになります。

sqlplus sys@MYDB AS SYSDBA

Oracleパスワード・ファイルの詳細は、「パスワード・ファイル認証の使用 」を参照してください。

D.8 Instant Clientのアンインストールについて

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

D.8.1 SQL*Plus Instant Clientのアンインストール

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

    または

    UNIXおよびWindowsでのインストールの場合、およびLinuxでのClientリリース・メディアからのインストールの場合は、次のSQL*Plus固有のファイルを手動で削除します。

    表D-4 SQL*Plusパッケージ内のInstant Clientファイル

    UNIX Windows 説明

    sqlplus

    sqlplus.exe

    SQL*Plus実行可能ファイル

    libsqlplus.so

    該当なし

    SQL*Plusライブラリ

    libsqlplusic.so

    orasqlplusic20.dll

    SQL*Plusデータ共有ライブラリ

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

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

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

    または

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

    ディレクトリにコピーしたファイルのリストは、「21c Clientリリース・メディアからのSQL*Plus Instant Clientのインストール」を参照してください。

  2. PATH、SQLPATH、LD_LIBRARY_PATH、TNS_ADMINなどの環境変数を再設定します。
  3. 必要に応じて、tnsnames.oraを削除します。