プライマリ・コンテンツに移動
SQL*Plus®ユーザーズ・ガイドおよびリファレンス
リリース1 (12.1)
B71396-03
目次へ移動
目次
索引へ移動
索引

前
次

SQL*Plusの構成

各セッションで同じ設定を使用するように、SQL*Plus環境を設定できます。

この設定には、次の2つのオペレーティング・システム・ファイルを使用します。

これらのファイルの正確な名前は、システムによって異なります。

注意:

サイト・プロファイル・ファイルとユーザー・プロファイル・ファイルは、SQLPLUSまたはCONNECTコマンドでOracle Databaseに正常に接続した後で、あるいは/NOLOGを指定したときに実行されます。ALTER SESSION SET CONTAINERを使用して別のPDBに切り替えると、サイト・プロファイル・ファイルとユーザー・プロファイル・ファイルは実行されません。

一部の権限での接続では、サイト・プロファイルまたはユーザー・プロファイルにSET SERVEROUTPUTまたはSET APPINFOコマンドが入力されていると、エラーが生成される場合があります。

次の表に、プロファイル・スクリプトを示し、コマンドライン・ユーザー・インタフェースに影響する一部のコマンドと設定を示します。

表2-2 SQL*Plusユーザー・インタフェースの設定に影響するプロファイル・スクリプト

スクリプトの内容 コマンドラインで実行されるタイミング

サイト・プロファイル(glogin.sql)

SQL*Plusスクリプトに含めることができる内容(システム変数設定やDBAが実装する他のグローバル設定など)はすべて含めることができます。

SQLPLUSコマンドまたはCONNECTコマンドからOracle Databaseへの正常な接続後

/NOLOGが指定された場合

ユーザー・プロファイル(login.sql)

SQL*Plusスクリプトに含めることができる内容はすべて含めることができます。ただし、設定はユーザー・セッションにのみ適用可能です。

サイト・プロファイルの直後

表2-3 SQL*Plusユーザー・インタフェースの設定に影響するプロファイル・スクリプトのコマンド

プロファイル・スクリプト内のコマンド コマンドラインに影響する操作

SET SQLPLUSCOMPAT[IBILITY] {x.y[.z]}

SQL*Plus互換性マトリックス」を参照。

DBAがこのサイトで希望する動作を実現するために、SQL*Plusの互換モードを設定した場合

SQLPLUSコマンド COMPATIBILITYオプション

SET SQLPLUSCOMPATIBILITYコマンドが実行された場合(SQLPLUSコマンドのCOMPATIBILITYオプション付きで設定された場合以外)

SQLPLUSコマンド RESTRICTオプション

RESTRICTオプションを3に設定してSQL*Plusを起動すると、ユーザー・プロファイル・スクリプトが読み取られません。

サイト・プロファイル

サイト・プロファイル・スクリプトは、インストール中に作成されます。これは、SQL*Plusコマンドライン接続に対するサイト全体の動作を構成するために、データベース管理者が使用します。インストール中にインストールされたサイト・プロファイル・スクリプトは、空のスクリプトです。

サイト・プロファイル・スクリプトは、通常、glogin.sqlという名前です。ユーザーが、SQL*Plusセッションを開始し、Oracle Databaseとの接続が正常に確立されるたびに、SQL*Plusはこのスクリプトを実行します。

サイト・プロファイルを使用すると、DBAは、特定のSQL*Plusをインストールするすべてのユーザーに対して、サイト全体にわたるSQL*Plus環境のデフォルト値を設定できます。

ユーザーはサイト・プロファイルに直接アクセスできません。

デフォルトのサイト・プロファイル・スクリプト

サイト・プロファイル・スクリプトは、UNIXでは$ORACLE_HOME/sqlplus/admin/glogin.sql、WindowsではORACLE_HOME\sqlplus\admin\glogin.sqlにあります。この場所にすでにサイト・プロファイルが存在する場合は、SQL*Plusインストール時に上書きされます。SQL*Plusが削除されると、サイト・プロファイル・スクリプトも削除されます。

