1 Oracle Net Servicesの概要

Oracle Net ServicesアーキテクチャおよびOracle Net Foundationレイヤーの基本要素について説明します。

1.1 Oracle Net Servicesについて

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

ノート:

用語の「SQL*Net」と「Net Services」は、Oracleドキュメント全体を通じて同じ意味で使用され、どちらの用語も同じ機能を指します。

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

1.1.1 接続の理解

Oracle Net Servicesのコンポーネントの1つであるOracle Netでは、クライアント・アプリケーションからOracle Databaseサーバーへのネットワーク・セッションを可能にします。一度ネットワーク・セッションが確立されると、Oracle Netは、クライアント・アプリケーションおよびデータベースのデータ送信手段として機能します。クライアント・アプリケーションとデータベース間でのメッセージの交換に加え、これらの間の接続を確立および維持します。このようなジョブの実行は、Oracle Netがネットワーク上の各コンピュータに配置されることにより可能になります。

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

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

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

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

図1-1の説明が続きます
「図1-1 クライアント/サーバー・アプリケーション接続」の説明

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

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

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

  • JDBC OCIドライバ。Oracleクライアン・インストールとともにクライアント側で使用します。

  • JDBC Thinドライバ。Oracleインストールを必要とせず、主にアプレットとともにクライアント側で使用するPure Javaドライバ。

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

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

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

図1-2の説明が続きます。
「図1-2 Javaアプリケーション接続」の説明
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の説明が続きます
「図1-3 アプリケーションWebサーバーからのWebクライアント接続」の説明

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

  • 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 Thinドライバを使用して要求を処理します。次にドライバは、Oracle Netで構成されたOracle Databaseサーバーとの通信にOracle Netを使用します。

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

図1-4の説明が続きます
「図1-4 JavaアプリケーションWebサーバーからのWebクライアント接続」の説明
1.1.1.2.2 アプリケーション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 Thinドライバを使用し、次にこのドライバは、JavaNetと呼ばれるJava版のOracle Netを使用して、Oracle Netで構成されたOracle Databaseサーバーと通信します。

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

図1-5の説明が続きます
「図1-5 Webクライアントの接続のシナリオ」の説明

1.1.2 管理性の理解

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

1.1.2.1 位置の透過性について

各データベースは、1つ以上のサービスで表されます。サービスは、サービス名(sales.us.example.comなど)で識別されます。クライアントはサービス名を使用して、自身がアクセスする必要があるデータベースを識別します。データベース・サービスおよびネットワーク上の位置についての情報は、クライアントに対して透過的です。これは、接続に必要な情報がリポジトリに保存されているためです。

リポジトリは、1つ以上のネーミング・メソッドによって表現されます。ネーミング・メソッドとは、データベース・サービスに接続するときに、クライアント・アプリケーションが接続識別子を接続記述子に変換するために使用する解決メソッドです。Oracle Net Servicesは、いくつかの種類のネーミング・メソッドを提供しており、これらは、各クライアント上のローカル構成またはネットワーク上のすべてのクライアントがアクセスできる集中化された構成をサポートしています。

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

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

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

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

図1-6の説明が続きます
「図1-6 サービス情報リポジトリ」の説明
1.1.2.2 集中構成と管理について

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

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

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

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

図1-7の説明が続きます。
「図1-7 ディレクトリ・サーバーを伴うネットワーク構成の集中ストレージ」の説明

関連項目:

ディレクトリ・サーバーの概念の詳細は、「集中管理用のディレクトリ・サーバーの使用」を参照してください

1.1.2.3 クイック・インストールおよび構成について

ほとんどの環境に対応するように、Oracle Databaseサーバーとクライアントのネットワーク要素が事前構成されています。簡易接続ネーミング・メソッドはデフォルトで使用可能になり、リポジトリを必要としません。クライアントは、データベースのホスト名を使用して接続します。結果として、クライアントとサーバーは簡易接続を使用して即座に接続できる状態にあるため、ユーザーは分散環境の利点を活用できます。

1.1.3 共有サーバー・アーキテクチャの理解

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

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

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

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

図1-8の説明が続きます。
「図1-8 共有サーバー・アーキテクチャ」の説明

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

図1-9の説明が続きます。
「図1-9 専用サーバー・アーキテクチャ」の説明

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

