ヘッダーをスキップ
Oracle Database Net Services管理者ガイド
11g リリース1(11.1)
E05725-04
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

1 Oracle Net Servicesの概要

この章では、Oracle Net ServicesアーキテクチャおよびOracle Net Foundationレイヤーの基本要素を説明します。

この章の内容は、次のとおりです。

1.1 Oracle Net Servicesについて

Oracle Net Servicesは、異機種間分散コンピューティング環境にある企業全体への接続ソリューションを提供します。Oracle Net Servicesは、複雑なネットワーク構成や管理を簡略化し、パフォーマンスを最大化して、ネットワーク診断機能を向上させます。

この項では、代表的なネットワーク構成に関係する基本的なネットワーキングの概念を説明します。項目は、次のとおりです。

1.1.1 接続性

Oracle Net ServicesのコンポーネントであるOracle Netによって、クライアント・アプリケーションからOracle Databaseサーバーへのネットワーク・セッションが可能になります。ネットワーク・セッションが確立されると、Oracle Netはクライアント・アプリケーションやデータベース・サーバーへのデータの案内役として動作します。クライアント・アプリケーションとデータベース・サーバー間の接続の確立、メンテナンス、さらにメッセージの交換の役割を果たします。Oracle Netは、ネットワーク上の各コンピュータに配置されるために、これらのジョブを実行できます。

この項では、接続に関する次の項目を説明します。

1.1.1.1 クライアント/サーバー・アプリケーション接続

Oracle Netは、従来のクライアント/サーバー・アプリケーションからOracle Databaseサーバーへの接続を可能にします。図1-1は、Oracle Netによって、どのようにクライアントとデータベース・サーバー間のネットワーク接続が実現されているのかを示します。Oracle Netは、クライアントとデータベース・サーバーの両方に置かれるソフトウェア・コンポーネントです。Oracle NetはネットワークOracle protocol supportの最高位レイヤーになります。つまり、アプリケーションがネットワークにアクセスする方法やネットワーク上でデータを転送するためにパケットに分割する方法を決定するルールです。次の図にあるように、Oracle NetはTCP/IPプロトコルで通信するため、コンピュータ・レベルの接続とクライアントとデータベース・サーバー間のデータ転送が可能になります。

図1-1 クライアント/サーバー・アプリケーション接続

図1-1の説明は次にあります。
画像の説明

特に、Oracle Netは接続の確立と維持を行うOracle Net Foundationレイヤーと、そのテクノロジを業界標準のプロトコルにマップするOracle protocol supportで構成されています。

1.1.1.1.1 Javaクライアント・アプリケーション接続

Javaクライアント・アプリケーションは、Oracle DatabaseにJava Database Connectivity(JDBC)ドライバを介してアクセスします。これはJavaからリレーショナル・データベースへの接続を提供する標準のJavaインタフェースです。オラクル社は次のドライバを提供します。

  • クライアント側のJDBC OCIドライバは、Oracleクライアントをインストールして使用します。

  • クライアント側のPure JavaドライバであるJDBCシン・ドライバは、Oracleのインストールを必要とせず、主にアプレットと一緒に使用します。

これらのドライバはOracle Netを使用するため、クライアント・アプリケーションとOracle Database間の接続を確立できます。

図1-2では、JDBC OCIドライバとOracle Databaseサーバーを使用するJavaクライアント・アプリケーションを示します。Javaクライアント・アプリケーションは、JDBC OCIドライバへのコールを作成します。これにより、このJDBCコールは直接Oracle Netレイヤーに変換されます。次にクライアントは、Oracle Netで構成されたOracle Databaseとの通信にOracle Netを使用します。

図1-2 Javaアプリケーション接続

図1-2の説明は次にあります。
画像の説明


関連項目:


『Oracle Database JDBC開発者ガイドおよびリファレンス』

1.1.1.2 Webクライアント・アプリケーション接続

クライアントのWebブラウザからOracle Databaseサーバーへのインターネット接続は、接続要求がWebアプリケーション・サーバーを介する点を除いて、クライアント/サーバー・アプリケーションへの接続と同じです。

