ヘッダーをスキップ

SQL*Plus ユーザーズ・ガイドおよびリファレンス
10g リリース2(10.2)

B19277-01
目次
目次
索引
索引

戻る 次へ

SQL*Plusクイック・スタート

ここでは、SQL*Plusのインストール後、ログインしてデータベースに接続する手順について説明します。インストール中に作成したデフォルトのデータベースに接続したり、他の既存のOracleデータベースにも接続できます。

SQL*Plusリソース

SQL*Plus概要

SQL*Plusは、Oracleデータベースのインストール時にインストールされる対話型のバッチ問合せツールです。このSQL*Plusには、コマンドライン・ユーザー・インタフェース、Windows Graphical User Interface(GUI)、およびiSQL*Plus Webベース・ユーザー・インタフェースがあります。

また、SQL*Plus Instant Clientもあります。これは、OCI Instant Client対応のプラットフォームで使用できるスタンドアロン・コマンドライン・インタフェースです。SQL*Plus Instant Clientは使用可能なすべてのOracleデータベースに接続されますが、専用のOracleデータベースをインストールする必要はありません。OCI Instant Clientの詳細は、『Oracle Call Interfaceプログラマーズ・ガイド』を参照してください。

SQL*Plusには専用のコマンドおよび環境があり、Oracleデータベースへのアクセスを提供します。SQL、PL/SQL、SQL*Plusおよびオペレーティング・システム・コマンドを入力すると、次のことを実行できます。

SQL*Plusを使用して、対話形式でのレポート生成およびバッチ・プロセスでのレポート生成ができます。また、テキスト・ファイル、画面またはインターネットでの参照用のHTMLファイルに生成結果を出力することもできます。Webページからスクリプトを実行するために、SQL*PlusのHTML出力機能やiSQL*Plusの動的レポート機能を使用して、動的にレポートを生成できます。

SQL*Plus 10.2からOracle7データベースへの接続はサポートされていません。

SQL*Plusの対象ユーザー

SQL*Plus、SQLおよびPL/SQLコマンド言語は、データベースの操作経験があるユーザーのニーズに応える十分な機能を備えている一方、Oracleデータベースの初心者にも十分にわかりやすい設計になっています。

SQL*Plus言語は簡単に使用できます。たとえば、LAST_NAMEというラベルが付いた列のヘッダー名を「Family Name」に変更するには、次のコマンドを入力します。

COLUMN LAST_NAME HEADING 'Family Name'

同様に、EMPLOYEES表の列定義を表示するには、次のコマンドを入力します。

DESCRIBE EMPLOYEES

SQL*Plusの学習方法

SQL*Plusを学習する場合、次のソースが有効です。

このマニュアルの使用方法

このマニュアルでは、SQL*Plusについて、すべてのオペレーティング・システムに共通する情報を説明します。また、Windows(Windows GUIなど)およびUNIXに固有の情報も含まれます。ただし、SQL*Plusのいくつかの点は、オペレーティング・システムごとに異なります。オペレーティング・システム固有の情報については、ご使用のシステムのOracleデータベースのインストレーション・ガイドを参照してください。これらのオペレーティング・システム固有のマニュアルを、このマニュアルとあわせてお読みください。

コマンドの入力方法を示す例では、このマニュアルの全編を通じて共通のコマンド構文および共通のサンプル表セットを使用しています。サンプル表については、「サンプル・スキーマおよびSQL*Plus」を参照してください。

SQL*PlusコマンドラインおよびWindows GUIアーキテクチャ

SQL*PlusコマンドラインおよびWindows GUIでは、次の層で構成される2層モデルが使用されます。

2つの層が同じマシン上に存在する場合があります。

SQL*Plusクライアント

コマンドライン・ユーザー・インタフェースは、文字ベースの端末環境です。Windows GUIは、Windows版のインストールで使用できる代替ユーザー・インタフェースです。

Oracleデータベース

Oracle Netコンポーネントによって、SQL*PlusクライアントとOracleデータベース間の通信が可能です。

iSQL*Plusアーキテクチャ

iSQL*Plusは、ブラウザ・ベースのインタフェースです。iSQL*Plusでは、次の層で構成される3層モデルでSQL*Plus処理エンジンが使用されます。

