ヘッダーをスキップ

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

B19277-01
目次
目次
索引
索引

戻る 次へ

3 SQL*Plusの起動

この章では、SQL*Plusの起動方法、ログイン方法、データベースへの接続方法、ヘルプの使用方法および終了方法について説明します。

ここでは、次の項目について説明します。

ユーザー名およびパスワードのログイン

SQL*Plusの起動時、Oracleデータベース・スキーマへのログインにユーザー名およびパスワードが必要です。ユーザー名およびパスワードによって、Oracleデータベース・スキーマの認証されたユーザーとして識別されます。

データベース管理者(DBA)には、必要な権限を付与してデータベース・アカウントを作成し、アカウントにアクセスするためのユーザー名とパスワードを提供する責任があります。

Oracleデータベースのインストール中にデフォルト・ログインが作成され、対応するパスワードの入力を求めるプロンプトが表示されます。作成されるデフォルト・ログインのユーザー名の一部には、次のものがあります。

Oracleデータベースのインストール中に、ユーザーが作成されたことを示すメッセージが表示されます。

デフォルト・ログインの詳細は、『Oracle Database管理者ガイド』を参照してください。

一度ログインすると、CONNECTコマンドを使用して別のユーザー名で接続できるようになります。ユーザー名およびパスワードは、そのデータベースに対して有効である必要があります。たとえば、パスワードFOXを使用してユーザー名TODDでデフォルトのデータベースに接続するには、次のように入力します。

CONNECT TODD

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

コマンドライン・ユーザー・インタフェースでユーザー名およびパスワードを省略した場合、それらの入力を求めるSQL*Plusプロンプトが表示されます。CONNECTコマンドは、最初にユーザーを現行のデータベースから切断するため、CONNECTコマンドに無効なユーザー名およびパスワードを使用した場合、どのデータベースにも接続していない状態になります。

データベースへの接続の際にアカウントの有効期限が切れたユーザーとしてログオンまたは接続した場合は、接続の前にパスワードを変更するように求めるプロンプトが表示されます。

データベースへの接続時にアカウントがロックされている場合は、メッセージが表示され、アカウントのロックがDBAによって解除されるまで、そのユーザーとして接続できません。

DISCONNECTコマンドを使用すると、SQL*Plusを終了せずに、データベースから切断できます。

セキュアな外部パスワード・ストア

アプリケーションでデータベースへの接続にパスワード資格証明が使用される大規模な配置では、コマンドラインを使用するかわりに、そのような資格証明をクライアント側のOracle Walletに格納できます。Oracle Walletは、認証および署名資格証明の格納に使用されるセキュアなソフトウェア・コンテナです。

データベース・パスワード資格証明をクライアント側のOracle Walletに格納すると、ユーザー名およびパスワードをアプリケーション・コード、バッチ・ジョブまたはスクリプトに埋め込む必要がなくなります。これによって、パスワードをスクリプトおよびアプリケーション・コードに平文で公開する危険が少なくなり、ユーザー名およびパスワードの変更のたびにコードを変更する必要がないため、メンテナンスが簡単になります。また、アプリケーション・コードを変更する必要がないため、これらのユーザー・アカウントに対するパスワード管理方針も簡単に適用できます。

外部パスワード・ストアを使用するようにクライアントを構成すると、アプリケーションで、次の構文を使用してパスワード認証を使用するデータベースに接続できます。

CONNECT /@database_alias

このCONNECT文に、データベース・ログイン資格証明を指定する必要はありません。かわりに、クライアントのWallet内のデータベース・ログイン資格証明が検索されます。

参照:

セキュアな外部パスワード・ストアを使用するようにクライアントを構成する方法およびそのパスワード・ストア内の資格証明を管理する方法の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。 

パスワードの期限切れ

コマンドライン・インタフェースで、入力したパスワードが期限切れの場合は、ログイン時にパスワードの変更を要求するSQL*Plusプロンプトが表示されます。パスワードを正常に変更した後は、ログインできます。

iSQL*Plusの「期限切れのパスワード」画面

入力したパスワードが期限切れの場合、ログイン時に「期限切れのパスワード」画面が自動的に表示されます。「パスワードの変更」画面の指定と同様に、「期限切れのパスワード」画面のフィールドへ入力します。

パスワードを正常に変更した後は、ログインできます。「取消」ボタンをクリックした場合は、「ログイン」画面に戻ります。


画像の説明

パスワードの変更

コマンドライン・ユーザー・インタフェースで、PASSWORDコマンドを使用してパスワードを変更できます。「PASSWORD」を参照してください。

iSQL*Plusでのパスワードの変更

「パスワードの変更」画面でOracleデータベース・アカウントのパスワードを変更できます。DBA権限でログインしている場合は、他のユーザーのパスワードを変更できます。「パスワードの変更」画面には、「プリファレンス」画面からアクセスできます。


画像の説明

ユーザー名:

Oracleデータベース・アカウントのユーザー名を入力します。

旧パスワード:

Oracleデータベース・アカウントの現在のパスワードを入力します。

新規パスワード:

新規パスワードを入力します。

新規パスワードを再入力してください:

正しく入力されていることを確認するため、新規のパスワードを再入力します。

適用

Oracleデータベース・アカウントのパスワードを変更するには、「適用」ボタンをクリックします。

取消

パスワードを変更せずに画面を消去するには、「取消」ボタンをクリックします。