図1-3では、クライアントWebブラウザ、Webアプリケーション・サーバー、Oracle Databaseサーバーを含むWebクライアント接続の基本アーキテクチャを示します。クライアント上のブラウザは、HTTPプロトコルを使用してWebサーバーと通信し、接続要求を作成します。Webサーバーは、処理を行うアプリケーションに要求を送信します。次にアプリケーションは、Oracle Netで構成されたOracle Databaseサーバーとの通信にOracle Netを使用します。

図1-3 Webアプリケーション・サーバーからのWebクライアント接続

図1-3の説明は次にあります。
画像の説明

基本コンポーネントの特長は次のとおりです。

  • Hypertext Transfer Protocol(HTTP)

    HTTPは、WebブラウザとWebアプリケーション・サーバーの通信を可能にする言語を提供します。

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

    Webアプリケーション・サーバーは、Webサイトのデータの管理とアクセス制御、Webブラウザからの要求への応答を実行します。Webサーバー上のアプリケーションは、データベースと通信し、Webサーバーから要求されたジョブを実行します。

1.1.1.2.1 Java Webアプリケーション・サーバーからのWebクライアント接続

図1-4で示すように、Webアプリケーション・サーバーはJavaアプリケーションとサーブレットを動作させることができます。Webブラウザは、HTTPからWebアプリケーション・サーバーへの通信を実行して接続要求を作成します。Webアプリケーション・サーバーは、アプリケーションやサーブレットに要求を送ります。すると、JDBC OCIやJDBCシン・ドライバを使用して要求を処理します。次にドライバは、Oracle Netで構成されたOracle Databaseサーバーとの通信にOracle Netを使用します。

図1-4 Java Webアプリケーション・サーバーからのWebクライアント接続

図1-4の説明は次にあります。
画像の説明

1.1.1.3 Webアプリケーション・サーバーを使用しないWebクライアント接続

アプリケーションへのアクセスにWebアプリケーション・サーバーを必要としないWebクライアントは、Oracle Databaseに直接アクセスできます。たとえば、Javaアプレットを使用します。標準的な接続に加えて、データベースはHTTPプロトコル、FTPプロトコルまたはWebDAVプロトコル接続を受け入れるように構成できます。これらのプロトコルは、Oracle DatabaseインスタンスのOracle XML DBへの接続に使用します。

図1-5では、2つの異なるWebクライアントを示します。最初のWebクライアントはデータベースへのHTTP接続を作成します。2番目のWebクライアントは、WebブラウザとJDBCシン・ドライバを使用します。次にこのドライバは、JavaNetと呼ばれるJava版のOracle Netを使用して、Oracle Netで構成されたOracle Databaseサーバーと通信します。


関連項目:


『Oracle XML DB開発者ガイド』

図1-5 Webクライアントの接続のシナリオ

図1-5の説明は次にあります。
画像の説明

1.1.2 管理性

Oracle Net Servicesは、ネットワーキング・コンポーネントを簡単に構成および管理できる多数の管理機能を提供します。これらの機能は、次の項目で説明しています。

1.1.2.1 位置の透過性

企業は、様々なクライアント・アプリケーションの特定タイプのサービスを表す複数のデータベースを持つことができます。たとえば、販売、人事、マーケティング・アプリケーションに使用する3つのデータベースを持つ場合などがあります。各データベースは、1つ以上のサービスによって表します。 sales.us.example.comなど、サービスサービス名によって識別されます。 クライアントはこのサービス名を使用して、アクセスに使用するデータベースを識別します。データベース・サービスに関する情報とネットワーク上でのその位置は、クライアントに対して透過性があります。これは、接続に必要な情報はリポジトリに保存されているためです。

たとえば、図1-6では、企業にはクライアントがアクセスできる3つのデータベースがあることを示します。 各データベースには、個別のサービス名があります。たとえば、sales.us.example.comhr.us.example.commktg.us.example.comなどです。

  1. クライアントはリポジトリを使用して、sales.us.example.comに必要な情報を探します。

  2. クライアントは必要な情報を得ると、データベースに接続します。

図1-6 サービス情報リポジトリ

