27
WindowsでのOracle Database 11g開発と配置 Oracle テクニカル・ホワイト・ペーパー 2007 9

WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

WindowsでのOracle Database 11g:開発と配置

Oracle テクニカル・ホワイト・ペーパー 2007 年 9 月

Page 2: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

WindowsでのOracle Database 11g:開発と配置

概要 ...................................................................................................................... 3 Windows での Oracle........................................................................................... 4 .NET アプリケーションの開発......................................................................... 4

Oracle Developer Tools for Visual Studio .NET ............................................. 5 Oracle Explorer ......................................................................................... 6 デザイナとウィザード ........................................................................... 6 .NET コードの自動生成 ......................................................................... 6 PL/SQL エディタ..................................................................................... 7 完全に統合化された PL/SQL デバッガ ................................................ 7 ストアド・プロシージャのテスト ....................................................... 7 Oracle Data Window ................................................................................. 8 SQL Query Window .................................................................................. 8 統合されたオンライン・ヘルプ ........................................................... 8

Oracle Data Provider for .NET ....................................................................... 8 パフォーマンス ....................................................................................... 9 パフォーマンス - ODP.NET 11g の新機能 ......................................... 11 データベース変更通知 ......................................................................... 13 Oracle Real Application Clusters(Oracle RAC) ................................. 15 XML 機能 ............................................................................................... 16 ADO.NET 2.0.......................................................................................... 17 ネイティブな Oracle 型......................................................................... 18 ほかの主要な機能 ................................................................................. 18

Oracle Database Extensions for .NET........................................................... 19 アプリケーションの配置 ................................................................................ 19

ディレクトリ............................................................................................... 20 ネイティブ認証と Active Directory ..................................................... 20 Active Directory における Oracle Net ネーミング .............................. 21 Active Directory の機能 - Oracle Database 11g の新機能 ................... 21

セキュリティ............................................................................................... 22 Windows レジストリの Oracle Wallet .................................................. 22 Microsoft Certificate Store との統合 ..................................................... 23 Windows のセキュリティ機能 - Oracle Database 11g の新機能 ....... 23

Volume Shadow Copy Service によるバックアップとリカバリ - Oracle Database 11g の新機能 ................................................................................ 23 Oracle Fail Safe の高可用性 ........................................................................ 24

ロジカル/フィジカル・スタンバイとマルチ・クラスタの管理性. 25 結論 .................................................................................................................... 26

Windows での Oracle Database 11TgT:開発と配置

2

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 3: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

Windows での Oracle Database 11g:開発と配置

概要

Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

リューションを提供し、Windowsや.Net環境でより費用効率に優れた、簡単かつ迅

速なOracleの開発および配置を実現します。

Oracle Developer Tools for Visual Studio .NET は、Microsoft Visual Studio 2005 および

Visual Studio .NET 2003 の強力な"アドイン"により、.NET 開発者がより簡単かつ迅

速に Oracle アプリケーションを作成できるようにします。Visual Studio とは緊密

に統合されており、デザイナ、.NET コード自動生成機能、完全に統合された PL/SQL

エディタおよびデバッガなど、強力な機能が含まれています。

.NET 開発者は、Oracle Data Provider for .NET(ODP.NET)を通じて Oracle データ

ベースへアクセスできます。ODP.NET はネイティブの.NET データ・プロバイダ

であり、.NET 環境で得られる 高のパフォーマンスと Oracle データベースの機能

性を提供します。 新リリースでは、ODP.NETは64ビット.NET Framework(Windows

x64 および Itanium)、問合せと LOB 取得のより高速なパフォーマンス、System

Transactions のローカル・トランザクションをそれぞれサポートします。

Oracle Database 11gの一部として、データベース・オプションのOracle Database

Extensions for .NETがあります。これは、.NETマネージド言語で記述されたストア

ド・プロシージャやファンクションを、Windows上のOracle Databaseへデプロイす

るための機能です。.NETのストアド・プロシージャは.NETコード内からコールで

きます。また、SQL文またはトリガーからもコールでき、さらに別の.NET、PL/SQL、

Javaストアド・プロシージャからもコールできます。ストアド・プロシージャま

たはファンクションの呼出しが可能な場所からも同様です。

WindowsでのOracle Database 11gでは、新しくActive DirectoryやVolume Shadow

Copy Serviceなどの機能が含まれます。OracleはWindowsネイティブのセキュリ

ティおよびActive Directoryと統合することで、異なるオペレーティング・システム

やディレクトリ環境で運用できます。Oracleデータベースや構成ツールは、Windows

ユーザーのログイン証明書を使用し、Active Directoryに再度ログイン証明書を入

力することなく接続できます。さらに、Active DirectoryのOracleユーザーにKerberos

認証を設定する方法が、より柔軟かつ簡単になりました。

新しい Oracle Volume Shadow Copy Service(Oracle VSS)ライターは、Oracle VSS

が実施したWindows Server 2003以上のバックアップおよびリカバリにOracleデー

タベースを参加させることができます。管理者は、広く使用されている Oracle VSS

リクエスタやプロバイダ・ベンダーと組み合わせて Oracle データのバックアップ

とリカバリを確実に実施できます。

Windows での Oracle Database 11TgT:開発と配置

3

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 4: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

Oracle Fail Safeは、使い勝手のよい管理性コンソールを通じて、1つ以上のWindows

クラスタ上にある Oracle ソフトウェアの高可用性ソリューションを提供します。

Windows での Oracle

1993 年に Windows NT 初のリレーショナル・データベースとして登場して以来、

オラクルは同プラットフォーム上で 良の情報管理ソリューションを提供できる

よう尽力してきました。それ以降、Oracle テクノロジーは初期のクライアント/サー

バー・ソリューションからインターネット・アプリケーション、そして現在のグ

リッド・テクノロジーまで、Windows コンピューティングの 新の変化に適応し

てきました。現在 Oracle は、世界に通用するデータベースと、Windows オペレー

ティング・システムや.NET Frameworkの基盤テクノロジーとの緊密な統合により、

Windows プラットフォームのリーダーとしての地位を確立しています。オラクルは

25 年間蓄積したデータ管理に関する専門知識をもった業界トップクラスのベンダー

です。企業のイントラネットかインターネットかを問わず、業務に必要なアプリ

ケーションをデプロイするためのテクノロジー、経験、サービスを提供します。

Windows環境でのOracle Database 11gは、部門別の配置か企業全体への配置かを問

わず、データ管理に必要なすべての機能を提供します。これを導入することで、

ユーザーは費用効率が高く使い勝手のいいWindowsを使用しながら、Oracleがこれ

まで提供してきたスケーラビリティ、信頼性、およびパフォーマンスを享受でき

ます。この新しいOracleデータベースには、Windowsプラットフォームにおけるア

プリケーション統合を実行するための拡張機能が追加されました。

拡張機能でフォーカスされた分野は、アプリケーション開発とWindowsの配置で

す。Oracle Database 11gは、パフォーマンスを大幅に向上させたほか、Windows開

発者と管理者の両方が簡単に使用できる管理性により大きな進歩を遂げました。

Oracle 製品を使用する大きなメリットの 1 つは、それが複数のプログラミング標

準をサポートすることです。Java、.NET、PHP、C/C++アプリケーションをサポー

トすることで、オラクルはすべての開発者が Oracle の 新データベース機能を使

用できることを保証し、開発企業に真の柔軟性を提供します。Oracle の各データ・

アクセス・ドライバは、パフォーマンスを 大化し、データベースの 新機能を

利用できるように設計されています。このホワイト・ペーパーは、とくに Oracle

データベースにおける.NET 開発と、Windows と Oracle データベース・サーバーの

統合に焦点を当てて説明します。

.NET アプリケーションの開発 オラクルは.NET プログラミングにおい

て、いくつかの製品を提供しています。

Oracle Developer Tools for Visual Studio .NET は、設計時に使用するプラグインで

す。Oracle Data Provider for .NETは、Oracleの主要なデータベース機能すべてにデー

タ・アクセスできます。Oracle Database Extensions は、.NET のストアド・プロ

シージャへのサポートを提供します。

Oracle .NET の開発者は、通常、データベース表の修正やデザインの表示、データ

の更新、PL/SQL ストアド・プロシージャの編集やデバッグなど、さまざまなデー

タベース作業を実施する必要があります。Oracle Developer Tools for Visual Studio .NET

(ODT)は、こうした作業を簡単にします。ODT は Microsoft Visual Studio 2005 お

よび Visual Studio .NET 2003 と緊密に統合されており、デザイナ、.NET コード自

動生成機能、完全に統合された PL/SQL エディタやデバッガなど、強力な機能が

含まれています。

Windows での Oracle Database 11TgT:開発と配置

4

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 5: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

オラクルは、ODP.NET を通じて ADO.NET のデータ・アクセスを提供します。

ODP.NET は、Oracle データベース向けのネイティブ.NET データ・アクセス・プ

ロバイダです。C# .NET、Visual Basic .NET、ASP.NET など、どの.NET 言語から

も使用でき、.NET アプリケーション・サーバーまたは.NET ストアド・プロシー

ジャからも使用できます。ODP.NET は、どのデータ・プロバイダよりも優れたパ

フォーマンスを提供し、より多くの Oracle データベース機能へアクセスできます。

また、.NET 開発者が Oracle データベースの性能を 大化できるよう特別に設計さ

れました。

ODP.NET 11gは、Oracle Database 11gの新しいパフォーマンス機能だけでなく、

Oracleデータベースの既存機能を拡張した新機能の両方を利用します。開発者は

ODP .NETの 新版を使用することで、新規データベース・アプリケーションをデ

プロイする場合、または既存アプリケーションを拡張する場合のいずれにおいて

もメリットを得られます。

Oracle Database Extensions for .NET はデータベース・オプションであり、C#または

VB.NET などの.NET マネージド言語で記述されたストアド・プロシージャおよび

ファンクションを Windows 上のデータベース・サーバーへデプロイできます。.NET

のストアド・プロシージャは.NET コード内からコールできます。また、SQL 文ま

たはトリガーからもコールでき、さらに別の.NET、PL/SQL、Java ストアド・プロ

シージャからもコールできます。ストアド・プロシージャまたはファンクション

の呼出しが可能な場所からも同様です。

Oracle Developer Tools for Visual Studio .NET Oracle Developer Tools for Visual Studio .NETは、.NET開発者がOracleアプリケー

ションを簡単かつ迅速に記述できるよう

にします。