サーバー・リソースの使用率は、Oracle Connection Managerによって、さらに高めることができます。Oracle Net ServicesのコンポーネントであるOracle Connection Managerでは、データベースへのネットワーク接続を単一化することにより、複数のクライアント・ネットワーク・セッションを多重化、つまり集中化できます。

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

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

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

図1-10の説明が続きます
「図1-10 セッションの多重化」の説明

セッションの多重化の長所と短所は、次のとおりです。セッションの多重化は、継続的な接続が必要なネットワークに推奨されます。

セッション多重化の長所

  • 各プロセスに対して使用されるネットワーク・リソース数を制限します。

  • 多数のクライアントがサポートされます。

  • 一定数に制限されたプロセス接続数に対するクライアント/サーバー・セッション数を最大化します。

  • リソースの利用を最適化します。

  • 実ユーザーの識別および監視が可能になります。

  • 中間層のアプリケーションによって追加サービスをサポートできるようになります。

  • 複数のアプリケーションを持つクライアントに対して必要なトランスポートが1つのみで済みます。

  • データベース・リンクに対して必要なネットワーク接続が1つのみで済みます。

セッション多重化の短所

クライアントはOracle Connection Managerに接続する必要があります。

1.1.4 パフォーマンスの理解

ユーザーにとってシステム・パフォーマンスは重要です。通常、システムの応答時間が1秒を超えると、ユーザーはパフォーマンスが気にかかるようになります。Oracle Netの構成を変更してシステム・パフォーマンスの向上を図ることができます。

この項では、パフォーマンスに関する考慮事項について説明します。次の項目が含まれます。

1.1.4.1 リスナー・キュー・サイズ

TCP/IPを介してリスニング・プロセス(リスナー、Oracle Connection Managerなど)に対する多数の接続要求を受信することが予想される場合は、Oracle Netを使用してシステム・デフォルトより高い値になるようにリスニング・キューを設定できます。

1.1.4.2 セッション・データ・ユニットのサイズによるデータ転送の最適化

ネットワーク上にデータを送信する前にOracle Netはデータをバッファリングして、セッション・データ・ユニット(SDU)にカプセル化します。バッファが一杯になりフラッシュされるか、データベース・サーバーがデータを読み出そうとするとOracle Netはこのバッファに格納されているデータを送信します。大量のデータを転送する場合やメッセージのサイズが一貫している場合は、SDUバッファのサイズを調整することによって、パフォーマンス、ネットワークの使用率、メモリー消費を改善できます。SDUはクライアント、アプリケーションWebサーバーおよびデータベースにデプロイできます。

ネットワーク間の往復回数を減らすようにアプリケーションをチューニングすることは、ネットワーク・パフォーマンスを向上させる最も効果的な方法です。これを行った後、SDUのサイズを調整してデータ転送を最適化することもできます。

SDUのサイズを変更する際の考慮事項

SDUのサイズは、次の場合に変更します。

  • サーバーから戻されるデータが個別のパケットに分かれる場合。

  • 遅延の起こる広域ネットワーク(WAN)上にいる場合。

  • パケット・サイズが一定している場合。

  • 戻されるデータ量が多い場合。

次の場合は、SDUのサイズを変更しないでください。

  • 隣の欄に記載されている遅延を回避するためにアプリケーションをチューニングできる場合。

  • データ伝送の影響がほとんどない高速ネットワークを使用している場合。

  • 要求によってサーバーから戻されるデータ量が少ない場合。

ノート:

Oracle Database 11g以降、Oracle Net Servicesでは、バルク・データ転送がOracle SecureFiles LOBやOracle Data Guard REDOトランスポート・サービスなどのコンポーネント用に最適化されています。ネットワーク・パラメータ・ファイルで指定されているSDUサイズ制限は、これらのバルク・データ転送には適用されません。バルク・データ転送最適化は、ASOオプションが有効な場合やTLSトランスポートが使用されている場合には適用されません。

1.1.4.3 TCP/IPの固定バッファ・フラッシング

TCP/IPを使用するアプリケーションがいくつかある状況では、Oracle Netのパケットがネットワークにすぐに送出されません。この動作は大量のデータを送出するときに頻繁に実行されます。TCP/IPの実装自体がフラッシュの欠如が原因で許容範囲を超える遅延を引き起こすおそれがあります。この問題を修正するためにはバッファ・フラッシング・プロセスで遅延なしを指定します。