図1-6の説明は次にあります。
画像の説明

リポジトリは、1つ以上のネーミング・メソッドによって表現されます。Oracle Net Servicesは、複数タイプのネーミング・メソッドを提供します。これらのネーミング・メソッドは、各クライアント上のローカル構成、またはネットワーク上のすべてのクライアントがアクセスできる集中化された構成をサポートしています。使いやすいGraphical User Interface(GUI)によって、ネーミング・メソッドに保存されているデータを管理できます。

1.1.2.2 集中構成と管理

大規模なネットワーキング環境を管理するために、管理者は集中化されたリポジトリにアクセスして、容易にネットワーク構成の指定や変更をできる必要があります。このため、Oracle Net Servicesの構成は、LDAP準拠ディレクトリ・サーバーに保存できます。

LDAP準拠のディレクトリ・サーバーのサポートによって、分散Oracleネットワークの管理および構成のための集中化された媒体が提供されます。このディレクトリは、データベース・ネットワーク・コンポーネント、ユーザー・ポリシー、企業ポリシー、ユーザー認証およびユーザー・セキュリティに関するすべてのデータの中央リポジトリとして機能できるので、クライアント側およびサーバー側に局在化している構成ファイルに置き換えられます。

異機種で構成されるネットワーク上のすべてのコンピュータは、ディレクトリで情報を参照できます。図1-7では、クライアント、その他のサーバー(Webアプリケーション・サーバーなど)、集中化されたディレクトリ・サーバーに接続するOracle Databaseサーバーを示します。

図1-7 ディレクトリ・サーバーを伴うネットワーク構成の集中ストレージ

図1-7の説明は次にあります。
画像の説明


関連項目:


ディレクトリ・サーバーの概念の詳細は、「ディレクトリ・サーバーのサポート」を参照してください。

1.1.2.3 クイック・インストールおよび構成

Oracle Net Servicesのインストールは、短時間で簡単に実行できます。Oracle Databaseサーバーとクライアントのネットワーキング要素は、ほとんどの環境に対して事前に構成されます。Oracle Databaseサービスに関する情報は、1つ以上のネーミング・メソッドに移入されます。結果として、クライアントとサーバーはインストールされると即座に接続できる状態にあるため、ユーザーは分散環境の利点を活用できます。

1.1.3 インターネットおよびイントラネットの拡張性

Oracle Netには、拡張機能が用意されているため、システムのリソースを最大化して、パフォーマンスを改善することが可能です。

1.1.3.1 共有サーバー

Oracle Databaseの共有サーバー・アーキテクチャにより、アプリケーションの拡張性とデータベースへ同時に接続できるクライアント数は増大します。また共有サーバー・アーキテクチャでは、既存のアプリケーションの能力を、アプリケーション自体に何ら変更を加えずにスケールアップできます。

共有サーバーを使用すると、クライアントはデータベースのサーバー・プロセスと直接通信しません(サーバー・プロセスは、データベース上の1つのプロセスで、データベースにかわってクライアントの要求を処理します)。そのかわり、クライアントの要求は1つ以上のディスパッチャにルーティングされます。ディスパッチャはクライアントの要求を共通のキューに登録します。サーバー・プロセスの共有プールにあるアイドル状態の共有サーバーは、このキューから要求を取り出して処理します。つまり、サーバー・プロセスの小規模プールによる多数のクライアントの処理が可能になります。

図1-8および図1-9は、共有サーバー接続モデルと従来の専用サーバー接続モデルの基本的な違いを示しています。共有サーバー・モデルでは、ディスパッチャは同時に複数のクライアント接続をサポートします。専用サーバー・モデルでは、各クライアントに対してサーバー・プロセスは1つです。接続要求が受け取られるたびに、サーバー・プロセスが起動され、処理が完了するまでその接続の専用になります。このモデルでは、処理の遅延が起こります。

共有サーバーは、接続数が多い場合に理想的な構成です。これは、この構成によりサーバーのメモリー要件が軽減されるためです。共有サーバーは、インターネットとイントラネットの両方の環境に適しています。

図1-8 専用サーバー・アーキテクチャ