ユーザー・プロファイル

SQL*Plusのコマンドライン接続の場合、SQL*Plusはユーザー・プロファイル・スクリプトもサポートします。ユーザー・プロファイルは、サイト・プロファイルの後に実行され、ユーザー・セッションの特別なカスタマイズを可能にします。ユーザー・プロファイル・スクリプトは、通常、login.sqlという名前です。SQL*Plusでは、カレント・ディレクトリのユーザー・プロファイル、次に、環境変数SQLPATHで指定されたディレクトリが検索されます。SQL*Plusでは、このコロンで区切られたディレクトリとそれらのサブディレクトリのリストが検索される際、ディレクトリとサブディレクトリがリストされている順で検索されます。

すべてのSQLコマンド、PL/SQLブロックまたはSQL*Plusコマンドをユーザー・プロファイルに追加できます。SQL*Plusを起動すると、自動的にユーザー・プロファイルが検索され、ユーザー・プロファイル内のコマンドが実行されます。

LOGINファイルの変更

LOGINファイルは、他のすべてのスクリプトと同様に、変更が可能です。次のユーザー・プロファイル・スクリプトの例に、ユーザーが追加できる変更の一部を示します。

--   login.sql
--   SQL*Plus user login startup file.
--
--   This script is automatically run after glogin.sql
--
-- To change the SQL*Plus prompt to display the current user,
-- connection identifier and current time.
-- First set the database date format to show the time.
ALTER SESSION SET nls_date_format = 'HH:MI:SS';

-- SET the SQLPROMPT to include the _USER, _CONNECT_IDENTIFIER
-- and _DATE variables.
SET SQLPROMPT "_USER'@'_CONNECT_IDENTIFIER _DATE> "

-- To set the number of lines to display in a report page to 24.
SET PAGESIZE 24

-- To set the number of characters to display on each report line to 78.
SET LINESIZE 78

-- To set the number format used in a report to $99,999.
SET NUMFORMAT $99,999

関連項目:

  • SQL*PlusのLOGINファイルに設定できる各種のSETコマンド変数の詳細は、「SET」コマンドを参照してください。

  • 事前定義変数の詳細は、「事前定義変数の使用について」を参照してください。

SQL*Plusシステム変数の格納およびリストア

STOREコマンドを使用すると、コマンドラインから、現行のSQL*Plusのシステム変数をスクリプトに格納できます。変数を変更した場合は、このスクリプトを実行して元の値に戻すことができます。この機能は、システム変数を変更するレポートを実行した後でシステム変数の値をリセットする場合に便利です。また、SQL*Plusを起動するたびにこれらのシステム変数が設定されるように、このスクリプトをユーザー・プロファイル・スクリプトに含めることもできます。

すべてのシステム変数の現行の設定を格納するには、次のように入力します。

STORE SET file_name

ファイル名とファイル拡張子を入力するか、またはデフォルトの拡張子.SQLを使用する場合は、ファイル名のみを入力します。SET SUF[FIX] {SQL | text}コマンドを使用して、デフォルトのファイル拡張子を変更することもできます。

システム変数のリストア

格納済のシステム変数をリストアするには、次のように入力します。

START file_name

ファイルの拡張子がデフォルト(SET SUF[FIX] {SQL | text}コマンドで指定したもの)の場合は、ファイル名にピリオドおよび拡張子を追加する必要はありません。

@(アットマーク)または@@(二重アットマーク)コマンドを使用して、スクリプトを実行することもできます。

Created file plusenv

この時点で、任意のシステム変数の値を変更できます。

SHOW PAGESIZE
PAGESIZE 24
SET PAGESIZE 60
SHOW PAGESIZE
PAGESIZE 60

その後、システム変数の元の値をスクリプトからリストアできます。