関連項目:

TCP.NODELAYパラメータの詳細は、『Oracle Database Net Servicesリファレンス』を参照してください。

1.1.4.4 Sockets Direct Protocol

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

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

Oracle WebLogic Serverやその他のサード・パーティの中間層クライアントを含めて、クライアント間の通信、およびOracle Database 12cは、高速相互接続の恩恵を受けています。Oracle WebLogic Serverのインストールの一部としてOracle TCP/IPのサポートが含まれています。

Oracle WebLogic Serverサーバーにインストールされたドライバが、TCP/IPサポートをSDPサポートに透過的に変換します。次に、SDP要求はInfiniBandスイッチに送信され、このスイッチによって、要求が処理され、Oracle WebLogic Serverサーバーからデータベース・サーバーに転送されます。

1.1.4.5 データベースの可用性

データベースへの可用性を実現することはネットワークでは重大な問題です。複数のリスナーを同じデータベース・サービスへのクライアント接続要求が処理できるように構成できます。これは各インスタンスにリスナーが対応付けられているOracle Real Application Clusters構成で有利な構成です。複数のリスナー構成では、次の機能を利用できます。

  • 接続時フェイルオーバーではクライアントは最初のリスナーが失敗した場合に別のリスナー(通常は異なるノード上の)に要求を送ることができます。

  • クライアント・ロード・バランシングではクライアントは複数のリスナー(通常は異なるノード上)に要求をランダム化できます。これらの機能は一緒に、または別々に使用できます。一緒に使用するとデータベースへのアクセスの確実性が高められ単一のリスナーが過負荷にならないように負荷を分散できます。

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

データ・アクセスとデータの安全な転送は、Oracle Databaseをデプロイする際の重要な考慮事項です。データベースへのアクセスの付与や制限は、安全なネットワーク環境を構築するために重要です。Oracle Net Servicesでは、ファイアウォール・アクセス制御と有効なノード登録を使用してデータベース・アクセス制御を実現しています。

関連項目:

有効なノード登録の詳細は、「Oracle Net Listenerのセキュリティの管理」を参照してください

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

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

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

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

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

  • Oracle Net Servicesのセキュリティ機能のクライアントでの使用

図1-11では、3つのクライアントとOracle Databaseサーバーの間に位置するOracle Connection Managerを示します。最初の2つのクライアントにはアクセスを許可し、3番目のクライアントのアクセスは制限できるようにOracle Connection Managerを構成します。

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

図1-11の説明が続きます
「図1-11 Oracle Connection Managerによるイントラネット・ネットワークのアクセス制御」の説明

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

一般にファイアウォールは、着信要求を受け取るように、およびOracle Databaseからの発信コールを許可するように設定する必要があります。フィルタリング・ルールを定義することにより、ネットワークへのアクセスを制限できます。

警告:

ファイアウォール・オプションの設定が正しくない場合、セキュリティの問題が発生する可能性があります。ファイアウォールの設定を変更する前に、オプションおよびネットワーク・サイトのポリシーについてシステム管理者に確認してください。

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

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

図1-12の説明が続きます
「図1-12 アプリケーション・ゲートウェイによるインターネット・ネットワークのアクセス制御」の説明

1つのファイアウォールが停止した場合に備えて、Oracle Connection ManagerファイアウォールまたはOracle Netファイアウォール・プロキシをインターネット・ネットワーク環境に少なくとも2つデプロイすることが重要です。

1.2 データベース・インスタンスの理解

データベースには1つ以上のインスタンスがあります。インスタンスは、システム・グローバル領域(SGA)と呼ばれるメモリー領域とOracleバックグラウンド・プロセスからなります。インスタンスのメモリーおよびプロセスは、関連付けられたデータベースのデータを効率よく管理し、データベース・ユーザーに提供します。

ノート:

インスタンスは、Oracle XML DBなど、他のサービスも管理します。

図2-1では、salesfinanceの2つのデータベース・インスタンスを示します。各インスタンスは、それぞれデータベースとサービス名に対応付けられています。

図1-13 各データベースに1つのインスタンス