データベースへの接続

データベース内のデータの問合せまたは変更を実行するには、Oracleデータベース(インスタンス)に接続する必要があります。デフォルトのデータベースおよびネットワーク上の他の利用可能なデータベースに接続できます。ネットワークを介して別のデータベースに接続するには、両方のデータベースにOracle Netが構成され、互換性のあるネットワーク・ドライバを備えている必要があります。デフォルト以外のデータベースに接続するには、接続識別子またはネット・サービス名を入力してください。

接続識別子またはネット・サービス名の入力方法は次のとおりです。

ネット・サービス名

DBAは、使用するデータベースを作成して、そのデータベースのネット・サービス名をtnsnames.oraファイルに定義します。iSQL*Plusでは、ネット・サービス名のドロップダウン・リストで選択可能なデータベースを制限することもできます。

tnsnames.oraファイルにネット・サービス名を定義する構文は次のとおりです。

net_service_name= 
(DESCRIPTION= 
(ADDRESS=(PROTOCOL=tcp)(HOST=host)(PORT=port) )
(CONNECT_DATA= 
(SERVICE_NAME=service_name) ) ) 

ネット・サービス名(別名)を使用するには、SQL*Plusが実行されているマシン(iSQL*Plusの場合は、iSQL*Plusアプリケーション・サーバーが実行されているマシン)のtnsnames.oraファイルに、このサービス名のエントリが存在する必要があります。接続識別子を使用する場合、tnsnames.oraファイルのエントリは必要ありません。

例3-1    salesデータベースのtnsnames.oraエントリ

SALES1 =
(DESCRIPTION =
(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521) )
(CONNECT_DATA=
(SERVICE_NAME=sales.us.acme.com) ) )

例3-2    ネット・サービス名を使用したsalesデータベースへのコマンドライン・セッションの開始

SQLPLUS hr@SALES1

データベース接続およびネット・サービス名の定義の詳細は、『Oracle Database Net Servicesリファレンス』および『Oracle Database Net Services管理者ガイド』を参照してください。

完全な接続識別子

ご使用の構成に応じて、完全な接続識別子を次の構文で使用できます。

(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=host)(PORT=port) )
(CONNECT_DATA=
(SERVICE_NAME=service_name) ) )

SERVICE_NAMEは、データベース作成中に入力したグローバル・データベース名です。データベース名をドメイン名と結合したものです。たとえば、SERVICE_NAME sales.us.acme.comでは、salesがデータベース名で、us.acme.comがドメインです。

INSTANCE_NAMEは、作成中に指定したデータベース・インスタンス名です。デフォルトは、データベース作成中に入力したSIDです。

Oracleシステム識別子(SID)によって、特定のOracleリリース8.0データベース・インスタンスが識別されます。

オプションで、SERVICE_NAME句のかわりにINSTANCE_NAMEを使用できます。

Oracleリリース8.0以下のデータベースに接続する場合は、SERVICE_NAMEのかわりにSIDを使用します。

例3-3    SALES1の詳細な接続識別子

SQLPLUS hr@(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521) )
(CONNECT_DATA=
(SERVICE_NAME=sales.us.acme.com) ) )

簡単な接続識別子

省略した簡単な接続識別子の構文は次のとおりです。