Oracle Developer Tools for Visual Studio .NET は、Visual Studio .NET の強力な"アド

イン"であり、.NET 開発者がより簡単かつ迅速に Oracle アプリケーションを記述

できるようにします。Oracle Technology Network から無料ダウンロードできる同製

品は、Visual Studio と緊密に統合され、デザイナ、.NET コード自動生成機能、

PL/SQL エディタやデバッガなどの強力な機能が含まれています。

これらすべての機能は、Windows 上の Oracle 開発を限りなく直感的かつ簡単に達

成できるよう設計されています。SQL Server の開発経験があれば、見慣れた形で

直感的に使用できるので、 短で習熟できます。また、Oracle の開発が初めての

人にとっても、簡単に学習できます。

おもな機能は、次のとおりです。

• Oracle Explorer - ツリー制御により Oracle スキーマを参照および変更

• デザイナとウィザード- データベース作業を容易にする表デザイナなど

• コード自動生成 - 作業コードをドラッグ・アンド・ドロップで作成

• PL/SQL エディタおよびデバッガ - PL/SQL のストアド・プロシージャ、

ファンクション、パッケージ、トリガーを編集およびデバッグ

• ストアド・プロシージャのテスト - ストアド・プロシージャおよびファ

ンクションを実行

• Oracle Data Window - Oracle データの表示および編集

• SQL Query Window - 非定型 SQL 文またはスクリプトを実行

Windows での Oracle Database 11TgT:開発と配置

5

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 6: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

• 統合ヘルプ・システム - SQL、PL/SQL、およびエラーリファレンスマニュ

アル

• NET 配置ウィザード - .NET ストアド・プロシージャを容易にデプロイ

Oracle Explorer

Oracle Explorer は、Oracle スキーマの構造を表示するツリー制御機能です。表やス

トアド・プロシージャなどのさまざまな Oracle スキーマ型は、ここに含まれます。

スキーマ・オブジェクトが選択されると、列のデータ型やストアド・プロシージャ

のパラメータ型といったメタデータは、Visual Studio .NET の"プロパティ・ペイン"

に表示されます。各スキーマ・オブジェクトのコンテキスト・メニューでは、SQL

スクリプトをスキーマ・オブジェクト用に生成したり、フィルタで表示内容を制

限したり、スキーマを変更するためにデザイナおよびウィザードを起動したりす

る追加機能を提供します。たとえば、表の構造を表示しているときでも、コンテ

キスト・メニューを使用し、"Oracle 表デザイナ"を起動して表のデザインを修正

できます。

デザイナとウィザード

Oracle Developer Tools は、表、ビュー、ストアド・プロシージャ、ストアド・ファ

ンクション、PL/SQL パッケージ、シーケンス、インデックス、制約、トリガー、

シノニムなど、多くのデータベース・オブジェクトを作成または変更する手順を

示してサポートするさまざまなデザイナやウィザードがあります。たとえば、表

デザイナはデータ型を検索したり、過去の SQL 構文を記憶したりします。表デザ

イナを例に挙げると、ユーザーは表の名前と列の名前を入力し、ドロップダウン・

ボックスから適切なデータ型を選択するだけです。そして、「Save」ボタンを押

せば表が作成または変更されます。新たに作成されたスキーマ・オブジェクトは、

すぐに Oracle Explorer に表示されます。

スキーマ・オブジェクトを作成または編集するデザイナで生成した SQL は、(変

更が実行される前に)Preview ウィンドウに表示され、同様に(変更が実施された

あとは)Oracle Database Output ウィンドウに表示されます。

.NET コードの自動生成 Oracle Explorer からアプリケーション・

フォームにスキーマ・オブジェクトをド

ラッグ・アンド・ドロップすると.NET コー

ドとなり、そのスキーマ・オブジェクト

に対して SELECT、UPDATE、INSERT、DELETE 操作が自動生成されるようにな

ります。

Oracle Explorer からアプリケーション・フォームにスキーマ・オブジェクトをド

ラッグ・アンド・ドロップすると、そのスキーマ・オブジェクトに対して SELECT、

UPDATE、INSERT、DELETE 操作の.NET コードが自動生成されます。コードは、

Oracle の堅牢な.NET データ・プロバイダの Oracle Data Provider for .NET が提供す

る OracleDataAdapter クラスを使用します。それ以降であれば、追加のコーディン

グを 小限に抑えながら、DataAdapter でアプリケーション・フォームの UI 要素

(DataGrid など)を Oracle データベースと接続させることができます。こうした

DataAdapter の使用方法は一般的で、そのほかのデータベースでプログラミング経

験があれば非常に分かりやすい作業となります。

このほか、ユーザーは Oracle の表またはビューに基づき、型付けされた、あるい

は型付けされていないデータセットに対してコードを生成するオプションが提供

されます。これらデータセットは、UI 要素のデータソースとして関連づけたり、

Visual Studio XML スキーマ・デザイナなどの Visual Studio .NET によって別の標準

Windows での Oracle Database 11TgT:開発と配置

6

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 7: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

的な方法で使用したりできます。

PL/SQL エディタ

PL/SQL エディタは、Oracle 開発者に対し、緊密に統合された開発環境を提供しな

がら、ストアド・プロシージャの開発が必要な場合に Visual Studio .NET を離れる

ことなく自由に作業を続けられます。一般的な Visual Studio の機能には、視認性

を向上させる構文の色分けや、非常に大きく複雑なパッケージの一部であるスト

アド・プロシージャまたはファンクションを隠す折りたたみ可能な領域などがあ

ります。これによって、作業中のプロシージャまたはファンクションに集中しや

すくなります。さらに、SQL または PL/SQL 文を入力すると、表または列のドロッ

プダウン・リストが表示され、オートコンプリートが提供されます。

PL/SQL のコンパイル時にエラーが発見された場合は、Visual Studio .NET の作業

リストに記載されます。クリックすると、開発者は間違ったコード行へ移動する

ことができます。コンテキスト依存のヘルプ・キーを押すと、問題のエラー・コー

ドに対するエラー・メッセージ・マニュアルが開きます。

完全に統合化された PL/SQL デバッガ ODT の統合 PL/SQL デバッガがあれば、

PL/SQL コードをステップ実行し、変数

値を表示および修正できます。また、コー

ル・スタックを表示し、ブレーク・ポイン

トを設定することもできます。VB .NET ま

たは C#のアプリケーション・コードから

直接 PL/SQL コードに移動したり戻った

りといったこともできます。

ODT 10.2.0.2 で登場した機能の PL/SQL デバッガは、Visual Studio .NET に完全に

統合化されています。これでストアド・プロシージャ、ファンクション、または

トリガーにおいて、PL/SQL コードを VB.NET や C#コードのデバッグとまったく

同じ方法でデバッグできます。PL/SQL コードをステップ実行し、変数値を表示お

よび修正できます。また、コール・スタックを表示し、ブレーク・ポイントを設

定することもできます。

また、VB .NET または C#のアプリケーション・コードから、直接 PL/SQL コード

に移動したり戻ったりといったこともできます。たとえば、Oracle Data Provider

for .NET を使用して C#コードから PL/SQL プロシージャやファンクションを呼び

出す場合は、C#コードをデバッグしてから、PL/SQL コードに移動してデバッグ

を続けることができます。PL/SQL デバッガ内の複雑なデータ型や配列を含む、ス

トアド・プロシージャまたはファンクションへ受け渡されたパラメータ値をすべ

て検証できます。PL/SQL コードの実行が終了すると、C#コードに戻ってデバッ

グの続きができます。

また、ブレーク・ポイントを設定して、あらゆるプラットフォームに位置するさ

まざまなアプリケーションからコールされる PL/SQL ストアド・プロシージャ、

ファンクション、トリガーを、そのアプリケーションを修正または再構築するこ

となくデバッグできます。たとえば、Linux 上で稼動する PHP アプリケーション

は、PL/SQL ストアド・プロシージャの FOO をコールし、値の配列に渡します。

PHP アプリケーション環境に環境変数を設定したら、Visual Studio .NET 内の FOO

にブレーク・ポイントを設定し、FOO が実行されたらデバッグを開始できます。

ストアド・プロシージャのテスト

ストアド・プロシージャとファンクションは、Oracle Explorer の「Run」コンテキ

スト・メニューからすぐにテストできます。入力パラメータが要求されてから、

プロシージャが実行されます。出力パラメータは読みやすい形式で提供されます。

REF CURSOR のような複雑な出力型の表示は、クリックすると複雑なデータを含

Windows での Oracle Database 11TgT:開発と配置

7

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 8: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

んだグリッドを開くリンクとして省略されます。

Oracle Data Window

Oracle Data Window は、表を表示するほか、読みやすい形式でデータを参照でき、

開発者は Visual Studio .NET 開発環境を出ることなくデータを挿入、更新、または

削除できます。大きな表の場合、ユーザーは行番号を入力することで、その特定

の行へ移動できます。

SQL Query Window

SELECT、CREATE、ALTER などの非定型 SQL 文は、SQL Query Window から実

行できます。SQL 文の出力が表またはビューの場合、ユーザーはテキストかグリッド

で出力できます。複数の文であれば、強調表示させてグループとして実行できま

す。SQL スクリプトを実行するときは、スクリプト演算子"@"を使用できます。

また、スキーマ・オブジェクトは、Oracle Explorer からドラッグして SQL Query

Window の画面へドロップすることで、適切な SQL を自動生成できます。

統合されたオンライン・ヘルプ

Oracle Developer Tools for Visual Studio .NET には、Visual Studio .NET のヘルプ形式

に変換されたおもな Oracle ドキュメントが含まれています。含まれているマニュ

アルは、『SQL Language Reference Guide』、『PL/SQL User and Reference Guide』、

『Error Messages and Codes』です。

これらのマニュアルの章は、Visual Studio .NET のヘルプ・ペインから順番に読む

ことができます。さらに、ドキュメントは Visual Studio コンテキスト依存のヘル

プに統合されています。たとえば、ストアド・プロシージャを記述しているとき、

開発者は"SELECT"などの SQL または PL/SQL キーワードを強調表示し、コンテキ

スト・ヘルプ・キーを押すと、自動的に『SQL Language Reference Guide』の適切

なページへ移動できます。こうしたマニュアルに加えて、Oracle Developer Tools

のドキュメントには、役立つスタートアップ・ガイド、””ウォークスルー”、リファ

レンスガイドなどがあります。