START plusenv
SHOW PAGESIZE
PAGESIZE 24

例2-1 SQL*Plusシステム変数の格納およびリストア

SQL*Plusシステム変数の現行の値を新しいスクリプトplusenv.sqlに格納するには、次のように入力します。

STORE SET plusenv

コマンドライン・ヘルプのインストールについて

通常、コマンドライン・ヘルプは、Oracle Databaseのインストール中にインストールされます。インストールされていない場合は、データベース管理者がSQL*Plusコマンドライン・ヘルプ表を作成し、指定したSQLスクリプトをSQL*Plusから実行することによって、SQL*Plusヘルプ・データを作成した表に移入できます。

また、データベース管理者はSQL*PlusからSQLスクリプトを実行して、SQL*Plusコマンドライン・ヘルプ表を削除することもできます。

SQL*Plusヘルプをインストールまたは削除する前に、次のことを確認してください。

  • SQL*Plusがインストールされている。

  • 環境変数ORACLE_HOMEが設定されている。

  • 次のSQL*Plusヘルプ・スクリプト・ファイルがある。

    • HLPBLD.SQL - 新しいヘルプ表の削除および作成

    • HELPDROP.SQL - 既存のヘルプ表の削除

    • HELPUS.SQL - ヘルプ・データへのヘルプ表の移入

hlpbld.sqlスクリプトを実行したコマンドライン・ヘルプのインストール

コマンドライン・ヘルプをロードするために提供されているSQLスクリプトHLPBLD.SQLを実行します。

  1. SYSTEMユーザーとして次のように入力し、SQL*Plusにログインします。
    SQLPLUS SYSTEM

    SYSTEMユーザーに対して定義したパスワードの入力を求めるプロンプトが表示されます。

  2. UNIXでは、SQL*Plusから次のように入力してSQLスクリプトHLPBLD.SQLを実行します。
    @$ORACLE_HOME/SQLPLUS/ADMIN/HELP/HLPBLD.SQL HELPUS.SQL

    Windowsでは、SQL*Plusから次のように入力してSQLスクリプトHLPBLD.SQLを実行します。

    @ORACLE_HOME\SQLPLUS\ADMIN\HELP\HLPBLD.SQL HELPUS.SQL

    HLPBLD.SQLスクリプトによって、ヘルプ表が作成されロードされます。

helpdrop.sqlスクリプトを実行したコマンドライン・ヘルプの削除

コマンドライン・ヘルプを削除するために提供されているSQLスクリプトHELPDROP.SQLを実行します。

  1. SYSTEMユーザーとして次のように入力し、SQL*Plusにログインします。
    SQLPLUS SYSTEM

    SYSTEMユーザーに対して定義したパスワードの入力を求めるプロンプトが表示されます。

  2. UNIXでは、SQL*Plusから次のように入力してSQLスクリプトHELPDROP.SQLを実行します。
    @$ORACLE_HOME/SQLPLUS/ADMIN/HELP/HELPDROP.SQL

    Windowsでは、SQL*Plusから次のように入力してSQLスクリプトHELPDROP.SQLを実行します。

    @ORACLE_HOME\SQLPLUS\ADMIN\HELP\HELPDROP.SQL

    HELPDROP.SQLスクリプトは、ヘルプ表を削除してから切断します。

Oracle Net Servicesの構成について

デフォルト以外のデータベースに接続する場合、同一のコンピュータか別のコンピュータかに関係なく、Oracle Netがインストールされ、データベース・リスナーが構成されて実行中である必要があります。Oracle Net Servicesは、SQL*Plusによって使用されます。

Oracle Net Servicesおよびデータベース・リスナーは、Oracle Databaseのインストール中に、デフォルトでインストールされます。Oracle Netのインストールおよび構成の詳細は、http://www.oracle.com/technology/documentationにあるOracle Databaseのドキュメントを参照してください。