• 検索結果がありません。

Oracle Application Server 10g Release 3(10.1.3)- アジャイル・エンタープライズ(俊敏な企業)のためのデータ・アクセス

N/A
N/A
Protected

Academic year: 2021

シェア "Oracle Application Server 10g Release 3(10.1.3)- アジャイル・エンタープライズ(俊敏な企業)のためのデータ・アクセス"

Copied!
17
0
0

読み込み中.... (全文を見る)

全文

(1)

Oracle Application Server 10g Release 3

(10.1.3)- アジャイル・エンタープライズ

(俊敏な企業)のためのデータ・アクセス

オラクル・ホワイト・ペーパー

(2)

Oracle Application Server 10g Release 3(10.1.3)-

アジャイル・エンタープライズ(俊敏な企業)の

ためのデータ・アクセス

概要 ... 3

Oracle Application Server 10g Release 3(10.1.3)のデータ・アクセス機能 3

開発を容易にする簡素化されたデータソース分類 ... 4

スケーラブルな接続キャッシング ... 4

統合RACフェイルオーバー・サポートによる高可用性 ... 6

JDBCとデータ型に対する包括的サポート ... 7

管理性向上のためのJMXによる動的再構成 ... 8

ガードされたデータ整合性のための高度なトランザクション管理 ... 9

Oracleデータベースに対する最良のデータ・アクセス・サポート ... 10

Oracleデータ・アクセス機能に対する最も広範で

最も柔軟性のある最新のサポート ... 10

Oracle Database 10g JDBCの概要 ... 10

Oracle Database Web Servicesの概要 ... 11

Oracle TopLinkの概要... 11

暗黙的接続キャッシュ... 11

Fast Connection Failover ... 13

Oracle Database Security − プロキシ認証と仮想プライベート・

データベース(VPD)... 15

エンドツーエンドのトレース... 15

(3)

Oracle Application Server 10g Release 3(10.1.3)-

アジャイル・エンタープライズ(俊敏な企業)の

ためのデータ・アクセス

概要

企業データへのアクセスは、すべての基幹ビジネス・アプリケーションのほとん どにおいて不可欠な部分です。最近の Java アプリケーションや Web サービスは、 これまで以上のレベルのデータ・アクセス・パフォーマンス、可用性、使いやす さ、セキュリティを求めています。

Oracle Database 10g の革新的機能を活用し、Oracle Application Server 10g Release 3 (10.1.3)は今日のアジャイル・エンタープライズ(俊敏な企業)向けに包括的デー

タ・アクセス・サポートを実現します。Integrated 暗黙的接続キャッシングは、ス ケーラブルで非常に高速な接続仮想化を提供します。Fast Connection Failover は、 Oracle Real Application Clusters(RAC)と共同で高い可用性を達成します。JMX に よる動的再構成機能を使用したシンプルなデータソース分類は、使いやすさと管 理性を大幅に高めます。高度なトランザクション管理の諸機能は、共同でデータ 整合性と一貫性を保証します。Oracle Application Server 10g Release 3(10.1.3)デー タ・アクセスは、機能豊富であるばかりでなく、Oracle データベースに対して最 もよく統合されたサポートも提供するため、アプリケーションや管理者は、パ フォーマンス、可用性、開発容易性、管理性、セキュリティの面で非常に優れた Oracle データベースが活用できます。

このホワイト・ペーパーでは、Oracle Application Server 10g Release 3(10.1.3)の データ・アクセス機能の技術的概要と、Oracle Application Server 10g Release 3 (10.1.3)がすべてのアプリケーション・サービスの中で Oracle データベースに対

して業界で最適なサポートをどのように提供するか詳しく説明します。

Oracle Application Server 10g Release 3(10.1.3)のデータ・ア

クセス機能

Oracle Application Server 10g Release 3(10.1.3)は、今日のアジャイル・エンター プライズに対して包括的なデータ・アクセス・サポートを提供します。たとえば、 接続キャッシングから高速フェイルオーバーまで、シンプルで明解な構成から動 的再構成まで、標準とデータ型に対する完全なサポートから高度なトランザク ション管理まで、様々なサポートがあります。

(4)

開発を容易にする簡素化されたデータソース分類

データソースは、データベースを含むリソース・マネージャに対する接続性をカ プセル化し、あらゆるデータ・アクセス機能に対する入口となります。Oracle Application Server 10g Release 3(10.1.3)は、明解でシンプルなデータソース分類 を提供するので、優れた開発の容易性と有用性を高めます。Oracle Application Server 10g Release 3(10.1.3)は、現在、2 つのタイプのデータソースをサポート します。それは、非エミュレート・データソースとエミュレート・データソース のような古いデータソース・タイプに置き換わる、管理データソースとネイティ

ブ・データソースです。