Oracle Data Provider for .NET Oracle Data Provider for .NET は、Oracleデータベースへのデータ・アクセスにお

いて高いパフォーマンスを提供します。

データベースの変更通知、XML DB、ネイ

ティブの Oracle データ型、Oracle Real Application Clusters を含むデータベース

の最新機能をサポートします。

ODP.NET は、Oracle データベースのネイティブな.NET データ・アクセス・ドラ

イバです。Oracle 固有のデータソースを念頭に開発され、ODP .NET は高速パフォー

マンスとデータベースの 新機能へのアクセスを実施するよう 適化されていま

す。このことから、ODP.NET は Oracle 向けに提供される多くのデータ・アクセス・

ソリューションと比べて、Oracle データベースをより柔軟で高速に、安定して使

用できます。バージョン 10.2.0.2 より、ODP.NET は ADO.NET 1.x および 2.0 に準

拠します。ODP.NET は、.NET Framework 3.0 を含む.NET Framework 全バージョン

をサポートします。

そのほかの Oracle 向け.NET データ・プロバイダは、異なるデータソースにアクセ

スするための 大限の移植性をベースに設計されています。これらのプロバイダ

を使用しても活用できない機能は、データベースが本来もつパフォーマンスとデー

タ管理機能です。たとえば、ODP.NET の独自の機能の 1 つに、REF Cursors や LOB

などのネイティブ Oracle データ型のサポートがあります。これらのデータ型はデー

Windows での Oracle Database 11TgT:開発と配置

8

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 9: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

タ取得において、ほかの.NET データ型よりも高い柔軟性を提供します。

開発者は、データの使用やパフォーマンス要件に 適なデータ型を選択できます。

たとえば、REF Cursors はデータが実際に読み込まれるまで結果セットの取得を保

留します。これは、もっともよく使用される主要なパフォーマンス 適化機能で

す。Oracle LOB データ型を使用すれば、アプリケーションは 1 回のデータベース・

ラウンドトリップで結果セットからすべての LOB データを取得するか、あとで

LOB データがクライアントによって実際に消費されるまで LOB 取得を保留する

か選択できます。LOB が読み込まれたら、開発者は取得するデータ量を決定でき

ます。アプリケーションによって、CLOB すべてではなく、大容量の CLOB のう

ち 後の 100KB 分のみが必要なこともあります。これは、ODP.NET がいかにパ

フォーマンス・チューニングを強力に制御し、ネイティブのデータベース機能を

活用するかを示した例です。

ADO.NET 2.0 が登場したことで、移植性ですら問題ではなくなりました。開発者

は、ADO.NET データ・プロバイダ・ファクトリ・クラスを使用することで、より

簡単に複数ベンダーのデータベースへアクセスするコードの単一セットを作成で

きるようになりました。

ODP.NET 11gは、Oracleデータベースに膨大な機能を提供します。例としては、デー

タ・アクセスのパフォーマンス・チューニング、データベースの変更通知、Oracle

RACおよびOracle Data Guardの接続プーリング、XMLサポート、ネイティブOracle

データ型のサポート、ADO.NET 2.0 のサポートが挙げられますが、それ以外にも

多数存在します。

パフォーマンス ODP.NET は、多くのパフォーマンス・

チューニング機能を搭載し、データの取

得および変更を最適化します。これらの

チューニング・オプションには、接続プー

リング、ステートメント・キャッシュ、

LOB データ型の使用、PL/SQL 連想配列

の採用が含まれます。64ビットのODP.NETは、Windows x64 および Windows Itaniumでサポートされます。

ほかのプロバイダと比較した ODP.NET の差別化要因は、標準のパフォーマンスお

よび多くのチューニング・オプションです。その裏では、Oracle データソース

へ.NET から高速にアクセスできるよう、多くの 適化が図られました。さらに、

ODP.NET には特定のデータ取得とデータ更新シナリオに使用されるチューニン

グ可能な多くのパラメータがあります。こうした 適化の多くは、LOB や REF

Cursors など Oracle のネイティブ型を取得および操作するために開発されました。

接続プールおよび文のキャッシング

パフォーマンス 適化の中でもっとも広く利用されている機能の 1 つに、接続

プーリングがあります。これは、大規模なユーザーがデータベースへの接続と切

断をおこなうアプリケーションにとって重要な機能です。ODP.NET は、接続のラ

イフタイムおよびタイムアウト、 小および 大のプール・サイズ、一度にプー

ルから増加または減少する接続数を含んだ、チューニング可能な設定で接続プー

ルを作成します。こうしたパラメータによって、アプリケーションが大規模なユー

ザー数をどのように扱い、時間とともに利用者数をどのように変化させるかを、

開発者はより強力に制御できるようになります。これは、アプリケーションの応

答時間とエンドユーザーのサービス品質の改善につながります。

特定の問合せまたは PL/SQL 文が複数回実行された場合、ODP.NET はステートメ

ント・キャッシュを使用して、文の実行を高速化できます。 初の文の実行中に

作成されたサーバー・カーソルをキャッシュすることで、ステートメント・キャッ

シュで後続の実行処理の前に各文を再解析する必要がなくなります。後続の各文

Windows での Oracle Database 11TgT:開発と配置

9

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 10: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

では、保存された解析情報が再利用され、文が実行されます。結果セット・デー

タ自体はキャッシュされません。解析された文の情報だけです。ODP.NET は、デー

タベース・サーバーから 新データを取得します。ステートメント・キャッシュ

によって、こうした問合せをより速く実行できます。

ステートメント・キャッシュを採用する場合、リテラル値ではなくパラメータを

SQL または PL/SQL 文で使用してください。これにより、ステートメント・キャッ

シュを 大限に活用できます。後続の実行でパラメータ値が変更されても、パラ

メータ化された文から解析情報を再利用できるためです。リテラル値を使用して

そのリテラル値が変更された場合、解析情報を再利用できません。データベース

で新しく文を解析する必要があります。

デフォルトで、ODP.NET は、 近実行された 10 の文をキャッシュします。アプ

リケーション・レベルまたはマシン・レベルで、キャッシュする文の数およびキャッ

シュする文を構成できます。

データ・フェッチ・サイズの制御

データ取得パフォーマンスをチューニングする場合、ODP.NET では、各データベー

ス・ラウンドトリップに返す一連のデータ量を指定できます。多くの場合、開発

者は、問合せを実行したデータを一度に取得する必要がない場合がほとんどです。

2 つの ODP.NET OracleCommand プロパティ(FetchSize と RowSize)を使用して、

開発者が定義した個別のチャンクに問合せのデータ・フェッチを配置できます。

FetchSize は、データベース・ラウンドトリップごとに取得するデータ量を ODP.NET

に通知します。RowSize は、各行のデータ・サイズを示します。これは問合せの

実行後に設定される読取り専用のプロパティです。開発者がデータベース・ラウ

ンドトリップごとに 10 行のデータをフェッチする場合、RowSize に 10 を乗算し

た値を FetchSize に設定するだけです。RowSize の長所は、実行時に値を設定でき

ることです。つまり、あとでスキーマまたは問合せを変更する場合、コードを変

更してラウンドトリップごとに 10 行のデータをフェッチする必要がありません。

LOB データの 適化

類似したフェッチ・サイズ・チューニング機能は LOB データ型にあります。イメー

ジおよびドキュメントを格納するためにこれらのデータ型が使用されます。サイ

ズがギガバイトになる場合もあります。LOB の使用可能なデータ・サイズおよび

LOB データの使用方法に起因して、LOB アプリケーションではパフォーマンスが

重要な問題になることが多くあります。サーバーおよびクライアント間でギガバ

イトのデータを送信すると、データの取得が効率的に処理されない場合にネット

ワーク負荷が高くなる可能性があります。

開発者は、ODP.NET を使用して、LOB データの取得方法を指定できます。LOB 問

合せの実行時に、開発者はすべての LOB データをすぐにフェッチするか、ユーザー

がデータを読み取るまで LOB のフェッチを遅延するかを選択できます。開発者が

LOB のフェッチの遅延を選択する場合、LOB の読取りが呼び出されるたびに取得す

るデータ量を指定できます。エンドユーザーが 10KB のデータだけを一度に読み取

る必要がある場合、開発者は LOB の読取りごとに 10KB のデータを取得できます。

このほか、ODP.NET 開発者は、ランダム・アクセスで一部の LOB を取得できま

す。エンドユーザーは、1GB の LOB から 後の 100MB のデータだけを必要とす

Windows での Oracle Database 11TgT:開発と配置

10

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 11: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

る場合があります。開発者は、LOB の取得をチューニングして、 初の 900MB

のデータをクライアントに返さずに 後の 100MB だけをフェッチできます。これ

らのチューニング・オプションは、優れた実行アプリケーションを構築する柔軟

性を.NET 開発者に提供します。

LOB データ・サイズは一般的に大きいので、デフォルトで LOB データ・フェッ

チを問合せの実行後に遅延します。多くの大きい LOB を取得する場合は、この動

作が 適です。クライアントに配信される LOB データでネットワークに過負荷が

かかることを防止します。ただし、小さい LOB ではこの動作が遅くなり、必要以

上に多くのデータベース・ラウンドトリップが発生する可能性があります。

すべての小さい LOB データをすぐにフェッチできるように、ODP.NET には、

OracleCommand および OracleDataReader クラスに InitialLOBFetchSize プロパティが

あります。InitialLOBFetchSize をゼロ以上の値に設定すると、問合せが実行されたす

べての LOB から 初の LOB データが、このプロパティで指定される文字またはバ

イトの数まで、1 回のラウンドトリップでフェッチされます。たとえば、InitialLOB

FetchSize が 10KB に設定された場合、選択されたすべての LOB の 初の 10KB が 1

回のデータベース・ラウンドトリップでクライアントに送信されます。これによっ

て、多くの小さい LOB を使用しているアプリケーションを大幅に高速化できます。

配列データ

ODP.NET 特有な機能の 1 つに、データベースと.NET Framework 間で配列を渡す

機能があります。配列を使用すると、データベースとクライアント間で同じデー

タ型の大きいデータセットを簡単に共有できます。ODP.NET は、データベースの

PL/SQL 連想配列を使用して、.NET 配列でデータを受け渡します。

64 ビット.NET Framework

64 ビットの.NET Framework を使用する場合、.NET 開発者は、スケーラブルで高

いパフォーマンスのハードウェア・システムにアクセスできます。Windows x64

のAMD64プロセッサか Intel EM64Tプロセッサ、またはWindows Itaniumの Itanium

