ヘッダーをスキップ
Oracle® Database Express Edition 2日でデータベース管理者
11g リリース2 (11.2)
B66471-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

3 データベースへの接続

Oracle Database XEの操作を行うには、通常、データベースにデータベース・ユーザーで接続する必要があります。操作は、SQLコマンドライン、SQL Developer、またはシステムのコマンドラインから起動したユーティリティを介して行います。

この章では、SQLコマンドライン(SQL*Plus)に焦点を当てます。SQL Developerでデータベース接続を使用する方法については、『Oracle Database Express Editionスタート・ガイド』のデータベース接続の作成に関する項を参照してください。該当の項では、ローカル・システム上のロックされていないすべてのアカウントの接続を自動生成する便利なテクニックについても説明しています。

この章は、次の項目を含みます。


関連項目:

アプリケーションからデータベースに接続する方法の詳細は、次のドキュメントを参照してください。
  • 『Oracle Database Express Edition 2日でJava開発者ガイド』

  • 『Oracle Database Express Edition 2日で.NET開発者ガイド』

  • 『Oracle Database Express Edition 2日でPHP開発者ガイド』


ローカル接続およびリモート接続について

­Oracle Database XEでは、SQLコマンドライン(SQL*Plus)とデータベースの間のローカル接続、またはTCP/IPネットワーク経由のリモート接続をサポートしています。SQLコマンドラインでOracle Database XEに接続する際に使用する方法は、ローカル接続とリモート接続のどちらを開始するかによって異なります。ローカル接続およびリモート接続については、次の項で説明します。


関連項目:


ローカル接続について

ローカルで接続するということは、Oracle Database XEがインストールされているホスト・コンピュータ(Oracle Database XEのホスト・コンピュータ)でSQLコマンドライン(または他のOracleコマンドライン・ユーティリティ)を実行してから、SQLコマンドライン(または他のユーティリティ)からデータベース接続を開始すること、またはSQL Developerを使用してローカル・データベース・ユーザーとして接続することを意味します。ローカルで接続するには、データベース・ユーザー名とパスワードのみを指定する必要があります。たとえば、図3-1は、ユーザーがSQLコマンドラインを使用してローカルで接続し、connectコマンドでユーザー名hrとパスワードhrを指定している例を示しています。

図3-1 ローカル接続

表3-1の説明が続きます。
「図3-1 ローカル接続」の説明

環境変数

Linuxでは、ローカル接続を確立する前に、環境変数を設定する必要があります。詳細は、「環境変数の設定」を参照してください。


注意:

Oracle Database XEのホスト・コンピュータにssh (またはtelnet)セッションでログインして、SQLコマンドライン(または他のOracleコマンドライン・ユーティリティ)を起動した場合は、たとえリモート・コンピュータ上のssh (またはtelnet)アプリケーションを起動した場合であっても、ローカル接続とみなされます。

リモート接続について

リモートで接続するということは、Oracle Database XEのホスト・コンピュータ以外のコンピュータでSQLコマンドライン(または他のOracleコマンドライン・ユーティリティ)を実行して、SQLコマンドライン(または他のユーティリティ)からネットワーク経由でデータベース接続を開始することを意味します。

Oracleクライアント・ソフトウェア

リモート・コンピュータには、Oracleクライアント・ソフトウェアがインストールされている必要があります。Oracleコマンドライン・ユーティリティ(およびアプリケーション)のデータベースへの接続は、Oracleクライアント・ソフトウェアを介して行われます。Oracle Database XEは、次のすべてのタイプのOracleクライアント・ソフトウェアからの接続を受け入れます。

  • Oracle Database Express Edition Client (Oracle Database XE)

    Oracle Database XEをインストールすると、Oracle Database XEも同じコンピュータにインストールされます。Oracle Database XEは、リモート・コンピュータに単独でインストールすることもできます。それは、次の場所から入手できます。

    http://www.oracle.com/technetwork/database/express-edition/

  • InstantClient

    Instant Clientは、次の場所から入手できます。