iSQL*Plusサーバーは、アプリケーション・サーバーと同じマシン上にインストールされます。クライアントは、同じマシン上に存在する必要はありません。中間層は、クライアント層とデータベース層との間の対話およびリソースを調整します。Oracle NetからOracle8i、Oracle9iおよびOracle Database 10gのデータベースにアクセスできます。

Webブラウザ

iSQL*Plusユーザー・インタフェースは、インターネットまたはイントラネットを介してWebブラウザに送信されるWebページで構成されます。iSQL*Plusユーザー・インタフェースを、インストールまたは構成する必要はありません。必要な情報は、使用可能なOracleデータベースにアクセスするためのアプリケーション・サーバーのURLのみです。

アプリケーション・サーバー

アプリケーション・サーバーは、Oracleデータベースのインストール時にインストールされます。

中間層には、Java2 Enterprise Edition(J2EE)準拠のアプリケーション・サーバーが含まれます。サーバー・エンジンとして、Oracle Containers for Java(OC4J)が使用されます。アプリケーション・サーバーは、iSQL*Plusユーザー・インタフェースとOracleデータベース間の通信および認証を可能にします。

Oracleデータベース

Oracle Netコンポーネントは、クライアント・サーバー・インストールのOracleデータベースと同じ方法で、iSQL*Plus Application ServerとOracleデータベース間の通信を可能にします。

SQL*Plusの前提条件

SQL*Plusは、Oracleデータベースのコンポーネントです。SQL*Plusとそのコマンドライン・ユーザー・インタフェース、Windows GUI、およびiSQL*Plus Webベース・ユーザー・インタフェースは、Oracleデータベースのインストール時にデフォルトでインストールされます。

OracleデータベースおよびSQL*Plusには、コンピュータおよびオペレーティング・システムによって異なる点があります。これらの相違点の詳細は、SQL*Plusでサポートされているオペレーティング・システムに固有のOracleデータベースのインストレーション・ガイドを参照してください。

SQL*PlusまたはiSQL*Plusを実行する前に、次の準備が必要です。

SQL*Plus日付書式

SQL*Plusのデフォルトの日付書式は、データベースのNLS_DATE_FORMATパラメータによって決定され、2桁の年号で表示する日付書式を使用することもできます。また、SELECT文の中で、SQLのTO_CHARファンクションまたはSQL*PlusのCOLUMN FORMATコマンドを使用して、レポート内での日付の表示方法を制御できます。

SQL*Plusコマンドラインの起動

通常、SQL*Plusの実行可能ファイルは$ORACLE_HOME/binにインストールされます。通常、このディレクトリは、ご使用のオペレーティング・システムの環境変数PATHに含まれます。SQL*Plusを起動するには、$ORACLE_HOME/binディレクトリに移動する必要があります。

次の各例では、データベース・アカウントのパスワードを入力するように求められます。

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

sqlplus hr@//mymachine.mydomain:port/MYDB

ネット・サービス名を使用する例は、次のとおりです。

sqlplus hr@MYDB

ネット・サービス名は、Oracle Namesなどの様々な場所に格納できます。詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

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

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

この例は、環境変数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
SQL*Plusを起動し、デフォルトのデータベースに接続する手順
  1. UNIX端末またはWindows端末を起動し、次のSQL*Plusコマンドを入力します。

    sqlplus
    
    
  2. プロンプトが表示されたら、Oracleデータベースのユーザー名およびパスワードを入力します。Oracleデータベースのユーザー名およびパスワードが不明な場合は、データベース管理者に問い合せてください。

  3. または、次の形式でSQL*Plusコマンドを入力します。

    sqlplus username
    
    

    パスワードを入力するように求められます。

  4. SQL*Plusが起動し、デフォルトのデータベースに接続します。

    これで、「SQL>」プロンプトで、SQL、PL/SQLおよびSQL*Plusの文やコマンドを入力して実行できるようになります。

SQL*Plusを起動し、デフォルト以外のデータベースに接続する手順

UNIX端末またはWindows端末を起動し、次のSQL*Plusコマンドを入力します。

sqlplus username@connect_identifier

パスワードを入力するように求められます。

SQL*PlusのWindows GUIの起動