管理データソースは、Oracle Application Server Container for J2EE(OC4J)により 管理されるデータソースです。特に、管理データソースは、OC4J に実装されてい る java.sql.DataSource インタフェースであり、JDBC ドライバまたはデータソース に対してラッパーの役割を果たします。J2EE コンポーネントは、データソース実 装がラッパーと認識せず、JNDI を介して管理データソースにアクセスします。 OC4J は、管理データソースにとって重要なシステム・インフラストラクチャとな ります。たとえば、グローバルなトランザクション管理、接続キャッシュ、JMX による動的構成、エラー処理などを提供します。 ネイティブ・データソースも java.sql.DataSource インタフェースを実装し、Oracle や Merant のような JDBC ドライバのベンダーによって提供されます。ネイティ ブ・データソースは、OC4J によりラップされることはありません。 管理データソースとネイティブ・データソース間の重要な違いを次の表に示しま す。 管理 データソース ネイティブ・ データソース データソースから取得される接続は、グローバ ル・トランザクションに参加できるか はい いいえ データソースは、OC4J の接続プールと文キャッ シュを使用できるか はい いいえ データソースから返される接続は、OC4J 接続プロ キシによりラップされるか はい いいえ

Oracle Application Server 10g Release 3(10.1.3)は、古いデータソース・タイプか ら新しいタイプへの移行をサポートします。ユーザーとアプリケーションは、実 行中にその場でデータソースを変換する、または新しいデータソース定義の入っ たデータソース構成ファイルを明示的に生成するのいずれかを選択できます。

スケーラブルな接続キャッシング

J2EE アプリケーションで最も時間を費やす操作は、データベースに対する接続の 確立です。接続キャッシングは、複数のクライアントが少数の物理的接続を共有 することにより、パフォーマンスとスケーラビリティを改善します。Oracle Application Server 10g Release 3(10.1.3)は、Oracle Database 10g JDBC の新しい暗 黙的接続キャッシング機能を統合し、データベース・アクセス時間を最小にしな がら、豊富なキャッシュ管理機能に対する透過的アクセスを実現しています。

(5)

Oracle Application Server 10g Release 3(10.1.3)データソースは、透過的かつ一元 的に接続キャッシュを管理します。キャッシュ管理とデータソースへの接続 キャッシュのバインディングのためには、いずれも接続キャッシュ・マネージャー が使われます。Java 仮想メモリー(JVM)ごとに接続キャッシュ・マネージャー の 1 つのインスタンスがあり、その JVM 内に置かれたすべての接続キャッシュが 管理されます。接続キャッシュ・マネージャーのインスタンスは、通常、何らか の接続キャッシング機能の使用前に、データソースで透過的に取得されます。 暗黙的接続キャッシュは、一元的キャッシュ管理だけでなく、次のような豊富な 機能のセットも提供します。すなわち、接続キャッシュへの透過的または暗黙的 アクセス、様々な認証済接続に対するサポート、失効した接続のキャッシュから のリフレッシュまたは再利用、ユーザー定義属性に基づく接続の検索(接続スト ライピング)、ユーザー定義の重み付けに基づく接続の検索などがあります。

Oracle Application Server 10g Release 3(10.1.3)データソースで暗黙的接続キャッ シングを構成する第 1 のツールは、ユーザー・フレンドリな Oracle Enterprise Manager(EM)10g Application Server Control Console です。Console によるデータ ソースの一元的管理により、管理コストが大幅に削減されます。標準 JMX ベース の管理は、データソース・タイプならびに関連付けられた接続キャッシュの動的 作成、削除、変更を、アプリケーション・サーバーを再起動することなくサポー トします。

あるいは、任意の Oracle Application Server 10g Release 3(10.1.3)データソースに 対して、暗黙的接続キャッシングを、data-sources.xml 構成ファイル内で宣言する ことにより有効化または失効化できます。これについては、Oracle Application Server 10g Release 3(10.1.3)での接続キャッシング構成方法に関する次の記事に 詳しく説明されています。

(6)

<connection-pool name="myConnectionPool">

<connection-factory

factory-class="oracle.jdbc.pool.OracleDataSource"

user="scott"

password="tiger"

url="jdbc:oracle:thin:@//dbhost:1521/oracle">

</connection-factory>

</connection-pool>

<managed-data-source>

jndi-name="jdbc/ManagedDS"

description="Managed DataSource">

connection-pool-name=myConnectionPool"/>

Add or Remove this

Attribute to Enable or

Disable Connection

Caching

このペーパーの後半では、Oracle Application Server 10g Release 3(10.1.3)接続 キャッシングについて詳細に説明します。

統合 RAC フェイルオーバー・サポートによる高可用性

データベースを持つ複数層アプリケーションとアプリケーション・サーバー中間 層における障害の検出およびリクエストを発信する複数の層への障害イベントの 伝播は、エンドツーエンド・フェイルオーバーにとって非常に重要です。

Oracle Application Server 10g Release 3(10.1.3)データソースは、Oracle データベー スに対する Oracle Database 10g JDBC の Fast Connection Failover サポートを統合し ます。データベースにより生成される Oracle Database 10g Real Application Clusters (RAC)UP/DOWN フェイルオーバー・イベントをリスニングすることにより、デー タベース自体と同様に接続キャッシュ内の接続をフェイルオーバーする機能が提 供されます。

