| SQL*Plus ユーザーズ・ガイドおよびリファレンス 10g リリース2(10.2) B19277-01 |
|
ここでは、SQL*Plusのインストール後、ログインしてデータベースに接続する手順について説明します。インストール中に作成したデフォルトのデータベースに接続したり、他の既存のOracleデータベースにも接続できます。
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およびPL/SQLコマンド言語は、データベースの操作経験があるユーザーのニーズに応える十分な機能を備えている一方、Oracleデータベースの初心者にも十分にわかりやすい設計になっています。
SQL*Plus言語は簡単に使用できます。たとえば、LAST_NAMEというラベルが付いた列のヘッダー名を「Family Name」に変更するには、次のコマンドを入力します。
COLUMN LAST_NAME HEADING 'Family Name'
同様に、EMPLOYEES表の列定義を表示するには、次のコマンドを入力します。
DESCRIBE EMPLOYEES
SQL*Plusを学習する場合、次のソースが有効です。
このマニュアルでは、SQL*Plusについて、すべてのオペレーティング・システムに共通する情報を説明します。また、Windows(Windows GUIなど)およびUNIXに固有の情報も含まれます。ただし、SQL*Plusのいくつかの点は、オペレーティング・システムごとに異なります。オペレーティング・システム固有の情報については、ご使用のシステムのOracleデータベースのインストレーション・ガイドを参照してください。これらのオペレーティング・システム固有のマニュアルを、このマニュアルとあわせてお読みください。
コマンドの入力方法を示す例では、このマニュアルの全編を通じて共通のコマンド構文および共通のサンプル表セットを使用しています。サンプル表については、「サンプル・スキーマおよびSQL*Plus」を参照してください。
SQL*PlusコマンドラインおよびWindows GUIでは、次の層で構成される2層モデルが使用されます。
2つの層が同じマシン上に存在する場合があります。
コマンドライン・ユーザー・インタフェースは、文字ベースの端末環境です。Windows GUIは、Windows版のインストールで使用できる代替ユーザー・インタフェースです。
Oracle Netコンポーネントによって、SQL*PlusクライアントとOracleデータベース間の通信が可能です。
iSQL*Plusは、ブラウザ・ベースのインタフェースです。iSQL*Plusでは、次の層で構成される3層モデルでSQL*Plus処理エンジンが使用されます。
iSQL*Plusサーバーは、アプリケーション・サーバーと同じマシン上にインストールされます。クライアントは、同じマシン上に存在する必要はありません。中間層は、クライアント層とデータベース層との間の対話およびリソースを調整します。Oracle NetからOracle8i、Oracle9iおよびOracle Database 10gのデータベースにアクセスできます。
iSQL*Plusユーザー・インタフェースは、インターネットまたはイントラネットを介してWebブラウザに送信されるWebページで構成されます。iSQL*Plusユーザー・インタフェースを、インストールまたは構成する必要はありません。必要な情報は、使用可能なOracleデータベースにアクセスするためのアプリケーション・サーバーのURLのみです。
アプリケーション・サーバーは、Oracleデータベースのインストール時にインストールされます。
中間層には、Java2 Enterprise Edition(J2EE)準拠のアプリケーション・サーバーが含まれます。サーバー・エンジンとして、Oracle Containers for Java(OC4J)が使用されます。アプリケーション・サーバーは、iSQL*Plusユーザー・インタフェースとOracleデータベース間の通信および認証を可能にします。
Oracle Netコンポーネントは、クライアント・サーバー・インストールのOracleデータベースと同じ方法で、iSQL*Plus Application ServerとOracleデータベース間の通信を可能にします。
SQL*Plusは、Oracleデータベースのコンポーネントです。SQL*Plusとそのコマンドライン・ユーザー・インタフェース、Windows GUI、およびiSQL*Plus Webベース・ユーザー・インタフェースは、Oracleデータベースのインストール時にデフォルトでインストールされます。
OracleデータベースおよびSQL*Plusには、コンピュータおよびオペレーティング・システムによって異なる点があります。これらの相違点の詳細は、SQL*Plusでサポートされているオペレーティング・システムに固有のOracleデータベースのインストレーション・ガイドを参照してください。
SQL*PlusまたはiSQL*Plusを実行する前に、次の準備が必要です。
SQL*Plusのデフォルトの日付書式は、データベースのNLS_DATE_FORMATパラメータによって決定され、2桁の年号で表示する日付書式を使用することもできます。また、SELECT文の中で、SQLのTO_CHARファンクションまたはSQL*PlusのCOLUMN FORMATコマンドを使用して、レポート内での日付の表示方法を制御できます。
通常、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
sqlplus
sqlplus username
パスワードを入力するように求められます。
これで、「SQL>」プロンプトで、SQL、PL/SQLおよびSQL*Plusの文やコマンドを入力して実行できるようになります。
UNIX端末またはWindows端末を起動し、次のSQL*Plusコマンドを入力します。
sqlplus username@connect_identifier
パスワードを入力するように求められます。
sqlplusw
「ログオン」ダイアログ・ボックスに、Oracleデータベースのユーザー名およびパスワードを入力します。Oracleデータベースのユーザー名およびパスワードが不明な場合は、データベース管理者に問い合せてください。
デフォルトのデータベースに接続するには、「ホスト文字列」フィールドを空白のままにします。接続するデータベースの接続識別子を「ホスト文字列」フィールドに入力します。Oracle8i、Oracle9iおよびOracle Database 10gのデータベースに接続できます。
これで、「SQL>」プロンプトで、SQL、PL/SQLおよびSQL*Plusの文やコマンドを入力して実行できるようになります。
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を実行しているポートを検索します。
デフォルト以外のデータベースに接続するには、「接続識別子」フィールドにOracleデータベースの接続識別子を入力します。Oracle8i、Oracle9iおよびOracle Database 10gのデータベースに接続できます。
データベース・アクセス制限が構成されている場合、「接続識別子」フィールドには、使用可能なデータベースを選択するドロップダウン・リストが表示されます。
これで、作業領域でSQL、PL/SQLおよびSQL*Plusの文やコマンドを入力して実行できるようになります。
iSQL*Plus Application ServerはOracleデータベースのインストール時に起動します。WebベースのiSQL*Plusセッションを有効にするには、iSQL*Plusのアプリケーション・サーバーが実行中である必要があります。「iSQL*Plusアプリケーション・サーバーの起動」を参照してください。
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セッションから、次の形式でCONNECTコマンドを入力します。
SQL> connect username@connect_identifier
パスワードを入力するように求められます。
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表を作成するには、次の手順に従います。
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%';
これによって、次の出力が表示されます。
常に「ログアウト」アイコンを使用してiSQL*Plusを終了し、システムおよびサーバー・リソースを解放することをお薦めします。
SQL*Plusコマンドラインを終了するには、EXITを入力します。
Windows GUIを終了するには、EXITを入力するか、「ファイル」メニューから「終了」を選択します。
iSQL*Plusでは、EXITまたはQUITコマンドを使用してもセッションは終了せず、現在実行中のスクリプトが停止します。
|
![]() Copyright © 2005 Oracle Corporation. All Rights Reserved. |
|