SQL*PlusのWindows GUIを起動し、データベースに接続する手順
  1. 「スタート」→「プログラム」→「Oracle-OraHomeName→「Application Development」→「SQL Plus」を選択します。

  2. または、Windows端末を起動し、次のSQL*Plusコマンドを入力します。

    sqlplusw 
    
    
  3. SQL*PlusのWindows GUIが起動し、「ログオン」ダイアログ・ボックスが表示されます。

    「ログオン」ダイアログ・ボックスに、Oracleデータベースのユーザー名およびパスワードを入力します。Oracleデータベースのユーザー名およびパスワードが不明な場合は、データベース管理者に問い合せてください。

    デフォルトのデータベースに接続するには、「ホスト文字列」フィールドを空白のままにします。接続するデータベースの接続識別子を「ホスト文字列」フィールドに入力します。Oracle8i、Oracle9iおよびOracle Database 10gのデータベースに接続できます。

  4. 「OK」をクリックします。SQL*Plusが起動し、データベースに接続します。

    これで、「SQL>」プロンプトで、SQL、PL/SQLおよびSQL*Plusの文やコマンドを入力して実行できるようになります。

iSQL*Plusの起動

iSQL*Plusセッションを起動する手順
  1. Webブラウザの「場所」または「アドレス」フィールドに、iSQL*PlusのURLを入力します。iSQL*PlusのURLは、次のようになります。

    http://machine_name.domain:port/isqlplus
    
    

    iSQL*PlusのURLが不明な場合はシステム管理者に問い合せるか、iSQL*Plus Application Serverを実行しているマシンで次のいずれかのURLを入力します。

    http://127.0.0.1:5560/isqlplus/
    http://localhost:5560/isqlplus/
    
    

    デフォルトでは、

    iSQL*PlusはHTTPポート5560を使用します。ポート5560でiSQL*Plusを使用できない場合は、iSQL*Plus Application Serverを実行しているコンピュータで$ORACLE_HOME/install/portlist.iniファイルを開き、iSQL*Plusを実行しているポートを検索します。

  2. [Enter]キーを押して、そのURLに移動します。iSQL*Plusの「ログイン」画面がWebブラウザに表示されます。

  3. 「ユーザー名」および「パスワード」フィールドに、Oracleデータベースのユーザー名およびパスワードを入力します。Oracleデータベースのユーザー名およびパスワードが不明な場合は、データベース管理者に問い合せてください。

  4. デフォルトのデータベースに接続するには、「接続識別子」フィールドを空のままにします。

    デフォルト以外のデータベースに接続するには、「接続識別子」フィールドにOracleデータベースの接続識別子を入力します。Oracle8i、Oracle9iおよびOracle Database 10gのデータベースに接続できます。

    データベース・アクセス制限が構成されている場合、「接続識別子」フィールドには、使用可能なデータベースを選択するドロップダウン・リストが表示されます。

  5. 「ログイン」をクリックして、データベースに接続します。iSQL*Plusの作業領域がWebブラウザに表示されます。

    これで、作業領域でSQL、PL/SQLおよびSQL*Plusの文やコマンドを入力して実行できるようになります。

iSQL*Plus Application Serverの起動および停止

iSQL*Plus Application ServerはOracleデータベースのインストール時に起動します。WebベースのiSQL*Plusセッションを有効にするには、iSQL*Plusのアプリケーション・サーバーが実行中である必要があります。iSQL*Plusアプリケーション・サーバーの起動」を参照してください。

SQL*PlusInstant Clientの起動

SQL*Plus Instant Clientは、SQL*Plusコマンドラインです。Oracleデータベースをインストールする必要はありません。使用方法の詳細は、「SQL*Plusコマンドラインの起動」を参照してください。

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

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

他のデータベースへの接続

現行のコマンドライン・セッションから、他のデータベースに接続する手順

既存のWindows GUIセッションまたはコマンドライン・セッションから、次の形式でCONNECTコマンドを入力します。

SQL> connect username@connect_identifier

パスワードを入力するように求められます。

現行のiSQL*Plusセッションから、他のデータベースに接続する手順

既存のiSQL*Plusセッションから、次の形式でCONNECTコマンドを入力します。

SQL> connect username@connect_identifier