Fast Connection Failover は、暗黙的接続キャッシュメカニズムおよび RAC データ ベースと連携して機能します。 接続キャッシュがマルチ・インスタンスの RAC データベースに対してセットアッ プされている場合、データベース接続は、結果的にデータベース・リスナーによっ て配布された RAC インスタンスになります。インスタンス障害またはホスト障害 が原因でインスタンスが停止すると、それに伴いすべての接続も停止されます。 たとえば、2 つのノード、2 つのインスタンスを有する RAC クラスタで、キャッ シュに 100 件までの接続を格納できるように設定された接続キャッシュに対して、 各インスタンスがそれぞれ 50 件の接続を持つとします。RAC インスタンスの 1 つが停止した場合、そのキャッシュではただちに 50 件の不良接続が発生します。 その結果、複数の不良接続がキャッシュから返される可能性があり、結果的にア プリケーション・エラーまたはブラウザ・ページ・エラーにつながります。

Fast Connection Failover のサポートにより、自動検出是正メカニズムを有効にして、 RAC 環境でのすべてのインスタンス障害またはホスト障害を処理できます。この メカニズムは、DataSource プロパティの fastConnectionFailoverEnabled を true にす るだけで、キャッシュ対応のデータソース上で有効になります。次に例を示しま す。

(7)

<managed-data-source

jndi-name="jdbc/ManagedDS"

description="Managed DataSource">

connection-pool-name="myConnectionPool"

name="ManagedDS"/>

<connection-pool

name="myConnectionPool"

min-connections="10"

max-connections="30"

inactivity-timeout="30">

<connection-factory

factory-class="oracle.jdbc.pool.OracleDataSource"

user="scott"

password="tiger"

url="jdbc:oracle:thin:@//dbhost:1521/oracle">

<property name="fastConnectionFailoverEnabled" value="true"/>

</connection-factory>

</connection-pool>

あるいは、Fast Connection Failover は、システム・プロパティ

oracle.jdbc.FastConnectionFailover を true に設定することで有効になります。これに ついては、Oracle Application Server 10g Release 3(10.1.3)での Fast Connection Failover 構成方法に関する次の記事に詳しく説明されています。

http://www.oracle.com/technology/tech/java/newsletter/articles/oc4j_data_sour ces/oc4j_ds.htm このペーパーの後半では、Fast Connection Failover について詳細に説明します。

JDBC とデータ型に対する包括的サポート

Oracle Application Server 10g Release 3(10.1.3)データ・アクセスは、トランザク ション・セーブポイント、同じ接続でのローカル・トランザクションとグローバ ル・トランザクションの切替え、PreparedStatements の再利用、CallableStatements での名前付きパラメータ、新しい Ref インタフェース、Datalink/URL など、包括 的 JDBC 3.0 サポートを提供します。

Oracle Application Server 10g Release 3(10.1.3)データ・アクセスは、接続プロキ シ、文プロキシのような動的プロキシを特徴とし、様々な JDBC ドライバにより 提供されるデータ・アクセス機能を選択できるため、アプリケーション開発が大 幅に簡単になります。すなわち、アプリケーションは、バッチ更新、プリフェッ チ、列タイプ定義のような Oracle Database 10g JDBC ドライバにより提供される多 数の Oracle 拡張機能の利点を非常に簡単に活用できるということです。

標準 JDBC データ型以外に、Oracle Application Server 10g Release 3(10.1.3)は、 Oracle Database 10g JDBC ドライバとの統合により次のような高度なデータ型と拡 張も完全にサポートするため、アプリケーションの開発と実行が速くなります。

(8)

ネイティブ IEEE の DOUBLE 型および FLOAT 型: 新規に SQL 浮動小数点数デー タ型がサポートされ、Java および J2EE アプリケーションは、情報損失なしに、以 前より高速な算術計算が実行でき、記憶域の使用量も削減できます。 VARRAY 型サポートの拡張: 集計関数(頻出するアイテム・セットの計数)の追 加、インリストに対するコレクションの使用、一般的な集合演算(交差、結合、 メンバー、等価など)。特にデータ・マイニング・アプリケーションにとって有 効です。

LONG 型から LOB 型への変換: CLOB および BLOB に対する変換関数が追加され LONG、RAW、LONG RAW との互換性を得て、Java アプリケーションでの操作 が簡単になり、アプリケーションの移植性が向上します。

サイズ制限のない LOB: この機能は、LOB に対する 4GB という長さの制限をなく します。アプリケーションは、現在、4GB を超えるバイナリ・データを格納、取 得できます。

INTERVAL DAY TO SECOND: アプリケーションは、Oracle データベースの INTERVAL DAY TO SECOND データ型を使用して、時間管理を強化します。

管理性向上のための JMX による動的再構成

Oracle Application Server 10g Release 3(10.1.3)データ・アクセスにより、ユーザー とアプリケーションは、アプリケーション・サーバー・インスタンスを再起動す ることなく、実行中にデータソースを動的に再構成できます。このことは、アプ リケーションにとって管理の柔軟性が大幅に向上することになります。