プロセッサを選択できます。64 ビットのシステムには、32 ビットのシステムより

も大量のメモリを直接処理する機能があります。リリース 10.2.0.3 から、ODP.NET

は、各プラットフォームのネイティブな 64 ビット・データ・アクセス・ドライバ

を使用した両方の 64 ビットの.NET Framework をサポートしています。開発者は、

64 ビットのアプリケーションとして ODP.NET 中間層を配置し、スケーラブルな

ハードウェアを活用できます。

パフォーマンス - ODP.NET 11gの新機能 ODP.NETパフォーマンスを強化する新

しいOracle Database 11g機能を使用で

きます。これらの機能には、クライアン

ト結果キャッシュ、高速なLOBフェッチ、

ステートメント・キャッシュによる高速

なパフォーマンスが含まれます。

Oracle Database 11gでは、新しいパフォーマンスの 適化が導入されていま

す。.NETアプリケーション開発者は、クライアント・コードを変更せずにその多

くの機能を使用できます。これらの新機能には、クライアント結果キャッシュ、

LOBの高速取得、ステートメント・キャッシュの強化が含まれます。

クライアント結果キャッシュ

Oracle Database 11gのサーバーおよびクライアントを使用する場合、ODP.NETアプ

リケーションは、Oracleクライアント結果キャッシュを使用して、繰り返し実行さ

Windows での Oracle Database 11TgT:開発と配置

11

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 12: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

れる問合せの応答時間を向上させます。この機能によって、メモリ内のSQL問合

せ結果セットのクライアント側のキャッシングを使用できます。クライアント結

果キャッシュは、ODP.NETアプリケーションに対して完全に透過的です。結果が

変更される、あらゆるセッションまたはデータベース・サーバー側の変更に対し

て、結果セット・データのキャッシュの一貫性は自動的に保持されます。

問合せ結果がローカルで取得されるので、同じ問合せを何度も呼び出す.NET アプ

リケーションのパフォーマンスが向上します。問合せおよびフェッチ結果を再実

行するデータベース・ラウンドトリップを実行するよりも、ローカル・クライア

ント処理が高速になります。アプリケーションが頻繁に同じ問合せを実行すると、

結果がクライアントにキャッシュされる場合に大幅にパフォーマンスが向上し、

データベース・サーバーの負荷が削減されます。

データベース・サーバーのクライアント・キャッシュは、問合せ結果を処理して

返すために使用されるサーバーCPU およびネットワーク・トラフィックの負荷を

削減します。これによって、サーバーのスケーラビリティが向上します。同一の

スキーマ、SQL テキスト、バインド値、およびセッション設定が存在する場合、

複数のセッションの ODP.NET 文がクライアント・プロセス・メモリのキャッシュ

された結果セットを適合させることができます。存在しない場合は、サーバーで

問合せが実行されます。これは、複数の ODP.NET ユーザーが同じ結果キャッシュ

にアクセスできることを意味します。これによって、キャッシュの冗長性が 小

限に抑えられ、メモリが節約されます。

クライアント・キャッシュとデータベース・サーバー・データの整合性が自動的

に維持されるので、開発者はキャッシュとサーバーを同期するためにコードを記

述する必要がありません。クライアント・キャッシュ・データを無効化するサー

バーの変更が発生した場合、Oracle クライアントは、キャッシュを自動的に無効

にして、次の問合せの実行時にキャッシュを更新します。

高速な LOB のフェッチ

ODP.NETは、LOBのメタデータをプリフェッチするために必要なデータベースの

ラウンドトリップの数を削減し、小さいサイズのLOBを取得するパフォーマンス

を向上させます。この拡張機能はOracle Database 11gから利用できます。また、開

発者に対して透過的に動作し、機能を利用するためのコード変更は不要です。

強化されたステートメント・キャッシュ

ODP.NET 11gは、既存のステートメント・キャッシュのキャッシング・インフラ

ストラクチャを拡張して、ODP.NETパラメータ・コンテキストをキャッシュしま

す。この拡張機能は、現在サポートされているすべてのOracleデータベース・サー

バー・バージョンで使用できます。.NET開発者は、ステートメント・キャッシュ

の問合せの実行時にパフォーマンスが向上していることを確認できます。この拡

張機能は開発者に対して透過的に動作し、コード変更は不要です。

Windows での Oracle Database 11TgT:開発と配置

12

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 13: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

データベース変更通知 クライアント側のキャッシュで常に課題

になるのは、サーバーのデータ変更と

データの同期です。データベース変更通

知を使用すると、データベースのアク

ティブな接続がなくても、サーバーの

データが変更された場合に ODP.NET ク

ライアントに通知されます。これによっ

て、クライアントがデータベースとデー

タ・キャッシュの同期を維持できます。

データベース変更通知を使用すると、クライアントのデータベース・サーバー接続

が解除されていても、目的のデータベース・オブジェクトに DML または DDL の

変更がおこなわれた場合にクライアント・アプリケーションで通知を受信できま

す。.NET 開発者は、キャッシュされたデータとデータベースの同期を気にするこ

となく中間層にデータをキャッシュできます。キャッシュされたデータ・オブジェ

クトまたはデータ行で変更が発生した場合、ODP.NET はデータベースから通知を

受け取ります。.NET Framework 1.xおよび2.0リリースでこの機能を利用できます。

データベース変更通知を使用するには、クライアント・アプリケーションで問合

せをデータベースに登録します。基本となるデータベース・オブジェクトの依存

性が問合せに含まれ、オブジェクトの変更がコミットされる場合、データベース

で変更通知がクライアント・アプリケーションに発行されます。通知には、変更

されたデータまたはオブジェクトのメタデータだけが含まれます。変更された

データは含まれません。.NET 開発者は、変更されたデータを取得するために登録

された問合せを再発行するクライアント・イベント・ハンドラを作成できます。

データベース変更通知は、キャッシュされた結果を使用するアプリケーションに

とくに役立ちます。従来、コストのかかるデータベースへのラウンドトリップを

実行せずに、データへの迅速なアクセスを実現するデータ・キャッシュがアプリ

ケーションのスケーラビリティの向上に効果的でした。ただし、このスケーラビ

リティにはトレードオフがあり、 初の問合せのあとにデータとデータベース・

サーバーの同期が保証されません。このため、キャッシュされたクライアント・

データが古くなるというリスクがあります。

データベース変更通知は、古いデータ・キャッシュの問題を解決します。特定の

イベントに応答する点でデータベース変更通知とトリガーは似ています。ただし、

トリガーはすぐにアクションを実行しますが、データベース通知は単なるアラー

トであり、アクションではありません。実行するアクションと実行時間の決定は

アプリケーションに依存します。アプリケーションは、古いオブジェクトの即時

リフレッシュ、リフレッシュの遅延、または通知の無視を実行できます。各.NET

アプリケーションで、特定のデータベース変更に異なる応答をおこなう場合があ

ります。また、追加のアプリケーションがデータベースに追加になります。多く

の場合、データベース・トリガーの変更よりもクライアント・アプリケーション

のイベント・ハンドラの変更の方が容易です。トリガーを変更すると、既存のア

プリケーションと新しいデータベース・トリガー・コードの互換性の再テストが

必要な場合があります。一方で、新しい.NET アプリケーションを変更すると、テ

ストの境界が効果的に分離されます。

多くの場合、Web アプリケーションはさまざまなデータをキャッシュします。す

べてをリアルタイムで更新する必要はありません。たとえば、天気予報は定期的

に更新されます。エンドユーザーが、Web ページにアクセスするたびにデータベー

スの問合せを実行する必要はありません。多くのユーザーが同じデータを要求す

るため、結果をキャッシュしてキャッシュのデータを取得することで、アプリケー

ションのパフォーマンスおよびスケーラビリティが大幅に向上します。特定の時

点で、天気予報を更新し、キャッシュをリフレッシュする必要があります。たと

えば、データベース・サーバーの現在の天気予報が変更される際にこれを実行し

ます。

Windows での Oracle Database 11TgT:開発と配置

13

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 14: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

データベース変更通知を受信するには、データベース管理者がアプリケーショ

ン・ユーザーに CHANGE NOTIFICATION 権限を付与する必要があります。デー

タベースに接続後、.NET ユーザーは変更を通知する特定の問合せを登録できます。

開発者は、.NET クライアント側のイベント・ハンドラを作成し、データベース変

更通知を受信する際のアプリケーションの実行処理を指示します。通常、イベン

ト・ハンドラは、データベース・サーバーの問合せを再実行し、キャッシュをリ

フレッシュします。

変更通知アプリケーションを構築する場合、次の ODP.NET クラスが使用されます。

• OracleDependency - アプリケーションと Oracle データベース間の依存性

を作成します。データの変更(UPDATE 文など)、スキーマの変更(ALTER

TABLE など)、またはグローバルなイベント(データベースの停止など)

の通知をアプリケーションで受信できます。このクラスの OnChange イベ

ント・ハンドラは、通知の受信後に実行する処理のクライアント・ロジッ

クを提供します。

• OracleNotificationEventArgs - 変更通知が発生した場合にすべてのイベン

トの詳細を提供します。

• OracleNotificationRequest - 通知登録のタイムアウト値など、通知リクエス

トの特性とその通知を指定します。

Oracle データベースの変更通知には、SQL Server では使用できない多くの機能が

あります。Oracle データベースはすべてのタイプの結合をサポートしますが、SQL

Server は外部結合または自己結合を含む問合せをサポートしません。SQL Server

ではビューを使用した文の通知をサポートしませんが、Oracle データベースの変

更通知では固定ビュー(V$表など)とマテリアライズド・ビュー以外のビューを

すべてサポートします。また、明示的な列の参照も必要になります。Oracle Database

の通知では、SELECT *と明示的な列の参照の両方をサポートします。

SQL Server の通知は永続的ではありません。SQL Server の通知が発行されると、

データベースから通知ハンドラが削除されます。通知ハンドラが必要な場合、ア

プリケーションは新しい通知ハンドラを登録する必要があります。Oracle データ

ベースの変更通知は、変更が繰り返されても登録を保持するオプションを提供し

ます。OracleNotificationRequest.IsNotifiedOnce を false に設定すると、これが可能

です。

Windows での Oracle Database 11TgT:開発と配置

14

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 15: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

Oracle Real Application Clusters(Oracle RAC) ODP.NET には、Oracle RAC データベー

スの 2 つの接続プーリング機能がありま

す。リアルタイムのクラスタ・メトリッ