図1-8の説明は次にあります。
画像の説明

図1-9 共有サーバー・アーキテクチャ

図1-9の説明は次にあります。
画像の説明

サーバー・リソースの使用率は、共有サーバーを通じて構成できるOracle Net Services機能によって、さらに高めることができます。これらの機能は、次の項目で説明します。

1.1.3.1.1 接続プーリング

数千のクライアントが対話型のWebアプリケーションを実行していると、これらのセッションの多くはある時点でアイドル状態になることがあります。接続プーリング機能によって、データベース・サーバーはアイドル状態のセッションをタイムアウトにできるため、その接続をアクティブなセッションへのサービス提供に使用できます。アイドル状態のセッションは論理的には接続を維持したままで、次の要求がそのセッションから出されると物理的な接続は自動的に再確立されます。このため、Webアプリケーションでは多数の同時ユーザーを既存のハードウェアに適応させることができます。

図1-10は、接続プーリングの機能を示したものです。この例で、Oracle Databaseサーバーは255の接続で構成されています。クライアントの1つは、指定した時間アイドル状態でした。接続プーリングでは、この接続をクライアントからの着信接続要求に利用できるようにします。この着信接続要求は256番目になります。アイドル状態のクライアントに実行すべき作業が発生すると、アイドル状態の別のクライアントの接続で、再度接続を確立します。

図1-10 接続プーリング

図1-10の説明は次にあります。
画像の説明

1.1.3.1.2 セッションの多重化

Oracle Net ServicesのコンポーネントであるOracle Connection Managerでは、データベースへのネットワーク接続を単一化することにより、複数のクライアント・ネットワーク・セッションを多重化、つまり集中化できます。

セッションの多重化機能は、サーバーが着信要求に使用するネットワーク接続のエンドポイントの数を少なくすることにより、2つのプロセス間で複数の接続を維持するために必要なリソースを削減します。これにより、サーバーが処理できるネットワーク・セッションの総数が増加します。1つのOracle Connection Managerを複数のゲートウェイで構成すると、数千のユーザーをサーバーに同時接続できます。

図1-11では、セッションの多重化のWebアーキテクチャにおける使用方法を示します。Oracle Connection ManagerがWebアプリケーション・サーバーと同じコンピュータ上で実行されると、Webアプリケーション・サーバーは、複数のクライアント・セッションをOracle Connection Managerからルーティングでき、これらのセッションは、継続的にOracle Databaseサーバーにアクセスできます。この機能は特に、セッションの可用性と応答時間が主要課題であるWebアプリケーションで利用価値があります。

図1-11 セッションの多重化

図1-11の説明は次にあります。
画像の説明

1.1.4 中間層とOracle Database間のパフォーマンス

Oracle Net Servicesでは、Infiniband高速ネットワークをサポートします。InfiniBandは、高帯域幅のI/Oアーキテクチャで、CPU、サーバー側のデバイスおよびネットワーク・サブシステム間の通信速度を上げるように設計されています。特にOracle Net Servicesは、SDPプロトコルをサポートしています。SDPは、Infinibandネットワーク・ピア間の使用を目的とした業界標準のワイア・プロトコルです。

SDPでは、TCP/IPのオーバーヘッドが削減されます。データの中間的なレプリケーションが除去され、メッセージ交換の負荷がCPUからネットワーク・ハードウェアへ移されるためです。結果的には、待機時間の短縮、帯域幅の拡大、接続スループットの向上に貢献し、ネットワーク処理に占有されるCPU時間の削減につながります。

Oracle Application Server(OracleAS)やその他のサード・パーティの中間層クライアントを含めて、クライアント間の通信、およびOracle Database 11gデータベースは、高速相互接続の恩恵を受けています。OracleASはOracle TCP/IPサポート付きでインストールされます。

OracleASサーバーにインストールされているドライバは、透過的にTCP/IPサポートをSDPサポートに変換します。SDP要求は、次にInfinibandスイッチに送信されます。このスイッチによりこの要求は処理され、OracleASサーバーからデータベース・サーバーへ転送されます。SDP要求は、次にInfinibandスイッチに送信されます。このスイッチによりこの要求は処理され、OracleASサーバーからデータベース・サーバーへ転送されます。