http://www.oracle.com/technetwork/database/features/instant-client/index-100365.html
  • Oracle Database Enterprise EditionまたはStandard Edition (サポートされているすべてのリリースのOracle Database)のOracleクライアント・ソフトウェア

すべてのOracleクライアント・ソフトウェアにはOracle Netが含まれており、これは、あるコンピュータのクライアント・アプリケーションから別のコンピュータのデータベースへのネットワーク経由での接続を可能にするOracleネットワーク・ソフトウェアです。

接続文字列

リモートで接続するには、ユーザー名とパスワードだけではなく、完全なOracle Net接続文字列を指定する必要があります。接続文字列には、データベース・ユーザー名とパスワードに加えて、ホスト名またはホストIPアドレス、オプションのTCPポート番号、およびオプションのデータベース・サービス名が含まれます。これらの追加パラメータは、Oracle Netが正しいホスト・コンピュータを探してOracle Database XEに接続するために必要です。Oracle Net接続文字列の形式は次のとおりです。

username/password@[//]host[:port][/service_name]

パラメータの内容は次のとおりです。

  • //はオプションです

  • hostは、Oracle Database XEが実行されているコンピュータのホスト名またはIPアドレスです

  • port (オプション)は、Oracle NetリスナーがリスニングするTCPポート番号です。指定しない場合は、デフォルトのポート番号1521が使用されます。

  • service_name (オプション)は、接続先のデータベース・サービスの名前です。Oracle Database XEのサービス名はXEです。service_nameを省略した場合は、Oracle Database XE Clientによって、デフォルトのデータベース・サービス(インストール時にXEとして構成されます)に対するリクエストが追加されます。


注意:

デフォルトのデータベース・サービスの概念は、Oracle Database XEでのみサポートされます。Oracle Database XE以外のOracleクライアント・ソフトウェアからリモートで接続する場合は、XEのサービス名を指定する必要があります。

たとえば、図3-2は、ユーザーがSQLコマンドラインを使用してリモートで接続し、connectコマンドの接続文字列でユーザー名hr、パスワードhr、ホスト名dbhost.example.comを指定している例を示しています。この接続文字列では、デフォルトのポート(1521)でデフォルトのデータベース・サービス(XE)に接続されます。

図3-2 リモート接続

図3-2の説明は図の下のリンクをクリックしてください。
「図3-2 リモート接続」の説明

環境変数

Linuxからのリモート接続を確立する前に、環境変数を設定する必要があります。詳細は、「環境変数の設定」を参照してください。

リモート接続の例

次の例のSQLコマンドラインのconnectコマンドでは、Oracle Database XEは、mydbserver.example.comのホスト・コンピュータで実行されています。

例1 この例では、デフォルトのポート番号を使用して、Oracle Database XEからのリモート接続を開始します。

CONNECT system/mypassword@mydbserver.example.com

例2 この例では、デフォルト以外のポート番号(1522)を使用して、Oracle Database XEからのリモート接続を開始します。

CONNECT system/mypassword@mydbserver.example.com:1522

例3 この例では、デフォルトのポート番号を使用し、オプションのサービス名を指定して、リモート接続を開始します。

CONNECT system/mypassword@mydbserver.example.com/XE

環境変数の設定

SQLコマンドライン(SQL*Plus)およびその他のOracleユーティリティは、オペレーティング・システムの環境変数から構成情報を取得します。この項では、これらの環境変数の設定方法を説明し、次のトピックが含まれます。

Windowsプラットフォームの環境変数の設定

Windowsプラットフォームでは、環境変数はWindowsレジストリに格納され、自動的に設定されます。データベース接続を開始する前に、環境変数に関する対応を行う必要はありません。

Linuxプラットフォームの環境変数の設定

Linuxプラットフォームでは、ターミナル・セッションからSQLコマンドラインやその他のOracleユーティリティを実行する前に、そのセッションのためにいくつかの環境変数を設定する必要があります。環境変数を設定する手順は、ローカルで接続するか、Oracle Database XEからリモートで接続するかによって異なります。

ローカル接続の場合の環境変数の設定

ローカルで接続する際の環境変数を設定するには、ターミナル・セッションで、次のいずれかのコマンドを入力します。

Bourne、KornまたはBashシェルの場合:

source /usr/lib/oracle/xe/app/oracle/product/11.2.0/server/bin/oracle_env.sh

Cシェルの場合:

source /usr/lib/oracle/xe/app/oracle/product/11.2.0/server/bin/oracle_env.csh

詳細は、「Linuxの環境変数のリファレンス」を参照してください。


注意:

「K」メニュー(KDE)または「アプリケーション」メニュー(Gnome)からSQLコマンドラインを実行する前に、環境変数を設定する必要はありません。

リモート接続の場合の環境変数の設定

Oracle Database XEからリモートで接続する際の環境変数を設定するには、リモート・コンピュータのターミナル・セッションで、次のいずれかのコマンドを入力します。

Bourne、KornまたはBashシェルの場合:

source /usr/lib/oracle/xe/app/oracle/product/11.2.0/client/bin/oracle_env.sh

Cシェルの場合:

source /usr/lib/oracle/xe/app/oracle/product/11.2.0/client/bin/oracle_env.csh

詳細は、「Linuxの環境変数のリファレンス」を参照してください。

SQLコマンドラインを使用したローカルでの接続

ローカルで接続するということは、SQLコマンドライン(SQL*Plus)とOracle Database XEが同じコンピュータで実行されることを意味します。SQLコマンドラインを使用してローカル接続を開始する方法には、次の2つの方法があります。

デスクトップからのSQLコマンドラインの起動

デスクトップからSQLコマンドラインを起動して、ローカルで接続する手順は、次のとおりです。

  1. 次の操作を1つ実行します。

    • Windowsの場合: 「スタート」をクリックし、「プログラム」(または「すべてのプログラム」)「Oracle Database 11g Express Edition」の順にポイントし、「SQLコマンドラインの実行」を選択します。

    • Linux (Gnome)の場合: 「アプリケーション」メニューで、「Oracle Database 11g Express Edition」をポイントし、「SQLコマンドラインの実行」を選択します。

    • Linux (KDE)の場合: 「K」メニューのアイコンをクリックし、「Oracle Database 11g Express Edition」をポイントし、「SQLコマンドラインの実行」を選択します。

    SQLコマンドラインのコマンド・ウィンドウが開きます。

  2. SQLコマンドラインのプロンプトで、次のコマンドを入力します。

    CONNECT username/password
    

    たとえば、ユーザーHR、パスワードPEOPLEで接続するには、次のコマンドを入力します。

    CONNECT HR/PEOPLE
    

ターミナル・セッションまたはコマンド・ウィンドウからのSQLコマンドラインの起動

ターミナル・セッションまたはコマンド・ウィンドウからSQLコマンドラインを起動して、ローカルで接続する手順は、次のとおりです。

  1. まだ開いていない場合は、ターミナル・セッション(Linux)またはコマンド・ウィンドウ(Windows)を開きます。

  2. (Linuxのみ) セッションに必要な環境変数をまだ設定していない場合は、「Linuxプラットフォームの環境変数の設定」の説明に従って、それらを設定します。

  3. オペレーティング・システムのプロンプトで次のコマンドを入力します。

    SQLPLUS /NOLOG
    
  4. SQLコマンドラインのプロンプトで、次のコマンドを入力します。

    CONNECT username/password
    

    たとえば、ユーザーHR、パスワードPEOPLEで接続するには、次のコマンドを入力します。

    CONNECT HR/PEOPLE
    

SQLコマンドラインを使用したリモートでの接続

リモートで接続するということは、あるコンピュータ(リモート・コンピュータ)でSQLコマンドライン(SQL*Plus)を実行して、別のコンピュータ上のOracle Database XEへの接続を開始することを意味します。

Oracle Database XEを使用して、SQLコマンドラインからリモート接続を開始する手順は、次のとおりです。

  1. リモート・コンピュータで、ターミナル・セッションを開始するか(Linux)、コマンドライン・ウィンドウを開きます(Windows)。

    ホストの資格証明を要求された場合は、リモート・コンピュータにログインします。

  2. (Linuxのみ) セッションに必要な環境変数をまだ設定していない場合は、「Linuxプラットフォームの環境変数の設定」の説明に従って、それらを設定します。

  3. オペレーティング・システムのプロンプトで次のコマンドを入力します。

    SQLPLUS /NOLOG
    
  4. SQLコマンドラインのプロンプトで、CONNECTコマンドを入力して接続文字列を指定します。

    CONNECT username/password@[//]host[:port][/service_name]
    

    接続文字列の詳細および例については、「リモート接続について」を参照してください。

Linuxの環境変数のリファレンス

この項では、次の2つのシナリオでLinuxの環境変数を設定するためのリファレンス情報を提供します。

表3-1に、これらの各シナリオで設定する必要がある環境変数を示します。表3-2に、環境変数の説明と必要な値を示します。

表3-1 Oracleユーティリティを使用して接続する場合に必要なLinuxの環境変数

接続タイプ 必要な環境変数

ローカル


ORACLE_SID
ORACLE_HOME
PATH
NLS_LANG
LD_LIBRARY_PATH

リモート(Oracle Database XEを使用)


ORACLE_HOME
PATH
NLS_LANG
LD_LIBRARY_PATH
SQLPATH

表3-2 Linuxの環境変数の説明および値

変数名 説明 必要な値

ORACLE_SID

OracleインスタンスID

XE

ORACLE_HOME

Oracleホーム・ディレクトリ

ローカル接続の場合:

/usr/lib/oracle/xe/app/oracle/product/11.2.0/server

Oracle Database XEとのリモート接続の場合:

/usr/lib/oracle/xe/app/oracle/product/11.2.0/client

PATH

実行可能ファイルの検索パス。(このパスには、$ORACLE_HOME/binを追加する必要があります。)

Bourne、KornまたはBashシェルの場合: $ORACLE_HOME/bin:$PATH

Cシェルの場合: $ORACLE_HOME/bin:${PATH}

NLS_LANG

ロケール(クライアント・アプリケーションおよびデータベースで使用される言語および地域、クライアント・アプリケーションで使用されるキャラクタ・セット)

(任意の言語、地域およびキャラクタ・セット。詳細は、『Oracle Database Express Editionインストレーション・ガイドfor Linux x86-64』を参照してください。)

デフォルトは、AMERICAN_AMERICA.US7ASCIIです

LD_LIBRARY_PATH

共有ライブラリの検索パス。(このパスには、$ORACLE_HOME/libを追加する必要があります。

$ORACLE_HOME/lib:$LD_LIBRARY_PATH

SQLPATH

SQLコマンドライン(SQL*Plus)で使用される*.sqlスクリプトの検索パス。パスのコロン区切りリストが含まれます。サイト・プロファイル・スクリプトglogin.sqlの場所が含まれている必要があります。

$ORACLE_HOME/sqlplus/admin


次に、アメリカ合衆国のLinuxインストールでローカル接続に必要な環境変数を設定するBashシェル・コマンドを示します。

ORACLE_SID=XE;export ORACLE_SID
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/11.2.0/server;export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH;export PATH
NLS_LANG=AMERICAN_AMERICA.AL32UTF8;export NLS_LANG
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH

環境変数スクリプト

Oracle Database XEおよびOracle Database XEには、環境変数を簡単に設定するために使用可能な2つのシェル・スクリプトが付属しています。スクリプトがある場所は$ORACLE_HOME/binで、名前は次のとおりです。


oracle_env.sh (Bourne、KornまたはBashシェル用)
oracle_env.csh (Cシェル用)

新しいターミナル・セッションを開始(新しいシェルを起動)するたびに自動的に環境変数が設定されるように、ドット・ファイル内からこれらのスクリプトを起動できます。次のコマンドの例では、ホーム・ディレクトリに.cshrcファイルを追加できます。

source /usr/lib/oracle/xe/app/oracle/product/11.2.0/server/bin/oracle_env.csh