図1-13の説明が続きます
「図1-13 各データベースに1つのインスタンス」の説明

インスタンスはインスタンス名で識別されます(この例では、salesfinanceなどです)。インスタンス名は、INSTANCE_NAME初期化パラメータで指定されます。インスタンス名のデフォルトは、データベース・インスタンスのOracleシステム識別子(SID)です。

一部のハードウェア・アーキテクチャでは、複数のコンピュータがデータ、ソフトウェアまたは周辺装置へのアクセスを共有できます。Oracle Real Application Clusters (Oracle RAC)では、単一の物理データベースを共有する異なるコンピュータ上で複数のインスタンスを実行することで、このようなアーキテクチャを活用できます。

図2-2は、Oracle RAC構成を示しています。この例では、2つのインスタンス、sales1sales2が1つのデータベース・サービス、sales.us.example.comに対応付けられています。

図1-14 1つのOracle RACデータベースへの複数インスタンスの対応付け

図1-14の説明が続きます
「図1-14 1つのOracle RACデータベースへの複数インスタンスの対応付け」の説明

1.3 Oracle Net Servicesのコンポーネント

接続機能、管理機能、拡張性およびセキュリティ機能について次の項目で説明します。

1.3.1 Oracle Netについて

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

1.3.1.1 Oracle Net Foundationレイヤー

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

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

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

図1-15の説明が続きます
「図1-15 クライアント上のOracle Net」の説明

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

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

図1-16の説明が続きます
「図1-16 サーバー上のOracle Net」の説明
1.3.1.2 Oracle Protocol Support

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

  • TCP/IP(バージョン4およびバージョン6)

  • SSL付きTCP/IP

  • 名前付きパイプ

  • SDP

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

1.3.2 Oracle Net Listenerについて

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

Oracle Net Listenerは、サービスに対応するACL (アクセス制御リスト)をサポートしています。これは、すべてのIPプロトコルでサポートされます。

関連項目:

リスナーのACLの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』DBSFWUSER.DBMS_SFW_ACL_ADMINに関する項を参照してください。

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

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

図1-17の説明が続きます
「図1-17 接続要求時のリスナー」の説明

関連項目:

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

1.3.3 Oracle Connection Managerについて

Oracle Connection Managerは、クライアント・サーバーやOracle Databaseサーバーとは別に、コンピュータに常駐するソフトウェア・コンポーネントです。これにより、データベース・サーバーに対するリクエストがプロキシ化されて選別されます。さらに、データベース・セッションの多重化も行われます。

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

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

関連項目:

1.3.4 ネットワーキング・ツールについて

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

  • Oracle Net Configuration Assistantは、リスナーおよびネーミング・メソッドを構成できるスタンドアロン・ツールです。

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

  • Oracle Net Managerでは、ローカル・クライアントやサーバー・ホスト上のOracleホームを構成する機能を提供します。

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

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

1.3.5 Oracle Advanced Securityについて

Oracle Advanced Securityは個別にライセンス供与可能な製品で、Oracle Database透過的データ暗号化(TDE)とOracle Data Redactionを提供します。TDEでは、認可された受取人のみが読めるようにデータが暗号化されます。Oracle Data Redactionでは、管理者は次のリダクション・タイプを使用して列データのリダクション(マスク)を行うことができます。

  • 完全なリダクション: 列データのすべてのコンテンツをリダクションします。問合せを行ったユーザーに返される、リダクションされた値は、列のデータ型によって異なります。たとえば、NUMBERデータ型の列はゼロ(0)でリダクションされ、文字データ型は空白でリダクションされます。

  • 部分的なリダクション: 列データの一部をリダクションします。たとえば、クレジット・カードの番号の大半(最後の4桁以外)をアスタリスク(*)でマスクするなどです。

  • 正規表現で、リダクションするデータのパターンを使用できます。たとえば、正規表現を使用して、文字の長さが変化する可能性のある電子メール・アドレスをリダクションできます。これは、文字データのみで使用するように設計されています。

  • ランダム・リダクション: リダクションされたデータは、値が表示のたびにランダムに生成されて、問合せを行ったユーザーに表示されます。

  • リダクションなし: 管理者は、リダクション・ポリシーが定義された表に対する問合せの結果に影響を与えずに、リダクション・ポリシーの内部動作をテストできます。