クに基づいて、ODP.NET 接続の既存の

ノードのロードバランシングが自動的に

実行されます。また、切断されたデータ

ベース接続が接続プールから自動的に削

除されます。

Oracle RAC は、従来のシェアード・ナッシングおよびフェデレーテッド・データ

ベース・アプローチの制約を克服する共有キャッシュ・アーキテクチャを備えた

クラスタ・データベースです。単一のコンピュータ・サーバーよりも優れたスケー

ラビリティおよび可用性を実現する複数のコンピューティング・ノードに Oracle

RAC クラスタ・データベースがホストされます。特殊なハードウェアおよび.NET

アプリケーションを変更する必要がないので、コードを変更することなく既存の

アプリケーションのバックエンドとして、汎用ハードウェアを使用して Oracle

RAC を構築できます。

ODP.NET は、Oracle RAC への透過的なデータ・アクセスを常にサポートします。

リアルタイムのデータベース・ワークロード情報に基づいて ODP.NET 接続管理を

改善するため、オラクルでは ODP.NET 10.2 に 2 つの接続プール・プロパティを導

入しました。

1つ目の機能のランタイム接続ロードバランシングでは、とくにクラスタから

ノードを追加または削除したあと、Oracle RAC インスタンス間でワークロードの

ロードバランシングを改善します。2 つ目の機能の高速接続フェイルオーバーで

は、切断された Oracle RAC 接続を接続プールから自動的に削除します。

ランタイム接続ロードバランシングを使用した ODP.NET 接続の割当て方法は、

データベースのロードバランシング・アドバイザリと実行時のサービスの目標に

基づいています。ロードバランシングは、使用できるすべての Oracle RAC データ

ベース・インスタンスの処理を分散します。

通常、少ない頻度で接続が作成され、長期間接続が維持されます。処理は、頻繁

にシステムに組み込まれ、プールのこうした接続を使用し、比較的短期間存在し

ます。ロードバランシング・アドバイザリは、 適なサービス品質を実現するた

めに ODP.NET が受け取った処理を割り当てる Oracle RAC インスタンスを指示し

ます。ロードバランシングは、あとで異なるインスタンスに処理を再配置する必

要性を 小限に抑えて、既存のジョブの迅速な実行を保証します。

インスタンス間でこの処理を分散するメトリックは、サービスの目標によって決

定されます。データベース管理者は、サービス時間またはスループットのサービ

スの目標を設定します。

サービス時間メトリックは、データベースによるタスクの実行速度(応答時間)

に基づいています。ロードバランシング・アドバイザリ・データは、サービスで

実行された処理の経過時間とサービスの使用可能な帯域幅に基づいています。イ

ンターネット・ショッピング・システムなどの異なる速度で処理が実行されるデー

タベース・アプリケーションには、サービス時間がもっとも役立ちます。

スループット・メトリックでもデータベース・タスクの実行速度を追跡し、タス

クが 速で完了したノードに追加の処理を割り当てます。サービス時間とは異な

り、スループット・メトリックは、各インスタンスの効率性の測定を目的としま

す。追加のタスクを実行する場合に使用できるプロセッサ・リソースの量を測定

します。新しい操作を受け取った場合、もっともプロセッサ時間に余裕のあるノー

ドを指示できます。一様なバッチ・プロセスの実行など、比較的均一なタスクに

このメトリックを使用すると 適です。

Windows での Oracle Database 11TgT:開発と配置

15

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 16: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

このようなサービスの目標を使用することによって、フィードバックがシステム

に組み込まれます。全体に 適なサービス時間を提供するために処理がルーティ

ングされます。ルーティングは、変化するシステム条件に正しく対応します。ク

ラスタの Oracle RAC ノードの追加または削除を実行する場合、ロードバランシン

グを実行して、システムの変更に関連するすべてのノードに処理を迅速に分散で

きます。エンドユーザがサービスの停止や遅延に直面することを減少させます。

安定した状態で、システムはすべての Oracle RACインスタンス間の向上したス

ループットで均衡を保ちます。

ODP.NET のこの機能を使用するには、アプリケーションで接続プーリングを有効

にし、Load Balancing 接続プール・パラメータを true に設定する必要があります。

Oracle RAC 接続プーリングの 2 つ目の構成可能な機能である高速接続フェイル

オーバーによって、停止した Oracle RAC サービス、サービス・メンバー、または

ノードによる接続の切断に関連したリソースを ODP.NET が自動的に解放できま

す。この機能がないと、Oracle RAC ノードで障害が発生した場合は、無効になっ

た接続リソースが接続プールに保持されます。エンドユーザーは、プールのこの

ような切断された接続を使用する場合があります。これらの接続を識別する方法

がない場合、管理者は、Oracle RAC クラスタの一部で障害が発生するたびにプー

ルのすべての ODP.NET 接続を再設定する必要があります。

これらの切断された ODP.NET 接続は、実行時に管理者が介入することなく自動的

にクリーンアップされます。この ODP.NET 機能を有効にするには、接続プーリン

グを使用し、HA Events 接続プール・パラメータを true に設定します。

XML 機能 ODP.NET は、Oracle XML DB のサポー

トおよび System.XML との相互運用を提

供します。ODP.NET は、OracleXMLTypeおよび OracleXMLStream を使用したネ

イティブな Oracle XML データ型をサ

ポートするスキーマとスキーマ・ベース

ではない XML に対応できます。

XML はデータ統合および Web サービスの一般的な言語なので、多くの.NET プロ

グラマーは、アプリケーションの不可欠な要素として XML を組み込みます。XML

は、Oracle データベースおよび.NET Framework の主要な部分です。ODP.NET に

よって、開発者は Oracle XML DB と.NET System.XML サービスの 2 つのテクノロ

ジーを活用できます。

Oracle XML DB は、データベース・サーバー内で使用できる Oracle の高パフォー

マンスでネイティブな XML の格納および検索テクノロジーです。標準 W3C XML

データ・モデルの構造化データと非構造化データを格納および管理する一意な機

能を提供します。Oracle XML DB は、XML および SQL メタファの完全な透過性

および互換性を提供します。ODP.NET は、Oracle XML DB の機能を.NET クライ

アントで利用できるようにし、開発者がデータベースと.NET 間の XML の共有お

よび変更を実行できるようにします。このサポートがスキーマおよびスキーマ・ベー

スではない XML に拡張され、異なるアプリケーション要件を適用する柔軟性が提

供されます。また、ODP.NET は、2 つのネイティブな XML データ型(OracleXMLType

および OracleXMLStream)を使用して、クライアントの XML データ管理を容易に

します。XML は、Oracle XML DB と Microsoft の System.XML サービス間で簡単

に共有できます。

System.XML は、.NET データ・プロバイダから XML データセットを操作する一

連のインタフェースです。ODP.NET は、ODP.NET DataAdapter インタフェースを

通じてデータを供給する System.XML プログラミング・インタフェースと相互運

Windows での Oracle Database 11TgT:開発と配置

16

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 17: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

用します。Oracle XML DB と System.XML のおもな違いは、Oracle XML DB がデー

タベース・サーバーのデータの存在する場所に XML サービスを提供するのに対

して、System.XML はクライアント側の XML を操作することです。このため、

ODP.NET を使用すると、プログラマーはプロジェクト要件に 適な XML テクノ

ロジーを幅広く選択できます。

ODP.NET を使用する場合、リレーショナル・データおよびオブジェクト・リレー

ショナル・データに、Oracle データベース・インスタンスからの XML として

Microsoft .NET環境にアクセスできます。XMLの変更は、XMLデータまたはリレー

ショナル・データとしてサーバーに保存できます。ODP.NET には、スキーマ・ベー

スのOracleXMLTypeとスキーマ・ベースではないXMLのサポートが含まれます。

ADO.NET 2.0 ODP.NET は、プロバイダ・ファクトリ、

接続文字列ビルダー、スキーマ検出 API、DataAdapberバッチ更新を含むADO.NET 2.0 の機能をサポートします。

ODP.NET 10.2.0.2 から、ODP.NET は ADO.NET 2.0 をサポートします。

ADO.NET 2.0 では、データ・アクセス・レイヤー(DAL)の新しいレベルの抽象

化が導入されます。汎用インタフェースを実装するプロバイダ固有のクラスを使

用する代わりに、ADO.NET 2.0 は、System.Data.Common 名前空間から継承される

DbCommon クラスを提供しま、開発者はファクトリ・クラスを使用できます。デー

タベース・プロバイダ・ファクトリ・クラスは、どのデータベースに対しても汎

用な一連のデータ・アクセス・コードを簡単に作成できます。

OracleClientFactory クラスは、System.Data.Common のすべてのクラスの作成をサ

ポートします。これらの具象クラスは DbCommon 抽象基本クラスから継承される

ので、DbCommon 基本クラスのオブジェクト名を使用して、汎用 DAL コードを

記述することができます。接続文字列、SQL、ストアド・プロシージャ・コール

を含むデータソース固有の DAL の領域があります。

ADO.NET 2.0 のおもな追加機能は、向上した接続文字列管理です。DbConnection

StringBuilder クラスには、汎用パラメータ名とプロバイダ固有のパラメータ名をマッ

プするディクショナリがあります。DbConnectionStringBuilder 汎用クラスから継承

および拡張された OracleConnectionStringBuilder クラスは、Oracle 固有の接続文字

列プロパティを公開します。プログラマーは、OracleConnectionStringBuilder を動

的に使用して、実行時に接続文字列パラメータを設定するか、app.config ファイル

から接続文字列パラメータを取得するか、あるいはその両方が可能です。

ADO.NET 2.0 のスキーマ検出 API は、データソースからメタデータを取得する汎

用的な方法を提供します。開発者は、OracleConnection.GetSchema メソッドの呼出

しを使用して、Oracle メタデータを取得できます。5 つのタイプ(MetaDataCollections、

Restrictions、DataSourceInformation、DataTypes、ReservedWords)の一般的なメタ

データが公開されます。また、取得できる追加の ODP.NET 固有のデータソース情

報があります。

大きい.NET DataSet を使用する場合、開発者は、更新に必要なデータベース・ラウ

ンドトリップの数を 小限に抑えようとします。プログラマーは、OracleData

Adapter.UpdateBatchSize プロパティを使用して、ラウンドトリップごとに更新する

行数を指定できます。1 回のラウンドトリップで変更されたすべての行を更新す

る場合、UpdateBatchSize をゼロに設定できます。