Oracle Application Server 10g Release 3(10.1.3)でデータソースの作成、削除、変 更のための第 1 のツールは、Oracle Enterprise Manager 10g Application Server Control Console(Application Server Control Console)です。Application Server Control Console により、Oracle Application Server 10g Release (10.1.3)は、データソースを管理す るための Java Management Extensions(JMX)を完全にサポートしています。これ には、データソースと接続プールの作成、データソースと接続プールの削除、お よび既存のデータソースと接続プールの変更の操作が含まれます。Application Server Control Console でデータソースが変更されると、データソースはただちにそ のアプリケーションのデータソース構成ファイル(data-sources.xml)に反映され ます。 動的データソース再構成は、暗黙的接続キャッシュの機能も活用し、指定された 新しいキャッシュ・プロパティのセットでキャッシュを再初期化することにより、 キャッシュ・プロパティの動的再構成が可能です。新しいプロパティは、新規に 作成されるすべての PooledConnections と使用されていない PooledConnections に対 して有効になります。使用中の接続では、新規のプロパティはキャッシュに戻っ てからのみ有効になります。

(9)

ガードされたデータ整合性のための高度なトランザクション管理

トランザクションは、アプリケーションに対して明確でシンプルな障害リカバリ 動作を提供します。Oracle Application Server 10g Release 3(10.1.3)データ・アク セスには、データ整合性と一貫性を保護する高度なトランザクション管理機能も 備わっています。

Oracle Application Server 10g Release 3(10.1.3)は、Java Transaction API(JTA)に 対して、次のようにサポートを拡張しています。(1)すべての XA 互換リソース をサポートする発表されたばかりの中間層トランザクション・コーディネータ、 (2)JMX コントロールなど、豊富な JTA 管理機能、(3)OC4J インスタンス間の

トランザクション伝播、(4)ファイルおよびデータベース・ベースのトランザク ション・ロギング。

Oracle Application Server 10g Release 3(10.1.3)より前では、OC4J はグローバル・ コミット・コントロールのために Oracle データベース内部でトランザクション・ コーディネータを使用していましたが、複雑な構成が必要でした。新しい中間層 コミット・コーディネータは、構成タスクを大幅に簡素化すると同時に、以前よ り高速なパフォーマンスを提供します。

Transaction Manager を構成するための第 1 のツールは、Oracle Enterprise Manager 10g Application Server Control Console です。Console は、JTA 構成と管理のために 次の 2 つのツールを提供します。 • Transaction Manager(JTA)ページ: 現在実行中のトランザクションまた はリカバリされたトランザクションすべての JTA 統計と詳細を表示し、 これらのトランザクションの JTA 再構成と管理を行えるようにします。 • JTAResource Mbean: トランザクション・コーディネータ・タイプ、ロギ ング・タイプ(なし、ファイル・ベース、データベース・ベース)、ト ランザクション・タイムアウト、最大平行トランザクション数などを構 成します。 トランザクション・コンテキスト伝播により、単一のグローバル・トランザクショ ンへの複数の OC4J インスタンスの参加が可能になります。メソッドに対する EJB 動作がクライアントのトランザクションでのスコーピング作業をサポートしてい るならば、OC4J インスタンスが既存のトランザクションのスコープ内にある別の OC4J インスタンスにリモート・コールを行う場合、複数の OC4J インスタンスが 同じトランザクションに参加する必要があります。この例として、OC4J インスタ ンス 1 のサーブレットが、OC4J インスタンス 2 にある EJB に対する参照を取得し、 トランザクションを開始し、トランザクションのスコープ内でリモート EJB に対 するメソッド・コールを行う場合を挙げることができます。複数の OC4J インス タンスが単一のトランザクションに参加している場合、グローバル・トランザク ションの一部として参加 OC4J インスタンスにより行われるすべての作業は、ア トミック(不可分)であることが保証されます。

(10)

Oracle データベースに対する最良のデータ・アクセス・サポー

Oracle Application Server 10g Release 3(10.1.3)データ・アクセスは、J2EE、JDBC、 TopLink、および Database Web Services を介してデータ・アプリケーションに対し て広範で柔軟なサポートを提供することにより、最新の Oracle データベース機能 を統合的にサポートします。暗黙的接続キャッシングと Fast Connection Failover により、アプリケーション・スケーラビリティと可用性が強化されます。Virtual Private Database により、プロキシ認証がサポートされ、ビジネス・データが保護 されます。エンドツーエンド追跡により管理の柔軟性が向上し、診断が容易にな ります。Oracle Application Sever 10g(10.1.3)は、これらのデータ・アクセス機能 をすべて活用し、エンドツーエンドのスケーラビリティ、高可用性、セキュリティ、 および管理機能をアプリケーション・レベルで設定不要で提供する、市場で唯一 のアプリケーション・サーバーです。

Oracle データ・アクセス機能に対する最も広範で最も柔軟性のある最

新のサポート

Oracle Application Server Containers for J2EE(OC4J)コアなコンポーネントのデー タ・アクセス機能以外にも、Oracle Application Server 10g Release 3(10.1.3)は、 JDBC、TopLink、および Database Web Services を介してデータ・アプリケーショ ンに対する広範で柔軟なサポートを提供しています。

Oracle Database 10g JDBC の概要

Oracle Database 10g JDBC は、市場で最良の JDBC ドライバと評価されています。 パフォーマンス、可用性、管理性、使いやすさ、柔軟性、セキュリティの面で、 Oracle データベースと最もよく統合されたドライバです。