パスワードを入力するように求められます。

サンプル・スキーマおよびSQL*Plus

Oracleデータベースにはサンプル・スキーマが含まれています。このマニュアルの例には、人事管理(HR)サンプル・スキーマのEMP_DETAILS_VIEWビューを使用します。このスキーマには、架空の会社の人事記録が含まれています。EMP_DETAILS_VIEWビューの列の詳細を表示するには、次のように入力します。

DESCRIBE EMP_DETAILS_VIEW

サンプルのスキーマの詳細は、『Oracle Databaseサンプル・スキーマ』を参照してください。

サンプル表のロック解除

人事管理(HR)サンプル・スキーマは、デフォルトでOracleデータベース・インストールの一部としてインストールされます。デフォルトでは、HRアカウントはロックされています。

HRサンプル・スキーマを使用するには、HRアカウントのロックを解除する必要があります。HRアカウントのロックを解除するには、SYSTEMユーザーとしてログインしてから次のコマンドを入力します。your_passwordは、ユーザーHRに対して定義するパスワードです。

ALTER USER HR IDENTIFIED BY your_password ACCOUNT UNLOCK;

HRアカウントのロック解除の詳細は、『Oracle Databaseサンプル・スキーマ』を参照してください。HRスキーマのHRユーザーは、HRサンプル・スキーマへのアクセスを可能にします。また、このマニュアルの例を実行するために必要です。

データベース内のそれぞれの表は、特定のユーザーによって所有されています。このマニュアルの例を試すときに、サンプル表を独自にコピーして使用することもできます。HR表をコピーする場合は、DBAに連絡するか、または『Oracle Databaseサンプル・スキーマ』を参照してください。また、UNIXの場合は、次のディレクトリにあるHR_MAIN.SQLスクリプトを使用しても、HR表を作成できます。

$ORACLE_HOME/demo/schema/human_resources/hr_main.sql

Windowsの場合は、次のディレクトリにあります。

%ORACLE_HOME%¥DEMO¥SCHEMA¥HUMAN_RESOURCES¥HR_MAIN.SQL

コマンドラインのSQL*PlusからHR表を作成するには、次の手順に従います。

  1. Oracleデータベース・アカウントのユーザー名およびパスワードについてDBAに問い合せます。

  2. SQL*Plusにログインします。

  3. UNIXの場合、SQL*Plusプロンプトで次のコマンドを入力します。

    SQL> @?/DEMO/SCHEMA/HUMAN_RESOURCES/HR_MAIN.SQL
    
    

    Windowsの場合、SQL*Plusプロンプトで次のコマンドを入力します。

    SQL> @?¥DEMO¥SCHEMA¥HUMAN_RESOURCES¥HR_MAIN.SQL
    
    

サンプル表を削除するには、HR_MAIN.SQLをHR_DROP.SQLと置き換えて、同じ手順を実行します。

最初の問合せの実行

iSQL*Plusを使用して、データベース・オブジェクト(たとえば、EMP_DETAILS_VIEWの列の詳細)を表示するには、次のようにDESCRIBEコマンドを入力します。

DESCRIBE EMP_DETAILS_VIEW

これによって、次の出力が表示されます。


画像の説明

列ヘッダーの名前を変更して、HRサンプル・スキーマ・ビューEMP_DETAILS_VIEWからデータを選択するには、次のように入力します。

COLUMN FIRST_NAME HEADING "First Name"
COLUMN LAST_NAME HEADING "Family Name"
SELECT FIRST_NAME, LAST_NAME
FROM EMP_DETAILS_VIEW
WHERE LAST_NAME LIKE 'K%';

これによって、次の出力が表示されます。


画像の説明

SQL*Plusの終了

常に「ログアウト」アイコンを使用してiSQL*Plusを終了し、システムおよびサーバー・リソースを解放することをお薦めします。

SQL*Plusコマンドラインを終了するには、EXITを入力します。

Windows GUIを終了するには、EXITを入力するか、「ファイル」メニューから「終了」を選択します。

iSQL*Plusでは、EXITまたはQUITコマンドを使用してもセッションは終了せず、現在実行中のスクリプトが停止します。


戻る 次へ
Oracle
Copyright © 2005 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引