Windows での Oracle Database 11TgT:開発と配置

17

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 18: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

ネイティブな Oracle 型 ODP.NET は、.NET 環境内で REF CursorなどのネイティブなOracleデータベース

型をサポートします。ほかの主要な機能

には、すべてのタイプの PL/SQL、ロー

カルおよび分散トランザクション、

Unicode を使用した国際化アプリケー

ションの使用が含まれます。

Microsoft は、異なる.NET プログラミング言語に統一された一連のデータ型を導入

しました。.NET プログラマーは、ODP.NET を使用して、.NET データ型と Oracle

データ型にアクセスできます。.NET アプリケーション内で Oracle データ型を完全

に操作して、.NET データ型と相互運用できます。ネイティブな Oracle 型は、XML、

結果セット、イメージ、テキスト、Microsoft Word ドキュメントなど、データベー

スのデータ構造を格納および操作する高度な機能を提供します。.NET の小数型に

相当する OracleDecimal などのスカラー型を使用する場合でも、Oracle 型は追加の

機能を提供します。OracleDecimal の例において、このデータ型は、28 桁の精度

の.NET 小数よりも高水準の 38 桁の精度を提供します。

ODP.NET は、REF Cursors、XMLType、LOB(CLOBs、BLOB、NCLOB)、BFILE、

LONG、RAW、LONG RAW、N データ型を含むあらゆる高度な Oracle 型を.NET

環境内でサポートします。ほかのプロバイダを使用する場合の制限の 1 つは、ユー

ザーがデータ型機能を制限されることです。たとえば、ODP.NET で、ストアド・

プロシージャから REF Cursor 出力パラメータとして返される複数の結果セットに

任意の方法でアクセスできます。 初の結果を取得せずに 2 つ目の REF Cursor の

結果を読み取ることができます。ほかの.NET プロバイダを使用する場合、次のデー

タにアクセスする前に 初の結果セットのデータを取得する線形の方法でデータ

にアクセスする必要があります。これは、パフォーマンスに悪影響を与えます。

ADO.NET 2.0から、Oracleデータ型を.NET DataSet内にネイティブに格納できます。

以前は、DataSet で.NET データ型だけを使用できました。OracleDataAdapter.Return

ProviderSpecificTypes を true に設定することで、OracleDataApdater.Fill が呼び出さ

れる場合に DataSet に ODP.NET 固有のデータ型が移入されます。

ほかの主要な機能

ODP.NET は、PL/SQL、トランザクション、Unicode のサポートを含むほかの多く

の Oracle データベース機能を公開しています。ODP.NET ユーザーは、データベー

スの PL/SQL ストアド・プロシージャおよびファンクションを完全に実行できま

す。PL/SQL をパッケージ化したりパッケージ化を解除したりできます。また、.NET

内の匿名の PL/SQL としても使用できます。匿名の PL/SQL を採用して、一連の

SQL 文のバッチ処理をおこない、1 回のデータベース・ラウンドトリップで文を

実行します。文のバッチ処理は、有益なパフォーマンスの 適化技術です。

ODP.NET は、リソース・マネージャとして Oracle データベースを使用したトランザ

クション・アプリケーションに参加できます。また、Microsoft Distributed Transaction

Coordinator(DTC)を採用して、Windows 環境のトランザクションを管理します。

Oracle Services for Microsoft Transaction Server(OraMTS)は、ODP.NET、DTC、お

よび Oracle データベースのプロキシの役割を果たして、これらのトランザクショ

ンを調整します。OraMTS は、トランザクション・アプリケーションの高い可用

性とスケーラビリティを維持する ODP.NET プログラマー向けの強力なアーキテ

クチャを提供します。.NET Framework 2.0 以降で、ODP.NET は、System.Transactions

名前空間を通じてローカルおよび分散トランザクションをサポートします。

ODP.NET は、完全に Unicode をサポートします。.NET ユーザーはさまざまな言

語を使用して、簡単にアプリケーションのグローバル対応を実行できます。この

グローバリゼーション・サポートによって、開発者はさまざまな文化/言語設定の

Windows での Oracle Database 11TgT:開発と配置

18

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 19: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

一連のコードを作成できます。ODP.NET グローバリゼーションでは、クライアン

ト・コンピュータの言語設定を抽出して、ロケール固有の形式で情報を表示しま

す。たとえば、日本語に設定されているブラウザには、通貨に円が表示されます。

追加のコーディングをおこなわずに、同じアプリケーションをドイツに配置して

通貨にユーロを表示できます。したがって、追加のコーディングをおこなうこと

なく複数のロケールのアプリケーションを簡単かつ迅速に開発できます。

Oracle Database Extensions for .NET Oracle Database Extensions for .NET は、

Windows 上で動作する Oracle Databaseの機能で、C#や VB.NET などの.NET マ

ネージド言語によるストアド・プロシー

ジャやファンクションの開発、配置、実

行を容易にします。

Oracle Database Extensions for .NETは、Windows上で動作するOracle Database 11gの

機能で、C#やVB.NETなどの.NETマネージド言語によるストアド・プロシージャ

やファンクションの開発、配置、実行を容易にします。

.NET ストアド・プロシージャまたはファンクションは、Microsoft Visual Studio を

使用して開発します。これには、Oracle Developer Tools for Visual Studio .NET の機

能である密接に統合された.NET Deployment Wizard を使用して配置します。デプ

ロイメント・ウィザードは新しく作成された.NET アセンブリを Oracle にロードし、

データベースでプロシージャやファンクションを登録します。

データ・アクセスを必要とするストアド・プロシージャは、Oracle Data Provider

for .NET を使用できます。.NET Framework 2.0 と ADO.NET 2.0 は、いずれも.NET

のストアド・プロシージャでサポートされています。プロシージャまたはファン

クションで使用するコードは、クライアント側のアプリケーションに記述された

コードとほぼ同じです。ただし、プロシージャが呼び出し元と同じ接続を使用す

るオプションの"コンテキスト接続"は例外となります。また、コードは変更する

ことなく、クライアント側とストアド・プロシージャの両方で実行できるように

記述されます。

配置したあと、.NET ストアド・プロシージャは、.NET コード内、SQL 文または

トリガー、別の.NET、PL/SQL、Java のストアド・プロシージャから呼び出すこと

ができます。また、ストアド・プロシージャやファンクションの呼出しが可能な

場所であれば、どこからでも呼び出すことができます。

アプリケーションの配置 オラクルは、Windows 環境に Oracle ア

プリケーションを統合する多くの異なる

製品を提供します。Oracle Fail Safe、Windows セキュリティ統合、 Active Directory 統合などはその一部です。

Windows上にアプリケーションを配置するには、適切なアプリケーションの相互

運用性を確保するため、ネイティブのWindowsサービスと中間層サーバーとの緊

密な統合が必要です。Oracle Database 11gがこの緊密な統合を提供することで、企

業はOracleの 新機能セットを使用して中核的なオペレーティング・システムと

サーバー機能を活用できます。Oracleによる統合は、高可用性を持ち、安全性を確

保する、スケーラブルで透過的な相互運用性を実現します。これにより、企業は

製品の非互換性や非効率性に合わせるのではなく、自社のアプリケーション・ビ

ジネス・ロジックの構築に集中できます。

Oracle Database 11gは、 適化されたWindowsアプリケーションの配置環境を保証

する、さまざまなツール・セットを用意しています。ミッション・クリティカル

なOracleサーバーをWindowsクラスタ上に配置するとき、Oracle Fail Safeは

Microsoft Cluster Serviceを通じて堅牢なフェイルオーバーをサポートし、こうした

サーバーの可用性を保証します。Oracleは、ネイティブのWindowsセキュリティと

Windows での Oracle Database 11TgT:開発と配置

19

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 20: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

ディレクトリ・ツールとの統合により、データベース・セキュリティを改善しな

がら管理性を高めます。

WindowsでのOracle Database 11gでは、Active Directoryの追加サポート、拡張され

たKerberosのサポート、新しいVolume Shadow Copy Serviceが追加されました。

ディレクトリ オラクルのID管理プラットフォームによ

り、Oracle Internet Directoryは、Active Directoryを含むそのほかのディレクトリ

との同期とプロビジョニングを一元管理

します。OracleはActive Directoryまたは

Oracle Internet Directory内にユーザー・

マッピングを格納することで、Windowsのシングル・サインオンとユーザー管理

を簡単に実現します。さらに、Netネーミ

ング(tnsnames.ora)をActive DirectoryまたはOracle Internet Directory内に格納

し、一元管理することもできます。Oracle Database 11gの新しいActive Directory機能は、匿名のアクセスを許可しないこと

でセキュリティを強化します。

ディレクトリ・サーバーは多くの場合、管理を一元化することでユーザーとリソー

スの管理を簡単にします。ただし、一元化したとしても、ディレクトリ・サーバー

は、そのほかのアプリケーション、部門組織、または取引先と統合する必要があ

り、それぞれは異なるディレクトリ・サーバーまたはユーザー・リポジトリをも

つことになります。このことから、ディレクトリ・ソリューションは大規模なユー

ザー・セットを扱えるだけスケーラブルであり、サード・パーティのリポジトリ

と相互運用できる必要があります。

Oracle Internet Directory は、ディレクトリ・サーバーを一元化して、Active Directory

などの既存ディレクトリ・サーバーを活用できるようにします。Oracle Identity

Management は、ビルトイン・サービスとインタフェースのセットで構成され、ア

クセス制御、シングル・サインオン、ユーザー・プロファイル管理、同期、Oracle

とそのほかのリポジトリ間のプロビジョニングなどを実施します。これらのリポ

ジトリには、Active Directory、アプリケーション・ユーザー・リポジトリ、また

は人事情報を含むデータベース表など、そのほかのディレクトリが含まれます。

Oracle Identity Management があれば、企業はファイアウォール内外のいずれかに

おける企業全体のユーザーID のエンドツーエンドのライフ・サイクルを管理でき

ます。管理者はアプリケーションを迅速に配置できるほか、もっとも詳細な保護

を企業リソースに適用したり、古いアクセス権限を自動削除したりと、さまざま

なことを実行できます。Oracle Identity Management は、Oracle Fusion Middleware

ファミリ製品群の 1 つであり、より優れた機敏性、意志決定、今日の多様な IT 環

境における費用の削減を実現します。

Oracle Internet DirectoryやOracle Identity Managementがない場合においても、Oracle

は Active Directory との直接データベース統合のためのサービスを提供します。