Oracle Database 10g JDBC は、以前のリリースから設計が見直されました。Oracle Database 10g JDBC におけるパフォーマンスの最適化としては、Java から SQL へ のデータ変換の最適化、ドライバ・コード・パスの削減(リクエストに応じるた めに呼び出す Java メソッド数の削減)、データベース間でのデータの移動回数の 削減および Java オブジェクトの再使用などがあげられます。このような最適化に、 高可用性のための暗黙的接続キャッシングと Fast Connection Failover のサポート を加えた結果、SQL/XML データの問合せや取出しは一層高速で信頼性の高いもの になり、カスタム Java/J2SE/J2EE アプリケーションの実行パフォーマンスは最高 になり、標準 SPECJApp200x ベンチマークも最良の結果を出しています。

Java/J2EE アプリケーションの開発時間短縮のため、Oracle Database 10g JDBC では 次の機能を提供します。(1)JDBC 3.0 API に対する包括的サポート。これには、 トランザクション・セーブポイント、同じ接続上でのローカル・トランザクショ ンとグローバル・トランザクション間の切替え、PreparedStatements の再使用、名 前付きパラメータ、新しい Ref インタフェースと Datalink/URL、JDBC RowSets な どが含まれます。(2)Oracle Database 10g の機能を完全に活用するための包括的 データ・アクセス・サポート。これには、INTERVAL DAY TO SECOND 型のサポー ト、新しい IEEE ネイティブ・データベース・タイプのサポート、無制限の LOB サイズ、VARRAY 型の拡張、LONG 型から LOB 型への変換、プロキシ認証、拡 張暗号化アルゴリズム、名前による変数のバインドが含まれます。Java アプリケー

(11)

ション配置を簡単にするため、Oracle Database 10g JDBC では次の機能を提供して います。新しくシンプルな OCI ドライバのインストールおよびアップグレード、 容易な移行、様々なバージョンの Oracle データベースとの互換性の強化などです。 最後に、Oracle Database 10g JDBC では、タイプ 2 およびタイプ 4 の JDBC ドライ バ間の機能(PL/SQL 索引表のサポート、名前によるパラメータの引渡し、取得、 登録、RAC/HA のサポートなど)におけるギャップが減少したため、フレーバの 異なる JDBC ドライバを使用して柔軟に開発、配置ができるようになりました。

Oracle Database Web Services の概要

PL/SQL で書かれ、Oracle データベース上で稼働しているアプリケーションは多数 あります。これらのエンティティを Web サービスとして公開することにより、顧 客はこれらの資産をさらに活用できます。Oracle Application Server 10g は、Oracle データベース・エンティティ(パッケージ、ストアド・プロシージャ、関数、Java ストアド・プロシージャ、Oracle AQ キューおよびトピック)を標準ベースの Web サービスとしてシームレスに公開できる唯一のアプリケーション・サーバーです。 これらのエンティティを Web サービスとして公開するために、中間層でのコー ディングは必要ありません。Oracle Application Server ランタイムにより、公開さ れたそれぞれのサービスに対して Web サービス・エンドポイントが作成されます。 Oracle データベース・アプリケーションに対して設定せずに使用できる機能を提 供しているアプリケーション・サーバー・ベンダーは、他にありません。

Oracle TopLink の概要

Oracle TopLink は、Java オブジェクトと Oracle データベース間の不一致を解消す るための、業界をリードする OR マッピング・フレームワークです。開発者は Oracle TopLink を使用して次のことが可能になります。(i)事実上 JDBC 2.0 準拠ドライ バによりサポートされているあらゆるリレーショナル・データベース内の Java オ ブジェクトを存続させます。(ii)Oracle TopLink Mapping Workbench グラフィカ ル・マッピング・ツールを使用して、任意のオブジェクト・モデルを任意のリレー ショナル・スキーマにマッピングします。(iii)Oracle TopLink がリレーショナル・ データベースの明確なオブジェクト指向ビューを提供するため、SQL や JDBC に 慣れていないユーザーでも Oracle TopLink を効果的に使用できます。(iv)Toplink が複雑な SQL 型(Oracle Database に固有な)を Java にマッピングするため、カス タム・コーディングをせずに J2EE アプリケーション内で Oracle データベースの 高度な機能を利用できます。

暗黙的接続キャッシュ

このペーパーの最初の部分で、暗黙的接続キャッシング機能の概要を示しました。 この項では、Oracle Application Server 10g Release 3(10.1.3)に統合された Oracle Database 10g の主要機能の一部について詳しく説明します。

Oracle Application Server 10g Release 3(10.1.3)データソースは、透過的かつ一元 的に接続キャッシュを管理します。キャッシュ管理とデータソースへの接続 キャッシュのバインディングには、いずれも接続キャッシュ・マネージャーが使 用されます。暗黙的接続キャッシュは、一元的キャッシュ管理だけでなく、次の

(12)

(暗黙的)アクセス、様々な認証済接続に対するサポート、キャッシュからの失効 化した接続のリフレッシュまたは再利用、ユーザー定義属性および重みに基づく 接続の検索(接続ストライピング)などがあります。 キャッシュの管理とメンテナンス 接続キャッシュ・マネージャーは、接続キャッシュの作成と破棄、ならびに各 キャッシュの健全性を維持します。接続キャッシュは、通常、データソース・ア クセスの際に透過的に作成されます。データソースでキャッシュを作成する最初 の接続リクエストが行われたときに、キャッシュが既存しているとキャッシュの 作成はスキップされ、接続リクエストはそのままキャッシュにルーティングされ て接続を取得します。 接続キャッシュのデータソースへのバインド 接続キャッシュ・マネージャーは、キャッシュの作成および再初期化に、接続 キャッシュをそのデータソースと関連付けます。キャッシュが削除または破棄さ れた場合、関連付けは終了します。これにより、DataSource オブジェクトで getConnection()リクエストが呼び出された場合、アクセスおよび接続の取得が効率 よく行われます。 複数キャッシュのサポート