[//]host[:port][/service_name]

例3-4    簡単な接続識別子を使用したsalesデータベースへのコマンドライン・セッションの開始

sqlplus hr@sales-server:1521/sales.us.acme.com

例3-5    簡単な接続識別子を使用したsalesデータベースへの接続

connect hr@sales-server:1521/sales.us.acme.com

簡単な接続識別子は、完全な接続識別子やネット・サービス名を使用できる状況であれば、どこでも使用できます。また、簡単な構文は単純で、tnsnames.oraエントリは必要ありません。

/NOLOGを使用した接続なしのセッション

コマンドライン・インタフェースでは、データベースに接続せずにSQL*Plusを起動できます。この機能は、データベース管理作業の実行、トランスポータブル・スクリプトの書込み、あるいはSQL*Plusの編集コマンドを使用したスクリプトの書込みまたは編集に有効です。

SQLPLUSコマンドで/NOLOG引数を使用して、接続なしのコマンドライン・セッションを開始できます。SQL*Plusの起動後は、CONNECTコマンドでデータベースに接続できます。

例3-6    /NOLOGを使用した接続なしのSQL*Plusセッションの開始

SQLPLUS /NOLOG 

SQL*Plusの起動

リモートのOracleデータベースに接続する場合は、Oracle Netソフトウェアがインストールされ、正常に動作することを確認してください。詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

SQL*Plusのコマンドライン・セッションまたはWindows GUIセッションの開始時、そのセッションでCONNECTコマンドを実行すると、サイト・プロファイルglogin.sqlおよびユーザー・プロファイルlogin.sqlが、次の時点で処理されます。

最初にサイト・プロファイルglogin.sqlが処理され、次にユーザー・プロファイルlogin.sqlが処理されます。

iSQL*Plusセッション開始時、そのセッションでCONNECTコマンドを実行すると、サイト・プロファイルglogin.sqlが、次の時点で処理されます。

SQL*Plusリリース1(10.1)での動作は、SET SQLPLUSCOMPATIBILITYの設定によって異なります。たとえば、CONNECTコマンドの後のglogin.sqlおよびlogin.sqlは、デフォルトのSQLPLUSCOMPATIBILITYの設定が10.1である場合のみ処理されます。詳細は、「SET SQLPLUSCOMPAT[IBILITY] {x.y[.z]}」を参照してください。

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

SQL*Plusを使用する前に、SQL*Plusの起動および終了方法を理解しておく必要があります。

例3-7    SQL*Plusの起動

ここでは、SQL*Plusの起動方法を示します。

  1. コンピュータにSQL*Plusがインストールされていることを確認します。

  2. オペレーティング・システムにログオンします(必要な場合)。

  3. SQLPLUSコマンドを入力し、[Return]を押します。


    注意:

    一部のオペレーティング・システムでは、コマンドを小文字で入力する必要があります。そのようなシステムをご使用の場合は、SQLPLUSコマンドを小文字で入力します。 


    SQLPLUS
    
    

    SQL*Plus 次のように、リリース番号、現在の日付および著作権情報が表示され、ユーザー名の入力を求めるプロンプトが表示されます(システム上に表示されるテキストは少し異なる場合があります)。

    SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jun 2 16:29:01 2005
    (c) Copyright 1982, 2005 Oracle Corporation. All rights reserved.
    Enter user-name:
     

  4. ユーザー名を入力し、[Return]を押します。「パスワードを入力してください」というプロンプトが表示されます。

  5. パスワードを入力し、再度[Return]を押します。ユーザーを保護するため、パスワードは画面に表示されません。

    ユーザー名およびパスワードを入力するプロセスは、ログインと呼ばれます。接続先のOracleデータベースのリリースおよびPL/SQLなどの使用可能なツール製品のリリースが表示されます。

    続いて、次のようなSQL*Plusのコマンド・プロンプトが表示されます。

    SQL>
    
    

    このコマンド・プロンプトは、SQL*Plusがコマンド入力可能な状態であることを示します。

SQL*Plusが起動しない場合は、問題の修正に有効なメッセージが表示されます。

コマンドライン・ヘルプの表示

SQL*Plusのコマンドライン・ヘルプにアクセスするには、SQLコマンド・プロンプトまたはiSQL*Plusの「Workspace Input」領域でHELPまたは?と入力し、続けてコマンド名を入力します。詳細は、「HELP」コマンドを参照してください。たとえば、次のように入力します。

HELP ACCEPT

SQL*Plusコマンドのリストを表示するには、HELPの後にTOPICSまたはINDEXを入力します。HELP TOPICSでは、SQL*Plusコマンドが1列に表示されます。HELP INDEXでは、SQL*Plusコマンドが標準画面内に収まるように4列に表示されます。たとえば、次のように入力します。

HELP INDEX

Windows GUIの起動

GUIは、WindowsメニューまたはWindowsコマンド・プロンプトから起動できます。

WindowsメニューからのGUIの起動

  1. 「スタート」メニューから「プログラム」を選択します。「Oracle - ORACLE_HOME」から「Application Development」を選択し、「SQL Plus」をクリックします。

    「SQL*Plus」ウィンドウが、「ログオン」ダイアログ・ボックスとともに表示されます。


    画像の説明

    有効なユーザー名およびパスワードを入力します。リモートのOracleデータベースに接続している場合は、「ホスト文字列」フィールドにOracle Netの接続識別子を入力します。デフォルトのデータベースに接続するには、「ホスト文字列」フィールドを空白のままにします。Oracle Net接続識別子の構成および使用の詳細は、前述の「簡単な接続識別子」を参照してください。

  2. 「OK」をクリックします。

Windowsコマンド・プロンプトからのGUIの起動

  1. 「スタート」メニューの「プログラム」→「アクセサリ」から「コマンド プロンプト」を選択します。「コマンド プロンプト」ウィンドウが表示されます。

  2. 次のように入力します。

    C:¥> SQLPLUSW
    
    

    SQL*Plus GUIが起動します。オプションで、スラッシュ(/)で区切ったログイン・ユーザー名とパスワード、および接続先のデータベースを指定できます。ただし、セキュリティ上の理由から、パスワードはプレーン・テキストで指定しないことをお薦めします。次のように指定してSQL*Plus GUIを起動すると、パスワードの入力を求めるプロンプトが常に表示されます。

    C:¥> SQLPLUSW username@connect_identifier
    
    

    指定しない場合は、「SQL*Plusの起動」で説明したようにログイン・ダイアログ・ボックスに必要な情報を入力します。Oracle SQL*Plusアプリケーション・ウィンドウが表示されます。


    画像の説明

iSQL*Plusアプリケーション・サーバーの起動

iSQL*Plusセッションを開始する前に、iSQL*Plusアプリケーション・サーバーが中間層で実行されている必要があります。WindowsでのiSQL*Plusの起動および停止のために、コマンドライン・ユーティリティおよびWindowsサービスが提供されています。

iSQL*Plusアプリケーション・サーバーは、Oracleデータベースのインストール時に、デフォルトで起動します。

UNIXでのiSQL*Plus アプリケーション・サーバーの起動
  1. 端末を起動します。

  2. 次のように入力します。

    $ORACLE_HOME/bin/isqlplusctl start
    
    

    iSQL*Plusアプリケーション・サーバーが起動されます。

WindowsでのiSQL*Plusアプリケーション・サーバーの起動
  1. 「スタート」「プログラム」「管理ツール」メニューで、「サービス」を選択します。

  2. OracleOracleHomeNameiSQL*PlusというiSQL*Plus Windowsサービスを検索します。

  3. Windowsサービスを開始します。

また、コマンド・プロンプトからiSQL*Plusを起動することもできます。

コマンド・プロンプトからのiSQL*Plusアプリケーション・サーバーの起動
  1. コマンド・プロンプト・セッションを開始します。

  2. 次のように入力します。

    %ORACLE_HOME%¥bin¥isqlplusctl start
    
    

    iSQL*Plusアプリケーション・サーバーが起動されます。

iSQL*Plusアプリケーション・サーバーの正常な起動のテスト
  1. ご使用のWebブラウザでiSQL*Plus URLを入力します。iSQL*Plus URLは、次の形式です。

    http://machine_name:5560/isqlplus/
    
    

    デフォルトでは、

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

  2. iSQL*Plus URLが不明な場合は、iSQL*Plusアプリケーション・サーバーを実行しているマシンのWebブラウザから、次のいずれかのURLを入力します。

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

    iSQL*Plusの「ログイン」画面が表示されます。

  3. 手順2でiSQL*Plusの「ログイン」画面が表示されなかった場合は、手順2で使用したURLと同じURLを「isqlplus/」を付けずに入力します。これは、OC4Jインスタンスが正常に起動したかどうかを確認するためです。

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

    OC4Jのデフォルト・ページが表示されます。

    OC4Jのデフォルト・ページが表示されない場合は、iSQL*Plusアプリケーション・サーバーが実行されていません。iSQL*Plusアプリケーション・サーバーの実行のテスト」も参照してください。

iSQL*Plusアプリケーション・サーバーが使用するHTTPポートの確認

iSQL*Plusアプリケーション・サーバーが使用するHTTPポート番号を調べるには、アプリケーション・サーバーで$ORACLE_HOME/install/portlist.iniファイルを検索します。「使用中のiSQL*Plusアプリケーション・サーバーポートの変更」も参照してください。

iSQL*Plusアプリケーション・サーバーの停止

UNIXでのiSQL*Plusアプリケーション・サーバーの停止
  1. コマンドライン・セッションを開始します。

  2. 次のように入力します。

    $ORACLE_HOME/bin/isqlplusctl stop
    
    

    iSQL*Plusアプリケーション・サーバーが停止します。

WindowsでのiSQL*Plusアプリケーション・サーバーの停止
  1. スタート」→「プログラム」→「管理ツール」メニューで、「サービス」を選択します。

  2. OracleOracleHomeNameiSQL*PlusというiSQL*Plus Windowsサービスを検索します。

  3. Windowsサービスを停止します。

コマンド・プロンプトからのiSQL*Plusアプリケーション・サーバーの停止
  1. コマンドライン・セッションを開始します。

  2. 次のように入力します。

    %ORACLE_HOME%¥bin¥isqlplusctl stop
    
    

    iSQL*Plusアプリケーション・サーバーが停止します。

停止すると、iSQL*Plusアプリケーション・サーバーを再起動するまで、このサーバーからiSQL*Plusセッションを使用できません。

iSQL*Plusの起動

iSQL*Plusセッションを開始するには、次の手順を実行します。

  1. Webブラウザの「場所」フィールドに、iSQL*PlusのURLを入力します。たとえば、次のように入力します。

    http://machine_name.domain:port/isqlplus
    
    

    machine_name.domainにはURLを指定し、portには、使用するアプリケーション・サーバーのポート番号を指定します。iSQL*Plusの「ログイン」画面が表示されます。

    正常にログインすると、各ログインが一意に識別されるため、同じマシンまたは複数のクライアント・マシンから、複数のiSQL*Plusセッションを実行できます。

  2. ユーザー名、パスワードおよび接続識別子を入力します。詳細は、「ユーザー名およびパスワードのログイン」および「データベースへの接続」を参照してください。

  3. 「ログイン」ボタンをクリックします。iSQL*Plusの「ワークスペース」画面が表示されます。

DBAでのiSQL*Plusの起動

SYSDBAまたはSYSOPER権限でiSQL*Plusセッションを開始するには、次の形式のiSQL*Plus DBA URLを使用します。

http://machine_name:port/isqlplus/dba/

iSQL*Plus DBA URLにアクセスするには、JAZN(Java AuthoriZatioN)と呼ばれるOracle JAAS Providerを使用してログイン資格証明を設定する必要があります。iSQL*Plus DBA URLへのアクセスの詳細は、iSQL*Plus DBAアクセスの有効化」を参照してください。

iSQL*Plus DBAのURLから接続している場合、アプリケーション・サーバー認証によってDBAの「ログイン」画面またはCONNECTコマンドを介してAS SYSDBA接続またはAS SYSOPER接続が可能です。ただし、Oracleデータベースのユーザー名およびパスワード認証では、アクセスできない場合があります。

URLからのiSQL*Plusの起動

URLから要求を送信して、iSQL*Plusを起動し、URL変数、SQLスクリプトおよび置換変数を渡すことができます。

SQLスクリプトは、HTTPまたはFTPから使用可能か、またはURL変数としてiSQL*Plusに渡される必要があります。iSQL*Plusでスクリプトを実行し、その結果をWebブラウザ・ウィンドウに戻すか、またはスクリプトを「ワークスペース」画面にロードします。

iSQL*Plusは、通常のユーザーとして、またはSYSDBAかSYSOPER権限で起動することができます。

通常のユーザーとしてiSQL*Plusを起動するために、Webブラウザの「場所」または「アドレス」フィールドに入力する構文は、次のとおりです。

http://machine_name.domain:port/isqlplus[/dynamic?UserOpts]

また、SYSDBAまたはSYSOPER権限でiSQL*Plusを起動するには、次の構文を使用します。

http://machine_name.domain:port/isqlplus/dba[/dynamic?DBAOpts]

各項目の内容は、次のとおりです。

machine_name.domainには、アプリケーション・サーバーのURLを指定します。

portには、アプリケーション・サーバーで使用されるポート番号を指定します。

UserOptsには、UserLoginScriptUserLogin&Scriptのいずれかを指定します。

DBAOptsには、DBALoginScriptDBALogin&Scriptのいずれかを指定します。

さらに、次のように指定します。

UserLoginは、userid=username[/password][@connect_identifier]という形式で指定します。

DBALoginは、userid={username[/password][@connect_identifier] | / } AS {SYSDBA | SYSOPER}という形式で指定します。

Scriptは、script=text[&type={url|text}][&action={execute|load}][&variable=value ...]という形式で指定します。

URLパラメータのuseridが存在しない場合、またはこのパラメータの情報が不完全な場合は、iSQL*Plusで「ログイン」画面が表示されます。URLパラメータが完全で、ログイン情報が有効な場合、その要求はiSQL*Plusで接続され続行されます。

SQLスクリプトのパラメータは、任意の順序で指定できます。ユーザー変数のスクリプト・パラメータは、script、useridなどの予約済キーワードで始まる場合、リテラル・パラメータではなくコマンドとしてiSQL*Plusで解釈される可能性があります。

URLパラメータのtypeがurlか、または指定されていない場合、スクリプト・パラメータはSQLスクリプトのURLとみなされます。

URLパラメータのtypeがtextの場合、スクリプト・パラメータのtextはSQLスクリプト自身の内容とみなされます。この方法で渡されたスクリプトの場合、HTMLキャラクタ・セットに制限が加えられる可能性があります。

URLパラメータのactionがexecuteか、または指定されていない場合、SQLスクリプトはiSQL*Plusで実行されます。

URLパラメータのactionがloadの場合、スクリプトは「ワークスペース」画面にロードされますが、実行はされません。Webブラウザでは、大きいスクリプトを「ワークスペース」画面に表示できない場合があります。その場合、スクリプトが切り捨てられる可能性があります。


警告

パスワードをプレーン・テキストでURLに入力すると、セキュリティ上の危険があります。パスワードを省略し、パスワードの入力を求めるプロンプトに応答することで、この危険を回避できます。 


ユーザー名HRでiSQL*Plusにログインし、パスワードの入力を求めるプロンプトを表示するには、次のように入力します。

http://machine_name.domain:5560/isqlplus/dynamic?userid=HR

iSQL*Plusで、URL http://machine_name2.domain/myscript.sqlにあるスクリプトを実行し、ユーザー名およびパスワードの入力を求めるプロンプトを表示するには、次のように入力します。

http://machine_name.domain:5560/isqlplus/dynamic?script=http://machine_
name2.domain/myscript.sql

URLに配置されているスクリプトを実行し、ユーザー名を渡し、パスワードの入力を求めるプロンプトを表示し、データベースにログインし、スクリプトにパラメータを渡して置換変数の値を指定するには、次のように入力します。

http://machine_
name.domain:5560/isqlplus/dba/dynamic?userid=hr@oracle10g%20as%20sysdba&script=ftp://ma
chine_name2.domain/script.sql&name=*&salary=12000

iSQL*Plus DBAのURLを使用するため、アプリケーション・サーバー認証も必要です。空白はサポートされていないため、この例では%20としてエンコードされています。

ユーザー名およびパスワードを渡さずに、スクリプトをiSQL*Plusにロードするには、次のように入力します。

http://machine_name.domain:5560/isqlplus/dynamic?script=select%20*%20from%20emp_
details_view;&type=text&action=load

iSQL*Plusでのヘルプの使用方法

iSQL*Plusのオンライン・ヘルプにアクセスするには、「ヘルプ」アイコンをクリックします。iSQL*Plusに固有のヘルプは、新しいブラウザ・ウィンドウに表示されます。このヘルプは、8カ国語で利用できます。

ポルトガル語(ブラジル)
フランス語
ドイツ語
イタリア語
日本語
韓国語
簡体字中国語
スペイン語

デフォルトでは英語がインストールされます。また、要求した言語が使用できない場合も、英語がインストールされます。

SQL*Plusでの言語サポートの詳細は、第11章「SQL*Plus グローバリゼーション・サポート」を参照してください。

SQL*Plusの終了

3つのユーザー・インタフェースからSQL*Plusを終了するそれぞれの方法を説明します。

無効なユーザー名またはパスワードを指定したか、あるいはその他の理由でSQL*Plusへログインできない場合は、EXIT FAILUREコマンドと同じエラー状態が戻されます。詳細は、「EXIT」コマンドを参照してください。

コマンドライン・ユーザー・インタフェースの終了

SQL*Plusでの作業が終了し、オペレーティング・システムに戻る場合は、SQL*PlusのプロンプトでEXITまたはQUITを入力するか、またはファイルを終了するキー(UNIXの場合は[Ctrl]を押しながら[D]、Windowsの場合は[Ctrl]を押しながら[Z])を入力します。

オペレーティング・システムのプロンプトに戻る前に、切断したOracleデータベースのリリース番号、およびSQL*Plusを介して使用可能なツール製品のリリース番号が表示されます。

Windows GUIの終了

コマンドライン・ユーザー・インタフェースと同様に、SQL*PlusのプロンプトでEXITまたはQUITを入力することによって、Windows GUIを終了できます。

「ファイル」メニューで「終了」をクリックしても、Windows GUIを終了できます。

iSQL*Plusユーザー・インタフェースの終了

iSQL*Plusを終了するには、「ログアウト」アイコンをクリックします。

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

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

SQLPLUSプログラムの構文

SQL*Plusのコマンドラインを起動するには、オペレーティング・システムのプロンプトで、次のようにSQLPLUSコマンドを使用します。

SQLPLUS [ [option] [Logon] [Start] ]

optionの構文は、次のとおりです。

 -H[ELP]|-V[ERSION]
 |[[-C[OMPATIBILITY] {x.y[.z]] [-L[OGON]] [-M[ARKUP] markup_option]
  [-R[ESTRICT] {1|2|3}] [-S[ILENT]] ]

また、markup_optionの構文は、次のとおりです。

 HTML [ON|OFF] [HEAD text] [BODY text] [TABLE text] [ENTMAP {ON|OFF}]
 [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]

Logonの構文は、次のとおりです。

 {username[/password][@connect_identifier] | / } [AS {SYSOPER|SYSDBA}] 
  |/NOLOG 

Startの構文は、次のとおりです。

 @{url|file_name[.ext]} [arg ...]


警告

パスワードをプレーン・テキストで指定すると、セキュリティ上の危険があります。パスワードを省略し、パスワードの入力を求めるプロンプトが表示された場合にのみ入力することで、この危険を回避できます。 


Logonの入力は、オプションです。Logonを指定しないでStartを指定した場合、SQL*Plusでは、スクリプトの1行目に有効なログインが含まれているとみなされます。StartおよびLogonのいずれも指定しない場合、SQL*Plusに、ログイン情報の入力を求めるプロンプトが表示されます。

オプション

次の項で、SQLPLUSコマンドのオプションについて説明します。

COMPATIBILITYオプション

-C[OMPATIBILITY] {x.y[.z]

SQLPLUSCOMPATIBILITYシステム変数の値に、x.y[.z]で指定したSQL*Plusのリリースを設定します。xはバージョン番号を、yはリリース番号を、zはアップデート番号を示します。たとえば、9.0.1、10.2などです。詳細は、「SET SQLPLUSCOMPAT[IBILITY] {x.y[.z]}」システム変数を参照してください。

HELPオプション

-H[ELP]

SQLPLUSコマンドでの使用方法および構文を表示し、オペレーティング・システムに制御を戻します。

VERSIONオプション

-V[ERSION]

SQL*Plusの現行のバージョンおよびレベル番号を表示し、オペレーティング・システムに制御を戻します。

LOGONオプション

-L[OGON]

初期接続に失敗した場合にユーザー名またはパスワードを求めるプロンプトを表示しないように指定します。このオプションは、実行結果が明確に成功または失敗のいずれかになるオペレーティング・システム・スクリプトで有効です。また、データベース・サーバーが実行されていないときに、接続の詳細を求めるプロンプトが再度表示されないようにする場合にも有効です。Windows GUIでは、-LOGONオプションはサポートされません。

MARKUPオプション

-M[ARKUP]

MARKUPオプションを使用すると、問合せまたはスクリプトから完全なスタンドアロンWebページを生成することができます。MARKUPオプションが現在サポートしているバージョンは、HTML 4.0 Transitionalです。


注意:

ご使用のオペレーティング・システムによっては、SQLPLUSコマンドのmarkup_option句全体を引用符で囲む必要があります。 


SQLPLUS -MARKUP HTML ONまたはSQLPLUS -MARKUP HTML ON SPOOL ONを使用して、スタンドアロンWebページを生成します。SQL*Plusによって、<HTML>および<BODY>タグでカプセル化された完全なHTMLページが自動的に生成されます。SPOOL OFFを実行するか、またはSQL*Plusを終了すると、スプール・ファイルのHTMLタグが閉じられます。

-SILENTおよび-RESTRICTコマンドライン・オプションは、-MARKUPと組み合せて使用すると有効です。

MARKUP HTML ONを使用すると、<PRE>タグまたはHTML表のいずれかにHTML出力を生成できます。表への出力では、標準のHTMLタグ<TABLE>、<TR>および<TD>が使用され、問合せ結果の行および列が自動的にエンコードされます。HTMLオプションの設定がONの場合、デフォルトではHTML表に出力されます。PREFORMAT ONを設定すると、HTMLタグ<PRE>を使用して出力を生成できます。

SQL*Plusで、MARKUPオプションの状態を表示するには、SHOW MARKUPコマンドを使用します。

SQLPLUS -MARKUPコマンドには、SET MARKUPコマンドと機能的に同等なオプションがあります。これらのオプションについては、この項で説明しています。SET MARKUPコマンドの詳細は、「SET」コマンドを参照してください。

HTML [ON|OFF]

HTMLは、生成される出力タイプをHTMLに指定するMARKUPの必須引数です。HTML引数ONおよびOFFは、HTML出力を生成するかどうかを指定します(オプション)。デフォルトはOFFです。

MARKUP HTML ONを使用すると、指定したMARKUPオプションに従ってHTML出力が生成されます。

HTML出力のONおよびOFFは、セッション中、必要に応じて切り替えることができます。デフォルトはOFFです。

HEAD text

HEAD textオプションでは、<HEAD>タグの内容を指定できます。デフォルトでは、textにデフォルトのインライン・カスケード・スタイルシートとタイトルが含まれます。

テキストに空白が含まれる場合は、引用符で囲む必要があります。SQL*Plusでは、このような自由文の入力について、HTMLの妥当性をテストしません。入力するテキストがHTMLの<HEAD>タグの内容として妥当であるかどうかは、各自が確認する必要があります。これによって、HTML出力を、ご使用のブラウザや固有のニーズに応じて柔軟にカスタマイズできます。

BODY text

BODY textオプションでは、<BODY>タグの内容を指定できます。デフォルトでは、属性は付いていません。テキストに空白が含まれる場合は、引用符で囲む必要があります。SQL*Plusでは、このような自由文の入力について、HTMLの妥当性をテストしません。入力するテキストがHTMLの<BODY>タグの内容として妥当であるかどうかは、各自が確認する必要があります。これによって、HTML出力を、ご使用のブラウザや固有のニーズに応じて柔軟にカスタマイズできます。

TABLE text

TABLE textオプションでは、<TABLE>タグの属性を入力できます。TABLE textを使用して、HTMLの<TABLE>タグのBORDER、CELLPADDING、CELLSPACING、WIDTHなどの属性を設定できます。デフォルトでは、<TABLE>のWIDTH属性は90%、BORDER属性は1に設定されます。

テキストに空白が含まれる場合は、引用符で囲む必要があります。SQL*Plusでは、このような自由文の入力について、HTMLの妥当性をテストしません。入力するテキストがHTMLの<TABLE>タグの内容として妥当であるかどうかは、各自が確認する必要があります。これによって、HTML出力を、ご使用のブラウザや固有のニーズに応じて柔軟にカスタマイズできます。

ENTMAP {ON|OFF}

ENTMAP ONまたはOFFでは、特殊文字「<」、「>」、「"」および「&」を、SQL*PlusでそれぞれのHTMLエンティティ「&lt;」、「&gt;」、「&quot;」および「&amp;」に置き換えるかどうかを指定できます。ENTMAPは、デフォルトでONに設定されています。

ENTMAPのONおよびOFFは、セッション中、必要に応じて切り替えることができます。たとえば、ENTMAP OFFを指定すると、SQL*Plus画面出力は次のようになります。

SQL>PROMPT A > B
A > B

ENTMAP ONを指定すると、SQL*Plus画面出力は次のようになります。

SQL&gt; PROMPT A > B
A &gt; B

<HEAD>タグおよび<BODY>タグのエンティティがマップされていない場合、MARKUP HEADオプションおよびMARKUP BODYオプションで有効なエンティティが使用されていることを確認する必要があります。

エンティティがマップされていない場合、Webブラウザは、データを無効なHTMLとして処理するため、それ以降すべての出力が正しく表示されなくなります。ENTMAP OFFを使用すると、独自のHTMLタグを書き込んで出力をカスタマイズできます。


注意:

ENTMAPは、HTMLオプションがONに設定されている場合にのみ有効です。出力でのエンティティの使用方法の詳細は、「COLUMN」コマンドを参照してください。 


SPOOL {ON|OFF}

SPOOL ONまたはOFFでは、SQL*PlusのSPOOL filenameコマンドで作成された各ファイルの始めと終わりに、HTML開始タグの<HTML>タグと<BODY>タグ、および終了タグの</BODY>タグと</HTML>タグを書き込むかどうかを指定できます。デフォルトはOFFです。

SPOOLのONおよびOFFは、セッション中、必要に応じて切り替えることができます。


注意:

SET MARKUP HTML SPOOLオプションとSQLPLUSのSPOOL filenameコマンドの違いを十分に理解する必要があります。

SET MARKUP HTML SPOOL ONオプションでは、スプール・ファイルへの<HTML>タグの書込みを指定できます。SQLPLUSのSPOOL filenameコマンドを実行するまで、スプール・ファイルは作成されず、SET MARKUP HTML SPOOL ONオプションで有効化されたヘッダーおよびフッター・タグをスプール・ファイルに書き込むこともできません。詳細は、「SPOOL」コマンドを参照してください。 


SPOOL filenameコマンドを実行すると、SQL*Plusによって複数のHTMLタグがスプール・ファイルに書き込まれます。

EXIT、SPOOL OFFまたはSPOOL filenameのいずれかのSQL*Plusコマンドを実行すると、SQL*Plusによって次の終了タグが書き込まれ、ファイルが閉じられます。

</BODY>
</HTML>

<HEAD>タグの内容および<BODY>の属性は、HEADおよびBODYオプションを使用して指定できます。

PRE[FORMAT] {ON|OFF}

PREFORMAT ONまたはOFFでは、出力を、SQL*Plusによって<PRE>タグまたはHTML表に書き出すかどうかを指定できます。デフォルトはOFFで、出力はHTML表に書き出されます。PREFORMATのONおよびOFFは、セッション中、必要に応じて切り替えることができます。


注意:

HTMLの<PRE>タグを使用したレポート出力を生成するには、PREFORMAT ONを設定する必要があります。次に例を示します。

SQLPLUS -M "HTML ON PREFORMAT ON"

または

SET MARKUP HTML ON PREFORMAT ON 


MARKUPの使用方法

MARKUP HTML ON PREFORMAT OFFが指定されている場合、基本的に紙のレポートの書式を設定するためのコマンドには、HTML表のレポートに対する場合とは異なる、次のような意味があります。

RESTRICTオプション

-R[ESTRICT] {1|2|3}

オペレーティング・システムと対話する特定のコマンドを使用禁止にすることができます。これは、PUP(Product User Profile)表の同じコマンドを使用禁止にする場合と同様です。ただし、-RESTRICTオプションで使用禁止にされたコマンドは、サーバーに接続していない場合も使用不可能で、SQL*Plusを終了するまで使用禁止のままです。

-RESTRICTオプションが指定されていない場合は、PUP表で使用禁止に設定されていないかぎり、すべてのコマンドが使用可能です。

-RESTRICTを指定すると、LOGIN.SQLは読み込まれません。GLOGIN.SQLは読み込まれますが、制限付きのコマンドを使用すると、正常に実行されません。

表3-1    各制限レベルでの使用禁止コマンド 
コマンド  レベル1  レベル2  レベル3 

EDIT 

使用禁止 

使用禁止 

使用禁止 

GET 

 

 

使用禁止 

HOST 

使用禁止 

使用禁止 

使用禁止 

SAVE 

 

使用禁止 

使用禁止 

SPOOL 

 

使用禁止 

使用禁止 

START、@、@@ 

 

 

使用禁止 

STORE 

 

使用禁止 

使用禁止 

SILENTオプション

-S[ILENT]

すべてのSQL*Plus情報メッセージおよびプロンプト・メッセージを非表示にします。コマンド・プロンプト、コマンドのエコーおよびSQL*Plusの起動時に通常表示されるバナーも非表示になります。usernameまたはpasswordを省略すると、プロンプトは表示されませんが、SQL*Plusによって入力が求められます。ユーザーには見えないようにSQL*Plusを使用するには、SILENTを使用して別のプログラム内でSQL*Plusを起動します。

SILENTは、CGIを含むSQLPLUS -MARKUPコマンドやオペレーティング・システムのスクリプトを使用して、Web用のレポートを作成する場合に有効なモードです。SILENTオプションを使用して作成されたレポートでは、SQL*Plusのバナーおよびプロンプトは表示されません。

Logon

username[/password]

SQL*Plusを起動し、Oracleデータベースに接続するためのユーザー名およびパスワードを指定します。


警告

パスワードをプレーン・テキストで指定すると、セキュリティ上の危険があります。パスワードを省略し、パスワードの入力を求めるプロンプトが表示されたときにのみ入力することで、この危険を回避できます。 


usernameおよびpasswordを省略すると、SQL*Plusは入力を求めるプロンプトを表示します。passwordのみを省略すると、passwordの入力を求めるプロンプトが表示されます。サイレント・モードでは、usernameおよびpasswordのプロンプトは表示されません。usernameを入力した場合は表示されますが、パスワードは表示されません。

@connect_identifier

Oracle Net接続識別子で構成されます。正確な構文は、使用するOracle Net通信プロトコルによって異なります。詳細は、Oracle Netのマニュアルを参照するか、またはデータベース管理者に問い合せてください。

/

オペレーティング・システム認証を使用するデフォルト・ログオンを表します。デフォルト・ログオンを使用する場合、接続識別子を指定できません。デフォルト・ログオンでは、SQL*Plusはユーザー名OPS$nameを使用してユーザーをログインさせようとします。nameは、ご使用のオペレーティング・システムのユーザー名です。接頭辞「OPS$」は、テキストの他の文字列に設定される場合もあります。たとえば、INIT.ORAパラメータ・ファイルの設定をLOGONnameまたはUSERIDnameに変更する場合があります。オペレーティング・システム認証の詳細は、『Oracle Database管理者ガイド』を参照してください。

AS {SYSOPER|SYSDBA}

AS句を使用すると、SYSOPERまたはSYSDBAシステム権限が付与されているユーザーによる特権付き接続が可能です。

/NOLOG

Oracleデータベースへの初期接続を確立しません。SQLコマンドを実行する前に、CONNECTコマンドを実行して有効なログインを確立する必要があります。ユーザー名、パスワードまたはデータベースを指定するためのプロンプトを、SQL*Plusスクリプトから表示するには、「/NOLOG」を使用します。このスクリプトの1行目には、ログインが含まれていないものとみなされます。

Start

@{url|file_name[.ext]} [arg ...]

スクリプトの名前および実行する引数を指定します。スクリプトは、ローカル・ファイル・システムまたはWebサーバーからコールされます。

SQL*Plusでは、SQL*PlusのSTARTコマンドを使用してファイルを実行した場合と同様に、引数がスクリプトに渡されます。ファイルに拡張子が指定されていない場合は、SET SUFFIXコマンドで定義された拡張子が使用されます。デフォルトの拡張子は、.sqlです。

詳細は、「START」コマンドを参照してください。


戻る 次へ
Oracle
Copyright © 2005 Oracle Corporation.

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