Oracle Databaseのインストールしたら、最小限に構成されたクライアント/サーバー・ネットワーク環境で十分に機能的なデータベースとなります。
この章では、クライアント/サーバー・ネットワークの完全な構成に関する次の項目について説明します。
クライアントは、Oracle Databaseに接続してデータを送信または取得する任意のアプリケーションです。Oracle Databaseクライアント・アプリケーションは、Oracle Databaseクライアント・ソフトウェアがインストールされている任意のコンピュータに配置できます。
Oracle Netはクライアント・コンピュータおよびOracle Databaseのホスト・コンピュータに存在するソフトウェア・レイヤーです。ネットワークを介してクライアント・アプリケーションおよびデータベース間の接続を確立および保持し、業界標準プロトコルを使用してメッセージを交換します。
クライアント・アプリケーションとデータベースが通信するには、クライアント・アプリケーションで接続するデータベースを識別できる必要があり、データベースは識別情報を提供する必要があります。サービス名を使用してデータベースに接続できます。サービス名はデータベースを論理的に表示したもので、この方法によってクライアントにデータベースを提示します。単一のデータベースを複数のサービスとして提示できます。
サービス名では、クライアント・アプリケーションがサーバーの位置を把握する必要のない、位置の透過性を提供できます。データベースを別の位置に移動する場合は、Oracle Netの再構成のみが必要です。クライアント・アプリケーションへの変更は不要です。
この項は次のトピックで構成されています。
データベース・ホスト上のOracle Netリスナー(リスナー)は、クライアント接続要求をリスニングするプロセスです。着信中のクライアント接続要求を受信し、データベース・サーバーに対する要求の通信量を管理します。
デフォルトのリスナー構成ファイルはlistener.ora
と呼ばれ、Oracleホーム・ディレクトリのnetwork/admin
サブディレクトリにあります。たとえば、使用するOracleホーム・ディレクトリが/u01/app/oracle/product/11.2.0/dbhome_1
の場合は、デフォルトで、listener.ora
ファイルが/u01/app/oracle/product/11.2.0/dbhome_1/network/admin
ディレクトリに作成されます。
このファイルには、データベースを識別するプロトコル・アドレスが含まれています。このアドレスにより、リスナーがリスニングするプロトコルとプロトコル固有のその他の情報を定義します。たとえば、次のプロトコル・アドレスをリスニングするようリスナーを構成できます。
(DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=dbhost.example.com) (PORT=1521)))
この例は、リスナーのホスト・コンピュータおよびポート番号を指定するTCP/IPプロトコル・アドレスを示しています。リスナーは、IPバージョン4(IPv4)またはIPバージョン6(IPv6)のいずれかのアドレスを含むネットワーク・インタフェース上で接続要求をリスニングできます。
listener.ora
ファイルは、インストール時に自動的に構成されますが、Oracle Enterprise Manager Database Controlを使用して再構成することもできます。
構成パラメータにデフォルト値があるため、構成せずにリスナーを起動して使用できます。このデフォルトのリスナーはLISTENER
という名前で、起動時にはサービス名をサポートせず、次のTCP/IPプロトコル・アドレスをリスニングしています。
(ADDRESS=(PROTOCOL=tcp)(HOST=host_name)(PORT=1521))
Oracle Databaseは、起動後1分程度でリスナーに登録されます。リスナーによるクライアント要求の転送先になるサービス名またはデータベースは、listener.ora
ファイルで構成できます。この情報は、リスナーに動的に登録することもできます。リスナーによるサービスおよびデータベースの動的登録は、サービス登録と呼ばれます。
サービス登録は、各データベース・インスタンスのプロセス・モニター(PMON)・プロセス(インスタンスのバックグラウンド・プロセス)によって実行されます。動的サービス登録の場合、listener.ora
ファイルの変更は必要ありません。
関連項目:
|
次の項では、データベースへのクライアント接続の要素について説明します。
接続記述子
クライアントは、接続記述子を使用して接続先のデータベースを指定します。この接続記述子には、プロトコルとデータベース・サービス名が含まれています。データベースには複数のサービス名を定義できるため、接続するサービスの名前を接続記述子に指定する必要があります。事前構成されたデータベースでは、サービス名は1つしかなく、デフォルトでグローバル・データベース名に設定されています。
次の例は、クライアントがmydb.us.example.com
というサービス名のデータベースに接続できるようにする接続記述子を示しています。
DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=my-server) PORT=1521)) (CONNECT_DATA= (SERVICE_NAME=mydb.us.example.com))
接続要求
ユーザーは接続文字列を指定することで接続要求を開始します。接続文字列には、ユーザー名とパスワード、および接続識別子が含まれています。この接続識別子は、接続記述子そのもの、または1つ以上のリポジトリに格納されたマッピング情報を使用して接続記述子に解決される名前です。リポジトリへのアクセスには、「ネーミング・メソッド」で説明するネーミング・メソッドを使用してアクセスします。この名前をネット・サービス名と呼びます。
ネーミング・メソッド
ネーミング・メソッドとは、クライアント・アプリケーションがデータベース・サービスへの接続を試みるときに、接続識別子を接続記述子に解決するために使用する解決方法です。
Oracle Netでは、次のネーミング・メソッドがサポートされています。
簡易接続ネーミング
簡易接続ネーミング・メソッドでは、クライアントはホスト名とサービス名で構成されるTCP/IP接続文字列のみを使用してOracle Databaseに接続できます。簡易接続ネーミング・メソッドは構成の必要がありません。簡易接続ネーミングの例は、「クライアント・コンピュータからOracle Databaseへの接続」を参照してください。
ローカル・ネーミング
ローカル・ネーミング・メソッドでは、ネット・サービス名によって識別される接続記述子がtnsnames.ora
というクライアント構成ファイルに格納されます。このファイルは、ORACLE_HOME
/network/admin
ディレクトリにあります。Oracle Database Configuration Assistant(DBCA)を使用してデータベースを作成する場合、ローカル・ネーミングは自動的に構成されます。その後、Net Configuration Assistantを使用して接続記述子およびその接続記述子に対応するネット・サービス名を作成する必要があります。
ディレクトリ・ネーミング
ディレクトリ・ネーミングでは、データベース・サービス、ネット・サービス名またはネット・サービス別名がLDAP準拠のディレクトリ・サーバーに格納された接続記述子に解決されます。
関連項目:
|
Oracle Databaseでは、次のツールを使用してネットワーク構成を管理できます。
Net Configuration Assistant
データベースの標準インストールでは、Net Configuration Assistant(NETCA)によって、TCP/IPリスニング・プロトコル・アドレスを持つLISTENER
と呼ばれるリスナーがデータベースに対して自動的に構成されます。カスタム・インストールを実行すると、選択したリスナー名およびプロトコル・アドレスを構成するよう求められます。
データベースのインストール後の初期ネットワーク構成にはNetCAを使用します。その後、Oracle Enterprise ManagerおよびOracle Net Managerをネットワークの構成および管理に使用できます。
Oracle Enterprise Manager
Oracle Enterprise Managerを使用すると、サーバー側のネットワーク構成をリスナー・ページで管理できます。リスナー・ページには、現在のステータス、リスナーの構成ファイルがあるOracleホーム・ディレクトリ、ホスト名などの情報が表示されます。
Oracle Net Manager
Oracle Net Managerは、Oracle Enterprise Managerと同じ機能に加えて、構成プロファイルを提供します。
Oracle Netリスナー(リスナー)は、データベース・ホストで実行され、クライアントからの着信要求を仲介します。Oracle Enterprise Manager Database Control(Database Control)を使用すると、ホストが再起動するたびに自動的に起動するよう設定されているリスナーのステータスを表示できます。リスナーのステータスはコマンドラインからも表示可能です。
Database Controlを使用してリスナーに関する情報を表示するには、次の手順を実行します。
データベースのホームページの「一般」ヘッダーの下で、「リスナー」リンクをクリックします。
リスナー・ページに、リスナーに関する次の情報が表示されます。
現行のステータス
過去24時間の可用性
別名
バージョン
リスナーのOracleホーム
Netアドレス
構成ファイル(listener.ora
)の場所
開始時間
ホスト
(オプション)Oracleの再起動のステータス
コマンドラインからリスナーの情報を表示するには、次のようにします。
コマンド・ウィンドウを開きます。
「オペレーティング・システムの環境変数の構成」で説明されている手順に従います。
次のコマンドを入力します。
lsnrctl status
Oracleリスナーは、ホストが再起動するたびに自動的に起動するように設定されています。ただし、システムで予期しない状況が発生した場合や、リスナーを手動で停止した場合には、Database Controlを使用して、またはコマンドラインからリスナーを再起動できます。
Database Controlを使用してリスナーを停止するには、次のようにします。
データベースのホームページの「一般」の下で、「リスナー」リンクをクリックします。
リスナー・ページが表示されます。
「停止」をクリックします。
「優先資格証明」を構成していない場合は、ホスト資格証明を入力し、「ログイン」をクリックします。
リスナーの開始/停止ページで、「OK」をクリックして指定されたアクションを実行するか、「取消」をクリックして終了します。
Database Controlを使用してリスナーを起動するには、次のようにします。
データベースのホームページの「一般」ヘッダーの下で、「リスナー」リンクをクリックします。
リスナー・ページが表示されます。
「開始」をクリックします。
リスナーの開始/停止ページで、「OK」をクリックします。
数分後に、リスナーが開始されたことを示す確認メッセージが表示されます。
注意: リスナーを停止した直後で、Database Controlのリスナー・ページが開いたままのときには、「開始」ボタンは表示されません。データベースのホームページに移動し、1、2分待ってからリスナー・ページに戻る必要があります。 |
コマンドラインからリスナーを起動または停止するには、次のようにします。
コマンド・ウィンドウを開きます。
「オペレーティング・システムの環境変数の構成」で説明されている手順に従います。
リスナーを起動するか、または停止するかに応じて、次のいずれかのコマンドを入力します。
lsnrctl start lsnrctl stop
この項では、SQL*Plusの使用方法、およびクライアント・コンピュータからOracle Databaseに接続するための簡易接続ネーミング・メソッドについて説明します。通常、SQL*Plusは、Oracle Databaseクライアント・ソフトウェアのインストール時にインストールされます。簡易接続ネーミング・メソッドを使用すると、Oracle Net Servicesを構成せずにデータベースへのTCP/IP接続を確立できます。
この項の手順を使用すると、ネットワーク構成をテストできます。
簡易接続ネーミングを使用してクライアント・コンピュータからOracle Databaseに接続するには、次の手順を実行します。
「オペレーティング・システムの環境変数の構成」の手順を完了します。
次のいずれかの操作を実行してSQL*Plusを起動します。
(UNIX、LinuxまたはWindowsシステム)コマンド・ウィンドウを開いて次のコマンドを入力します。
sqlplus
(Microsoftシステムのみ)「スタート」をクリックし、「プログラム」(または「すべてのプログラム」)→「Oracle - HOME_NAME」→「Application」→「Development」→「SQL*Plus」を選択します。
プロンプトが表示されたら、ユーザー名の後にアットマーク(@)と接続識別子を入力します。接続識別子の書式は次のとおりです。
"host[:port][/service_name][:server][/instance_name]"
接続識別子の書式で使用されるプレース・ホルダーには次の意味があります。
host
: Oracle Databaseホスト・コンピュータの名前またはIPアドレスです。
IPv4とIPv6の両方のアドレスがサポートされています。IPv6アドレスは大カッコで囲む必要があります。IPv6アドレスの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。
port
(オプション): Oracle Netリスナーが接続をリスニングするTCPポート番号です。
port
を除外すると、標準ポート番号1521が想定されます。
service_name
: データベース・サービス名です。
データベース・サービス名が定義されていない場合は、データベース用に作成されるデフォルト・サービスの名前を使用できます。このサービス名には、次のようにDB_NAME
とDB_DOMAIN
初期化パラメータで構成されるグローバル・データベース名が使用されます。
DB_NAME.DB_DOMAIN
DB_DOMAIN
がNULLの場合、標準サービス名はDB_NAME
のみになります。
server
: サービス・ハンドラのタイプです。有効な値は、dedicated
、shared
およびpooled
です。省略されている場合、サーバーのデフォルトのタイプはリスナーによって選択され、構成されている場合は共有サーバー、それ以外の場合は専用サーバーになります。
instance_name
: 接続先のインスタンスです。インスタンス名のみを指定した場合、デフォルトのデータベース・サービスに接続されます。デフォルトのサービスがlistener.ora
ファイルに構成されていない場合は、エラーが生成されます。インスタンス名はINSTANCE_NAME
初期化パラメータから取得できます。
たとえば、ホストdbhost.example.com
のデータベース・サービスorcl.example.com
にユーザーNICK
として接続する場合は、ユーザー名のプロンプトに次のように入力します。
nick@"dbhost.example.com/orcl.example.com"
次の例では、ホスト名がIPv4およびIPv6のアドレスに置き換えられています。
nick@"192.0.2.1/orcl.example.com" nick@"[2001:0DB8:0:0::200C:417A]/orcl.example.com"
プロンプトが表示されたら、ユーザー・パスワードを入力します。
関連項目:
|
Oracle by Example(OBE)には、このマニュアルに関するシリーズが含まれています。このOBEでは、この章のタスクを段階的に説明し、注釈付きのスクリーンショットを使用します。
ネットワークに関するOBEを参照するには、ご使用のブラウザで次のURLを指定します。
http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/2day_dba/network/network.htm