Oracle Application Server 10g Release 3(10.1.3)は、接続キャッシュ・マネージャー を利用して複数のキャッシュの共存をサポートします。一意の名前で識別される それぞれのキャッシュは、データソースに緊密にバインドされます。各キャッシュ は、getConnection()リクエストがキャッシュ対応データソースに対して行われると き、透過的に作成されるか、または接続キャッシュ・マネージャー API を介して 中間層で明示的に作成されます。 接続キャッシュ・マネージャーで作成できるキャッシュの数に制限はありません。 この数は、JVM および Oracle データベース・サーバーで利用できるリソースによっ て制限されます。 作成されたキャッシュは、接続キャッシュ・マネージャーから明示的に削除する こと、または DataSource close() API により、使用後の DataSource をクローズする 際に削除することもできます。 接続の再利用のサポート ある期間使用した接続キャッシュには、失効した接続が蓄積されます。キャッシュ 内の失効した接続を再利用またはリフレッシュするモードは REFRESH_INVALID_CONNECTIONS と REFRESH_ALL_CONNECTIONS の 2 つ です。 • REFRESH_INVALID_CONNECTIONS では、キャッシュ内の各 PooledConnection がチェックされます。無効になっている場合は、接続の リソースが削除され、新しい PooledConnection で置き換えられます。 • REFRESH_ALL_CONNECTIONS では、キャッシュ内の有効な接続がすべ てクローズされ、新しい有効な物理的接続で置き換えられます。

(13)

接続キャッシュ・プロパティ

暗黙的接続キャッシュは、接続キャッシュの特性を管理する様々な接続キャッ シュ・プロパティを提供しています。これらは、宣言により構成可能な接続プー ル XML 属性として、Oracle Application Server 10g Release 3(10.1.3)データソース にシームレスに統合されています。キャッシュ・プロパティは、最初のキャッシュ 作成時に DataSource で、またはキャッシュの再初期化時に接続キャッシュ・マネー ジャーを介して設定されます。一般的なプロパティには、キャッシュに保管され る接続数の最大、最小、初期値、文キャッシュのサイズ、キャッシュを健全に維 持するための様々な接続タイムアウト、接続の妥当性を制御するプロパティなど があります。 動的再構成のサポート 暗黙的接続キャッシュは、指定された新しいキャッシュ・プロパティのセットを 使用してキャッシュ・プロパティを再初期化することにより、キャッシュを動的 に再構成できます。新しいプロパティは、新規に作成されるすべての PooledConnections と使用されていない PooledConnections に対して有効になります。 使用中の接続では、新規のプロパティはキャッシュに戻ってからのみ有効になり ます。 廃棄済接続のサポート 廃棄された、または孤立した接続とは、接続キャッシュからチェック・アウトし た後、キャッシュに戻っていない接続のことです。暗黙的接続キャッシュは、接 続キャッシュの AbandonedConnectionTimeout プロパティに基づいて、これらの接 続を自動的に検出し、再生します。このプロパティを妥当なタイムアウト値に設 定すると、チェック・アウトした接続について、ハートビート監視プロセスが開 始されます。指定した期間ハートビートが登録されない場合、その接続は廃棄さ れたものとみなされて自動的に再生され、キャッシュに戻されます。 文キャッシュのサポート MaxStatementsLimit 接続キャッシュ・プロパティは、接続キャッシュに対しオープ ン状態にできる文の最大数を設定します。このプロパティを使用してキャッシュ が再初期化されている場合、指定された数を超えるカーソルがキャッシュされる と、超過したカーソルはクローズされます。

Fast Connection Failover

データベースを持つ複数層アプリケーションとアプリケーション・サーバー中間 層における、障害の検出およびリクエストを発信する複数の層への障害イベント の伝播は、エンドツーエンド・フェイルオーバーにとって非常に重要です。

Oracle Database 10g の RAC(Real Application Cluster)または CFC(Cold Fail-over Cluster)では、インスタンス障害が発生すると、プール内の接続が失効します。 アプリケーションは再試行しますが、失効した接続がクリーンアップされていな いと失敗します。アプリケーション・サーバーで稼働しているアプリケーション・ コードは、Connection Error Detection API を明示的に呼び出すことで、接続上の致

(14)

その場合、接続プールをクローズして新規接続プールをリクエストする責任があ ります。また、データベース・ノードが完全に失われるような障害(ネットワー ク接続の停止または単なる接続障害)の場合は、通常、障害が実際に検出され、 対応するフェイルオーバーが行われる前に期限切れにするために、完全なネット ワーク・タイムアウト・サイクルが必要です。