1.1.5 ネットワーク・セキュリティ

データ・アクセスとデータの安全な転送は、Oracleをデプロイする際の重要な考慮事項です。データベースへのアクセスの付与や制限は、安全なネットワーク環境を構築するために重要です。Oracle Net Servicesでは、次の項目で説明する機能を使用してデータベースへのアクセス制御を実現しています。

1.1.5.1 ファイアウォール・アクセス制御

Oracle Connection Managerは、特定のデータベース・サービスやコンピュータに対するクライアントのアクセス権限を付与したり、制限するように構成できます。フィルタリング・ルールを指定すれば、次の基準に基づいて、サーバーへの特定のクライアントのアクセスを可能にしたり、制限したりできます。

  • ソース・ホスト名またはクライアントのIPアドレス

  • 接続先ホスト名またはサーバーのIPアドレス

  • 接続先データベース・サービス名

  • Oracle Advanced Securityのクライアントの使用

図1-12では、3つのWebクライアントとOracle Databaseサーバーの間に位置するOracle Connection Managerを示します。最初の2つのWebクライアントにはアクセスを許可し、3番目のクライアントのアクセスは制限できるようにOracle Connection Managerを構成します。この構成で機能させるために、クライアントにはJDBCシン・ドライバが必要です。

図1-12 Oracle Connection Managerによるイントラネット・ネットワークのアクセス制御

図1-12の説明は次にあります。
画像の説明

Oracle Connection Managerは、現在ではサード・パーティのファイアウォール製品と統合できませんが、1つのアプリケーション・ゲートウェイとして機能するようにベンダー独自の製品とパッケージ化できます。

図1-13では、社内と社外のネットワーク間の通信量を制御し、単一のチェックポイントを提供してアクセス制御と監査を実行するアプリケーション・ゲートウェイを示します。結果として、権限のないインターネット・ホストは、企業内のデータベースに直接アクセスできません。しかし、権限のあるユーザーであれば、企業ネットワークの外部のインターネット・サービスを使用できます。この機能は、インターネット環境で機密性のあるデータへのリモート・アクセスを制限するために重要です。

図1-13 アプリケーション・ゲートウェイによるインターネット・ネットワークのアクセス制御

図1-13の説明は次にあります。
画像の説明

1.1.5.2 プロトコル・アクセス制御

データベース・サーバーは、sqlnet.ora構成ファイルにあるアクセス制御パラメータで構成できます。これらのパラメータによって、プロトコルに基づいてクライアントにアクセスを許可するのか制限するのかを指定します。

1.2 ネットワーキング製品

この章で説明されている接続機能、管理機能、拡張性およびセキュリティ機能は、次のコンポーネントで提供されています。

1.2.1 Oracle Net

Oracle Netは、クライアントとOracle Databaseサーバーのソフトウェア・レイヤーにあります。Oracle Netは、クライアント・アプリケーションとサーバー間における接続の確立および維持、両者間のメッセージ交換の役割を担っていますが、このとき業界標準のプロトコルを使用しています。Oracle Netは次の2つのソフトウェア・コンポーネントで構成されています。

1.2.1.1 Oracle Net Foundationレイヤー

クライアント側でアプリケーションは、Oracle Net Foundationレイヤーと通信して接続を確立し、それを維持します。Oracle Net Foundationレイヤーは、TCP/IPなどの業界標準のネットワーク・プロトコルで通信できるOracle protocol supportを使用して、Oracle Databaseサーバーと通信します。

図1-14では、クライアントの通信スタックを示します。

図1-14 クライアント上のOracle Net

図1-14の説明は次にあります。
画像の説明

Oracle Databaseサーバー側は、図1-15で示すようにクライアント側と同じです。ネットワーク・プロトコルは、クライアント要求の情報をOracle protocol supportレイヤーに送ります。次にこの情報は、Oracle Net Foundationレイヤーに送られます。Oracle Net Foundationレイヤーは、Oracle Databaseサーバーと通信してクライアント要求を処理します。