Oracle データベースには、Active Directory を活用する 2 つのネイティブな統合機

能が含まれます。

• ネイティブな Active Directory 認証による Oracle シングル・サインオン

• Active Directory との Oracle Net ネーミングの管理

これらの機能には、Active Directory と Oracle データベースだけが必要です。Oracle

Internet Directory は必要ありません。ただし、必要に応じて、これらの機能をオプ

ションとして使用できます。

ネイティブ認証と Active Directory

Oracle の管理者は多くの場合、企業規模のセキュリティやスキーマ管理を必要と

することがあります。とくにユーザー数の多い企業ではこの点を考慮することが

必要です。Oracle Internet Directory はこれらのエンタープライズ環境を管理し、

Active Directory などの部門ディレクトリ・サーバーと相互運用できるよう設計さ

れています。Oracle のセキュリティと管理はこれらのディレクトリ・サーバーと

Windows での Oracle Database 11TgT:開発と配置

20

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 21: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

統合され、シームレスなアクセスと管理を実現します。

Oracle は、Microsoft 認証メカニズムを通じてシングル・サインオンを実現します。

これにより、Active Directory は Oracle データベースに対するユーザー認証を実行

します。ネイティブ認証を有効化することで、データベース・ユーザーはシング

ル・サインオンを活用して Active Directory にログインし、Oracle へアクセスでき

ます。この統合は、エンドユーザー管理を簡易化し、冗長なセキュリティ資格証

明を排除します。

Oracle エンタープライズ・ユーザー・マッピングは、複数のオペレーティング・

システム・ユーザーがシングル・グローバル・データベース・ユーザーとしてデー

タベースにアクセスできるようにするものです。Windows のみの環境であれば、

これらのエンタープライズ・ユーザー・マッピングは Active Directory に格納しま

す。たとえば、Active Directory 内の LDAP 組織単位(OU)全体を 1 人のデータベー

ス・ユーザーにマッピングできます。

Oracle は、エンタープライズ・ロール・マッピングを LDAP に格納します。Windows

において、この LDAP ストレージ機能は、Active Directory と同様に Oracle Internet

Directory 上でも認証されます。エンタープライズ・ロールは、ディレクトリを通

じて複数のデータベースの権限をドメイン・レベルで管理します。これは、Windows

ユーザーとグループを LDAP ストア内に登録された Oracle エンタープライズ・

ロールに割り当てることで実施します。

Active Directory における Oracle Net ネーミング

Oracle が Oracle Internet Directory および Active Directory を通じて LDAP テクノロ

ジーを活用することで、エンドユーザーのデータベース接続情報管理が改善され

ます。これまで、Oracle Net 形式の名前によるエンドユーザーの参照データベー

ス・サーバーは、TNSNAMES.ORA 構成ファイルを介して解決されました。従来、

このファイルはそれぞれのクライアント・マシン上で管理する必要があります。

管理性を高めるために、Oracle Net の名前は Oracle Internet Directory または Active

Directory 内に格納され解決できます。これらの情報をディレクトリ内に一元管理

することで、管理のオーバーヘッドが削減され、ユーザーは個々のクライアント・

マシンを構成する作業から解放されます。

さらに、Windows Explorer や Active Directory Users and Computers などの Windows

ツールはデータベースに接続し、データベースの接続性をテストできるようにな

りました。また、Oracle ツールも参加できます。Oracle Database Configuration

Assistant は、自動的に LDAP ディレクトリへデータベース・オブジェクトを登録

します。その一方で、Oracle Net Manager は、ディレクトリにネット・サービス・

オブジェクトを登録します。これらのツールは、ディレクトリやデータベース管

理をより簡素化します。

Active Directoryの機能 - Oracle Database 11gの新機能

Oracle Database 11gでは、ディレクトリのデータベース・サービス情報への匿名ア

クセスを無効化するよう選択できます。クライアントは、LDAPディレクトリ・ベー

スの名前参照を実行する前に認証が必要です。Microsoft Active Directoryベースの

名前参照では、OracleデータベースはネイティブのWindowsベース認証をおこない

ます。Oracle Internet Directoryベースの名前参照では、Oracleデータベースはウォ

Windows での Oracle Database 11TgT:開発と配置

21

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 22: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

レットを使用して認証をおこないます。

セキュリティ Oracleデータベースは、シングル・サイ

ンオン、Windows Kerberos、Windows SSLを含む、いくつかのWindowsセキュリティ・

メカニズムをサポートします。WindowsレジストリにOracle Walletを格納できる

ことで、安全性の低いオペレーティング・

システムのファイル格納を排除します。

OracleはMicrosoft Certificate Storeと統

合されており、Oracle PKIとWindows PKIアプリケーションはシームレスに連

携します。Oracle Database 11gの新しい

Kerberos機能は、セキュリティ・オプショ

ンを強化してWindowsの相互運用性を高

めます。

Oracle Database 11gは、ネイティブのWindowsセキュリティ・モデルと緊密に連携

し、アプリケーション・セキュリティのさらなる安全性を確立します。クライア

ント/サーバー環境では、Oracle DatabaseにサインオンするMicrosoft Windows資格

証明や認証サービスを利用するサイト向けに、次の 3 つのオプションが提供され

ています。

• Oracle データベースには Windows Native Authentication Adapter が含まれ

ており、サーバーおよびクライアントに Oracle Net とともに自動インス

トールします。このアダプタにより、データベース・ユーザーはデータ

ベース認証に必要な Windows ユーザー証明書を使用してシングル・サイ

ンオンができるようになります。この機能を使用するには、Windows ユー

ザーを外部データベース・ユーザーとして定義する必要があります。こ

のようなユーザーには、Microsoft Active Directory Services でデータベース

に適用される外部ロールが割り当てられます。

• データベース・オプションの Oracle Advanced Security は、Microsoft Key

Distribution Center(MSKDC)の発行する Kerberos チケットを使用したデータ

ベース認証をサポートしています。Microsoft Windows 環境で有効な Kerberos

チケットを発行されたユーザーは、この機能を使用してユーザー名/パス

ワードを入力せずにデータベース・アカウントにサインオンできます。

• このほか、Oracle Advanced Security オプションは X509v3 認証を使用した

SSL によるデータベース認証についてもサポートしています。この認証

は、Microsoft Certificate Store(MCS)により発行されます。この機能を使

用するには、クライアントで設定した Oracle Wallet に証明書が含まれて

いる必要があります。Oracle Wallet は、Microsoft Windows レジストリの

ユーザー・プロファイル領域か、クライアントの任意のファイル場所に

保存できます。

Web 環境では、Oracle Fusion Middleware(Oracle FMW)から MCS と統合できます。

パスワード・ベースの認証メカニズムのサポートに加え、Oracle FMW は証明書ベー

スの認証もサポートしています。この証明書は、MCS により生成されます。証明

書ベースの認証を使用するには、ブラウザのウォレットと、Oracle Internet Directory

の該当するユーザー・エントリにユーザー証明書を作成する必要があります。

Windows レジストリの Oracle Wallet

Oracle データベース・ウォレットは Windows レジストリ内に格納でき、Windows

クライアントのセキュリティを向上させます。この機能がない場合、Oracle Wallet

は通常 Windows ファイル・システム内に格納されます。オペレーティング・シス

テムのファイル権限が安全でなければ、Oracle Wallet も安全ではありません。安

全ではないファイル権限は、不適切な管理またはオペレーティング・システムの

ファイル・セキュリティの欠如によってもたらされます。このことから、Windows

システムでは公開鍵インフラストラクチャ(PKI)セキュリティを向上させるため、

Windows レジストリのユーザー・プロファイル領域に Oracle Wallet を格納します。

Windows での Oracle Database 11TgT:開発と配置

22

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 23: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

このレジストリ領域は、正しくログインしたユーザーのみがアクセスできます。

プロファイル領域では複数の Oracle Wallet を使用および格納できます。

Oracle PKIアプリケーションのシングル・サインオンは、Oracle Wallet Managerツー

ルおよび Oracle Enterprise Login Assistant ツールから構成できます。Oracle Wallet

Manager は Oracle Wallet を暗号化し、Oracle Enterprise Login Assistant は Oracle

Wallet を復号化します。復号化されたウォレットは、Oracle PKI アプリケーション

の SSL 認証で使用します。両ツールは、レジストリ内の Oracle Wallet の格納と配

置をサポートするほか、必要に応じてデフォルトのファイル・システムをサポー

トするよう強化されています。

Microsoft Certificate Store との統合

Oracle データベースが Microsoft Certificate Store と統合することで、Oracle PKI ア

プリケーションは Windows PKI を使用する製品と相互運用できます。この機能を

有効化すると、Oracle PKIセキュリティはMicrosoft CryptoAPIを使用してMicrosoft

Certificate Store にアクセスします。CryptoAPI は署名、暗号化、復号化、確認、検

証などの操作で使用します。Wallet Resource Locator(WRL)は PKI の種類を特定

し、ウォレットの場所を探すのに必要なすべての情報を提供します。

この機能により、Oracle および非 Oracle アプリケーションは認証や暗号化といっ

た公開鍵セキュリティ・サービスで、同じ PKI 資格証明(証明書、鍵、証明書失

効リスト、トラスト・ポイントなど)のセットを活用できます。

Windowsのセキュリティ機能 - Oracle Database 11gの新機能

Oracle Database 11gに実装されたKerberosにおいて、DESの代わりに 3DESやAESな

どの安全な暗号化アルゴリズムを使用できるようになりました。これにより、

Kerberosの安全性がより高まりました。OracleデータベースのKerberos認証メカニ

ズムは、現時点で以下の暗号化タイプをサポートします。

• DES3-CBC-SHA(CBC モードの DES3 アルゴリズムで、チェックサムに

HMAC-SHA1 を使用)

• RC4-HMAC(RC4 アルゴリズムで、チェックサムに HMAC-MD5 を使用)

• AES128-CTS(128 ビット鍵で CTS モードの AES アルゴリズムで、チェッ

クサムに HMACSHA1 を使用)

• AES256-CTS(256 ビット鍵で CTS モードの AES アルゴリズムで、チェッ

クサムに HMACSHA1 を使用)

Kerberos の実装は、Microsoft Key Distribution Center とより円滑に相互運用できる

よう強化されました。さらに、Kerberos プリンシパル名で 30 文字以上使えるよう

になりました。これでデータベース・ユーザー名の文字数によって制限されるこ

とがなくなります。こうした改善によって、Oracle データベースと Windows でア