Oracle Database 10g JDBC は、高可用性ソリューションである Fast Connection Failover を提供しています。Oracle Application Server 10g Release 3(10.1.3)は、こ のソリューションを完全に統合していますが、他のアプリケーション・サーバー はこの機能を提供していません。バックエンド・データベースが RAC の場合、 Oracle Application Server 10g Release 3(10.1.3)は RAC ノードの障害/フェイルオー バー・イベントをサブスクライブし、ONS(Oracle Notification Service)に伝播し ます。それに対し、ONS はこれらの障害イベントを Oracle Application Server の JDBC レイヤーに伝播します。JDBC レイヤーは障害の発生した RAC ノードに対 する既存の失効した接続プールを透過的にクリーンアップし、生きている RAC ノードに対して新たな接続プールを作成します。

もっと具体的に言えば、Fast Connection Failover メカニズムは、Service DOWN イ ベントまたは Service UP イベントおよび Host DOWN イベントを処理します。 DOWN イベント処理では、常にキャッシュから不良接続がクリーンアップされま す。UP イベント処理では、キャッシュ内の接続のロード・バランシングが行われ ます。

このペーパーの前半で説明したように、Fast Connection Failover は、Oracle Application Server 10g Release 3(10.1.3)のコンポーネント構成ファイルから簡単 に構成できます。たとえば、Oracle Containers for J2EE(OC4J)の data-sources.xml からコード変更せずに構成できます。

Fast Connection Failover の機能と完全に統合することにより、Oracle Application Server 10g Release 3(10.1.3)は、次のような利点を提供します。

• RAC インスタンスまたはノード障害が検出された場合の、接続キャッ シュ内の接続の即時停止。この処理により、不適切または無効な接続が アプリケーション接続リクエストに対して渡されることを回避できます。 接続管理全体を暗黙的接続キャッシュに依存するアプリケーションの場 合は、Fast Connection Failover メカニズムにより、最大限の接続可用性が 実現されます。 • RAC UP イベントが生成された場合の接続のロード・バランシング: この モデルでは、アプリケーション接続の再試行やリクエストを待つことな く、すべてのアクティブな RAC インスタンスに対して接続が確立され、 ロード・バランシングが実行されます。なお、RAC セットアップの場合、 サービス全体が停止している場合を除き、このサービスは即座に利用可 能です。

(15)

Oracle Database Security − プロキシ認証と仮想プライベート・デー

タベース(VPD)

Oracle Application Server 10g Release 3(10.1.3)は、Application Server ユーザーと Oracle Database ユーザーのために、統合されたエンドツーエンド・セキュリティ を提供し、プロキシ認証や仮想プライベート・データベース(VPD)など、Oracle Database 10g の拡張セキュリティ機能をサポートします。 Oracle データベースでのプロキシ認証サポートにより、クライアント・ユーザー はアプリケーション・サーバーを通じてプロキシ・ユーザーとしてデータベース に接続できます。クライアント・ユーザーは、アプリケーション・サーバーによ り自身の認証を受けますが、アプリケーション・サーバー自体はプロキシ・ユー ザーとして Oracle データベースにより認証を受けます。クライアント・ユーザー の名前は、この方法でオープンされたプロキシ接続上のすべてのデータベースで 管理されます。

Oracle Application Server 10g Release 3(10.1.3)は、Oracle Database 10g JDBC ドラ イバのプロキシ認証機能を使用して、Oracle ネイティブ・データソースによるプ ロキシ認証をサポートします。 仮想プライベート・データベース(VPD)は、サーバーで施行されるファイング レイン・アクセス制御とセキュア・アプリケーション・コンテキストを Oracle Database に集積したものです。VPD は、顧客が指定するセキュリティ・ポリシー を、そのような制御の必要な場所でのみ施行するアプリケーションを構築するた めの柔軟性の高いメカニズムを提供します。VPD は、述語を持つ SQL 文を動的に 追加することにより、行レベルでデータ・アクセスを制限し、セキュリティ・ポ リシーを表(またはビューまたはシノニム)自体に結び付けます。 仮想プライベート・データベースは、データベース・レイヤーで施行され、デー タベース内でのデータ・アクセスを制限するために使用されるアプリケーション 固有のロジックを考慮します。市販の既製アプリケーションもカスタム構築され たアプリケーションも、アプリケーション・コードの行を一切変更することなく、 VPD のきめ細かいアクセス制御を活用できます。

Oracle Application Server 10g Release 3(10.1.3)は、VPD のアプリケーション透過 性の利点を活用して、どのようなデータソース・タイプでも、また TopLink でも、 VPD を完全にサポートします。ユーザーとアプリケーションは、データソース /JDBC または TopLink を使用して、Oracle データベースにストアド PL/SQL プロ シージャとしてセキュリティ・ポリシーを定義できます。

エンドツーエンドのトレース

Oracle Database 10g JDBC と Oracle Database 10g のエンドツーエンドのトレースは、 複数層アプリケーション診断能力を大幅に改善し、Web 層からデータベース・サー バーにアプリケーション測定基準を伝播できるようにすることで、そのリソース 消費を関連するすべての層で測定し、監視できます。

Oracle Application Server 10g Release 3(10.1.3)は、Oracle Enterprise Manager EM 10g の Application Service Level Management ソリューションを提供します。これは、