図1-15 サーバー上のOracle Net

図1-15の説明は次にあります。
画像の説明

1.2.1.2 Oracle protocol support

Oracle Net Foundationレイヤーは、Oracle protocol supportを使用して次の業界標準のネットワーク・プロトコルと通信します。

  • TCP/IP

  • SSL付きTCP/IP

  • Named Pipes

  • SDP

Oracle protocol supportは、Oracle Net Foundationレイヤーの機能をクライアント/サーバー接続で使用する業界標準のプロトコルにマップします。

1.2.2 Oracle Net Listener

Oracle Databaseサーバー側に固有な操作の1つは、Oracle Net Listenerを通じて初期の接続を受信することです。Oracle Net Listener(このマニュアルではリスナーと呼びます)は、クライアント要求を受け取ってサーバーに渡します。リスナーはプロトコル・アドレスで構成されています。同じプロトコル・アドレスで構成されたクライアントは、そのリスナーに接続要求を送ります。接続が確立されると、クライアントとOracleサーバーは互いに直接通信します。

図1-16では、クライアントから接続要求を受け取り、Oracleサーバーにその要求を転送するリスナーを示します。

図1-16 接続要求時のリスナー

図1-16の説明は次にあります。
画像の説明


関連項目:


リスナーの詳細は、第10章「Oracle Net Listenerの構成と管理」を参照してください。

1.2.3 Oracle Connection Manager

Oracle Connection Managerは、専用のコンピュータに置かれるソフトウェア・コンポーネントです。クライアントやOracle Databaseサーバーからは分離されています。データベース・サーバーに送られる要求を代理受信して、選別します。さらに、データベース・セッションを多重化します。

Oracle Connection Managerは、セッションの多重化によって、単一のトランスポート・プロトコル接続から特定の接続先に複数のセッションを集中化させます。これにより、Oracle Connection ManagerではOracle Databaseサーバーが着信要求に使用する接続エンドポイントの数を少なくできるため、2つのプロセス間で複数の接続を維持するために必要なリソースが削減されます。

Oracle Connection Managerは、アクセス制御フィルタとしてOracleデータベースへのアクセスを制御します。


関連項目:


1.2.4 ネットワーキング・ツール

Oracle Net Servicesは、ネットワークの構成、管理および監視を簡単に実行できるユーザー・インタフェースとコマンドライン・ユーティリティを提供します。

  • Oracle Net Configuration Assistantを使用すると、リスナーおよびネーミング・メソッドを構成できます。

  • Oracle Enterprise Managerでは、複数ファイル・システムでの構成機能とリスナーの管理機能を結合して、Oracle Net Servicesを構成、管理する機能を提供します。

  • Oracle Net Managerでは、ローカル・クライアントやサーバー・ホスト上のOracleホームを構成する機能を提供します。Oracle Enterprise Manager(Enterprise Manager)やOracle Net Managerでは、Oracle Net Configuration Assistantで作成したリスナーやネーミング・メソッドの構成を細かく調整できます。さらに、Enterprise ManagerおよびOracle Net Managerは、組込みウィザードとユーティリティを提供し、これを使用して接続性をテストしたり、データを特定のネーミング・メソッドから別のネーミング・メソッドへ移行したり、さらに追加ネットワーク・コンポーネントを作成することが可能になります。

  • また、コマンドライン制御ユーティリティによって、リスナーやOracle Connection Managerなどのネットワーク・コンポーネントを構成、管理および監視できます。

1.2.5 Oracle Advanced Security

Oracle Advanced Securityは、Oracle環境に総合的なセキュリティ機能を提供する製品ですが、別にライセンスが必要です。このセキュリティ機能では、エンタープライズ・ネットワークを保護し、企業のネットワークを安全にインターネットに拡大できます。Oracle Advanced Securityは、ネットワーク暗号化と認証ソリューション、シングル・サインオン・サービスおよびセキュリティ・プロトコルの単一の統合源を提供します。また、業界標準を統合して、Oracleネットワークとその他のネットワークにこれまでにない安全性を提供します。


関連項目:


『Oracle Database Advanced Security管理者ガイド』