プリケーションをより簡単に保護できるようになりました。

Volume Shadow Copy Serviceによるバックアップとリカバリ - Oracle Database 11gの新機能

Windows サーバー・プラットフォーム上の Volume Shadow Copy Service(VSS)は、

Windows での Oracle Database 11TgT:開発と配置

23

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 24: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

Oracle などのアプリケーションがボリュームに書き込んでいるときもボリュー

ム・バックアップを実行できます。シャドウ・コピーは、ある時間のボリューム

またはコンポーネントに保存されたデータの一貫したスナップショットです。

シャドウ・コピー・セットは、同時に保存したシャドウ・コピーの集合体です。

Oracle は VSS と統合したことで、VSS による Oracle データベース・ファイルのバッ

クアップとリカバリがおこなえるようになりました。

VSSはWindows固有のインタフェースを持っており、データをバックアップするリ

クエスタ、ディスク上のデータを更新するライター、そしてストレージを管理す

るプロバイダ間の連携をおこないます。Oracle Database 11gの新機能に、VSSライ

ターとしてのOracleデータベース機能があります。同機能は、VSS対応アプリケー

ションと統合されています。ライターであることにより、VSS対応ソフトウェア

やストレージ・システムを使用して、Oracleデータベースをバックアップおよびリ

ストアできます。一番のメリットは、VSS対応のアプリケーションを使用してデー

タベース全体をオンライン・バックアップできる点です。

Oracle VSS ライターは、Oracle データベース・インスタンスやそのほかの VSS コ

ンポーネントを統合する Windows サービスです。ライター・サービスはユーザー・

アカウントの SYSDBA 権限で起動でき、データベース・インスタンスとは別に実

行されます。

Oracle VSS ライターは、データベース・ファイルのセットであるコンポーネント・

ベースのシャドウ・コピーをサポートします。バックアップの際、Oracle VSS ラ

イターは、メタデータ・ドキュメントのスナップショットの作成時に生成される

REDO を保存します。リストア操作のとき、ライターはメタデータ・ドキュメン

トから REDO を自動抽出し、スナップショットからリストアされたファイルに適

用します。

また、Oracle VSS ライターは、全ドライブまたは全ボリュームのスナップショッ

トをとるボリューム・ベースのシャドウ・コピーをサポートします。Oracle デー

タベースは、シャドウ・コピーを作成するのに適した状態にファイルを配置しま

す。たとえば、データファイルをホット・バックアップ・モードに設定し、デー

タベースの新しいスナップショット制御ファイルを ARCHIVELOG モードに設定

します。Oracle VSS ライターは、 近の制御ファイルやオンライン REDO ログを

シャドウ・コピーから排除します。スナップショットがとれない場合、ライター

はエラーを返します。たとえば、NOARCHIVELOG データベースを読取り/書込み

モードで開いた場合、ライターはスナップショットがとれないというエラーを返

します。

Oracle であれば、VSS 対応アプリケーションを Oracle データベースで使用し、ス

ナップショットのバックアップやリカバリをおこなえます。

Oracle Fail Safe の高可用性 Microsoft Cluster Service と統合したこと

で、Oracle Fail SafeはWindows上のOracleソフトウェアの可用性を高く維持できる

ようになりました。Oracle Fail Safe は、

OracleDatabase 、 Oracle Application Server と Oracle E-Business Suite をサ

ポートします。

Oracle Fail SafeはOracle Database 11gの中核機能であり、Windowsクラスタ上に配置

されたミッション・クリティカルなソリューションの可用性を高めます。クラス

タは、個々のホスト・システムがポイント障害にならないようにする構成です。

Oracle Fail Safeは、Microsoft Cluster Service(MSCS)と連携し、1 つのクラスタ・

ノードで障害が発生した場合に、そのノード上で実行されているOracleデータベー

Windows での Oracle Database 11TgT:開発と配置

24

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 25: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

スおよびアプリケーションが稼働中のノードへ、迅速に自動でフェイルオーバー

をおこないます。Oracle RACとは異なり、Oracle Fail Safeはアクティブ-パッシブ

のクラスタです。そのため、スタンバイ・マシンはアクティブ・ノードに障害が

発生するまでワークロードを引き継ぎません。

Oracle Fail Safe は、単一システムでデータベースやアプリケーションのワークロー

ドを扱えるよう、Windows カスタマー向けに 適化されています。Oracle Fail Safe

のソリューションは、すべての汎用 Windows クラスタに配置できます。Windows

Server 2003 Datacenter であれば、8 ノード・クラスタまでサポートします。これは、

現在 Windows 上で構成できる 大のノード数です。サポートされる製品は、次の

とおりです。

• Oracleデータベース(Oracle Database 11g、Oracle Database 10g、Oracle9i Database)

• Oracle Applications リリース 11i

• 以下を含む Oracle iAS(キャッシュ製品を除く)

• Oracle Forms Server

• Oracle Reports Server

• Oracle HTTP Server

• Oracle Services for Microsoft Transaction Server

• Oracle Intelligent Agent

• Windows サービスとしてインストールされたアプリケーション

このほか、SAP、Baan、PeopleSoft、Lawson、J.D. Edwards などそのほかのアプリ

ケーション・ベンダーのソフトウェア製品も、Oracle Fail Safe の有効性が確認さ

れています。

Oracle Fail Safe は、サーバーとマネージャという 2 つの主要コンポーネントをもっ

ています。サーバー・コンポーネントの Oracle Services for MSCS は、クラスタ・

ソフトウェアと動作することで計画停止および計画外停止時の迅速な自動フェイ

ルオーバーを実現します。マネージャ・コンポーネントの Oracle Fail Safe Manager

は、使い勝手のよいグラフィカルなインタフェースであり、1 つ以上のクラスタ

の Oracle Fail Safe Server で動作し、構成、管理、検証、スタティック・ロードバ

ランシングを実行します。これらコンポーネントを組み合わせることで、豊富な

機能のセットや統合されたトラブルシューティング・ツールを提供し、可用性の

高いデータベースおよびアプリケーションからなる完全な e-ビジネス・ソリュー

ションを迅速に配置できます。

ロジカル/フィジカル・スタンバイとマルチ・クラスタの管理性 Oracle Fail Safe は、ロジカル・スタンバ

イ/フィジカル・スタンバイをサポートす

ることで、障害から保護します。管理性も

向上し、複数のクラスタを同一コンソール

から管理できるようになりました。

ロジカル/フィジカル・スタンバイの統合により、Oracle Fail Safe データベースを

プライマリ・サイトやあらゆるリモート・スタンバイ・サイトで実行できるよう

になりました。Oracle Fail Safe はデータベースを監視し、オンラインやオフライ

ンを切り替えることができます。これにより、クラスタ内のシングル・インスタ

ンス障害において、停止時間を 小限に抑えることができます。さらに、スタン

バイ・サイトを管理するというメリットが得られます。Oracle Fail Safe は、Windows

環境で一般的におこなわれるソフトウェアおよびハードウェアのアップグレード

Windows での Oracle Database 11TgT:開発と配置

25

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 26: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

といった計画フェイルオーバーで多く使用されます。ロジカル/フィジカル・スタ

ンバイにより、Oracle Fail Safe は真の障害保護を提供できるようになりました。

両製品は互いを補完し、個別に使用する場合よりも高い可用性と障害保護を提供

します。

複数のクラスタを配置する場合は、Oracle Fail Safe Manager を使用して 1 つ以上の

クラスタを管理できます。管理者は各クラスタを個別の画面で管理するのではな

く、同一画面ですべてを管理できます。たとえば、管理者は単一ウィザードを使

用して Oracle Fail Safe クラスタ上のすべてのデータベースのデータベース・アカ

ウント資格証明を一度に修正できます。ポリシーの比較、クラスタの表示、また

はアラートの選択などを個別におこなうという、手間のかかる作業を回避できます。

結論

Windowsアプリケーションの開発および配置に関わるテクノロジーが進化してき

たように、Oracleも進化しました。Oracle Database 11gは、パフォーマンス、スケー

ラビリティ、使い勝手、セキュリティを犠牲にすることなく、自社の要件に合っ

た.NETアプリケーション・ツールとアーキテクチャを選択できる、これまでにな

い柔軟性を顧客に提供します。オラクルは、Windowsの開発者にADO.NETとVisual

Studioの統合を提供しています。Windowsの管理者には、Active Directory、Internet

Information Services(IIS)、Windowsセキュリティ、Microsoft Cluster Servicesなど、

多くのオペレーティング・サービスを緊密に統合して提供します。Windows上で

稼動することを前提にOracle Database 11gを設計したことで、顧客のソフトウェ

ア・アプリケーションは、オペレーティング・システムとデータベース間でシー

ムレスな相互運用性を獲得できます。

Windows での Oracle や.NET について、詳しくは以下を参照してください。

OTN Windows Technology Center:

http://www.oracle.com/technology/global/jp/tech/windows/

OTN .NET Developer Center:http://www.oracle.com/technology/global/jp/tech/dotnet/

WindowsでのOracle:http://www.oracle.com/lang/jp/technologies/microsoft/

Windows での Oracle Database 11TgT:開発と配置

26

Oracle Corporation 発行「Oracle Database 11g on Windows: Development and Deployment」の翻訳版です。

Page 27: WindowsでのOracle Database 11g:開発と配置...Windows でのOracle Database 11g: 開発と配置 概要 Oracle Database 11gはWindowsプラットフォームに対して包括的なデータベース・ソ

WindowsでのOracle Database 11g:開発と配置 2007 年 9 月 著者:Alex Keh 共著者:Christian Shay 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 © 2007, Oracle. All rights reserved. 本文書は情報提供のみを目的として提供されており、ここに記載される内容

は予告なく変更されることがあります。本文書は一切間違いがないことを保

証するものではなく、さらに、口述による明示または法律による黙示を問わ

ず、特定の目的に対する商品性もしくは適合性についての黙示的な保証を含

み、いかなる他の保証や条件も提供するものではありません。オラクル社は

本文書に関するいかなる法的責任も明確に否認し、本文書によって直接的ま

たは間接的に確立される契約義務はないものとします。本文書はオラクル社

の書面による許可を前もって得ることなく、いかなる目的のためにも、電子

または印刷を含むいかなる形式や手段によっても再作成または送信すること

はできません。Oracle は米国 Oracle Corporation およびその子会社、関連会

社の登録商標です。その他の名称はそれぞれの会社の商標です。