(16)

と個々のページ・リクエストをトレースするエンドツーエンド・パフォーマンス 診断です。

Interactive Transaction Trace 機能により、管理者は、中間層コンポーネントとデー タベースを通じて、クライアント・ブラウザから必要に応じて Web アプリケーショ ン・トランザクションをトレースできます。トランザクション・トレースは、次 のような詳細な診断を提供します。すなわち、トランザクションでアクセスされ る各 URL およびすべての URL について、合計トランザクション時間、ネットワー ク時間、サーバー時間(サーブレット/JSP、EJB 時間)、データベース時間(JDBC 時間/SQL 文パフォーマンス)が示されます。また、すべての JSP/サーブレット、 EJB、SQL 文の呼出しパスもトレースされるので、管理者はトランザクションの パフォーマンス・ボトルネックを迅速および直感的に識別できます。

同様に、Middle Tier Page Performance 機能は、履歴的に個々の URL リクエストを 中間層(JSP、サーブレット、EJB 時間)からデータベース・レベル(JDBC 時間 /SQL 文)にまで下げてトレースします。URL 処理コール・スタック詳細により、 管理者は、すべての JSP、サーブレット、EJB、SQL 文の呼出しパスを見ることが でき、アプリケーション・ボトルネックが存在する場所を迅速に特定できます。 さらに、Application Performance Correlation 機能により、管理者は、長期にわたる アプリケーション・パフォーマンス測定基準を各種システム・コンポーネント(ホ スト、アプリケーション・サーバー、データベースなど)の測定基準と関連付け ることができます。これにより、管理者は、アプリケーションのパフォーマンス に影響を与えている可能性のあるシステム関係の要因を識別できます。

また、ASLM は、Oracle Enterprise Manager 10g システム監視および管理フレーム ワークと完全に統合されています。この統合は、アプリケーションのインフラス トラクチャについて、完全にエンドツーエンドの観点をもたらし、整理統合され た管理を提供します。管理者は、ホスト、アプリケーション・サーバー、データ ベースをはじめとするすべてのアプリケーション・コンポーネントを単一の視点 から監視、管理できます。

まとめ

企業データへのアクセスは、基幹ビジネス・アプリケーションのほとんどすべて にとって不可欠な部分です。Oracle Application Server 10g Release 3(10.1.3)は、 今日のアジャイル・エンタープライズに対して包括的データ・アクセス・サポー トを提供します。たとえば、接続キャッシングからフェイルオーバーまで、シン プルで明解な構成から動的再構成まで、標準とデータタイプの完全なサポートか ら高度なトランザクション管理まで、様々なサポートがあります。同時に、Oracle Application Server 10g Release 3(10.1.3)は、Oracle データベースに対して、業界 で最もよく統合されたサポートを提供し続けており、アプリケーションや管理者 は、パフォーマンス、可用性、開発容易性、管理性、セキュリティの面で非常に 優れた Oracle データ・アクセスを完全に活用できます。

(17)

Oracle Application Server 10g Release 3(10.1.3)- アジャイル・エンタープライズ(俊敏な企業)のためのデータ・アクセス 2005 年 8 月 著者: Frances Zhao Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. 海外からのお問合せ窓口: 電話: +1.650.506.7000 ファックス: +1.650.506.7200 www.oracle.com Copyright © 2005, Oracle. 無断転載を禁ず。 この文書はあくまで参考資料であり、掲載されている情報は予告なしに変更されることがあります。 オラクル社は、本ドキュメントの無謬性を保証しません。また、本ドキュメントは、法律で明示的または暗黙的に記載 されているかどうかに関係なく、商品性または特定の目的に対する適合性に関する暗黙の保証や条件を含む一切の保証 または条件に制約されません。オラクル社は、本書の内容に関していかなる保証もいたしません。また、本書により、 契約上の直接的および間接的義務も発生しません。本書は、事前の書面による承諾を得ることなく、電子的または物理 的に、いかなる形式や方法によっても再生または伝送することはできません。

参照

関連したドキュメント

このマニュアル全体を読んで、Oracle Diagnostics Pack に同梱の Oracle Performance Manager、Oracle Capacity Planner、Oracle TopSessions および Oracle Event

・大都市に近接する立地特性から、高い県外就業者の割合。(県内2 県内2 県内2/ 県内2 / / /3、県外 3、県外 3、県外 3、県外1/3 1/3

* Windows 8.1 (32bit / 64bit)、Windows Server 2012、Windows 10 (32bit / 64bit) 、 Windows Server 2016、Windows Server 2019 / Windows 11.. 1.6.2

フィールド試験で必要な機能を 1 台に集約 世界最小クラス 10GbE テスタ (AQ1300). AQ1301 10M

Oracle WebLogic Server の脆弱性 CVE-2019-2725 に関する注 意喚起 ISC BIND 9 に対する複数の脆弱性に関する注意喚起 Confluence Server および Confluence

Oracle の Sun Storage 16 Gb Fibre Channel PCIe Universal Host Bus Adapter (HBA) (パーツ番号 7101674) は、QLogic テクノロジを使用したスタンドアロンの PCIe ロー

• LUNA™ 3は、LUNA™ mini

3.仕事(業務量)の繁閑に対応するため