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

WindowsでのOracle Database 10g Release 2アーキテクチャ

N/A
N/A
Protected

Academic year: 2021

シェア "WindowsでのOracle Database 10g Release 2アーキテクチャ"

Copied!
13
0
0

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

全文

(1)

Windows で の Oracle Database 10g

Release 2 アーキテクチャ

Oracle テクニカル・ホワイト・ペーパー

2005 年 11 月

(2)

Windows での Oracle Database 10g Release 2

アーキテクチャ

概要 ... 3

はじめに ... 3

Windows での Oracle Database10g Release 2 アーキテクチャ ... 4

スレッド・モデル... 4

サービス... 5

スケーラビリティの強化... 6

4GB RAM Tuning(4GT) ... 6

Very Large Memory(VLM)... 6

AMD64/EM64T と Itanium – Oracle 10.2 の新機能... 7

ラージ・ページ – Oracle 10.1 の新機能... 9

アフィニティと優先順位の設定 ... 9

Non-Uniform Memory Access(NUMA) – Oracle 10.1 の新機能 .... 10

ファイル I/O の強化... 10

クラスタ・ファイル・システム ... 10

64 ビット・ファイル I/O ... 10

RAW ファイルのサポート ... 11

使いやすさ – Express Edition... 11

結論 ... 12

(3)

Windows での Oracle Database 10g Release 2

アーキテクチャ

概要

Oracle Database 10g Release 2 for Windows は、エンタープライズ・スケーラビリティ、 信頼性、および高いパフォーマンスを必要とする配置に最適なデータベース・ソ リューションです。スレッド・ベースのネイティブ Windows サービス・モデルを 使用することで、Oracle Database 10g Release 2 は高いパフォーマンスとスケーラビ リティを実現します。Oracle データベースには、Windows オペレーティング・シ ステムおよび基盤となるハードウェアの高度な機能と緊密に統合することにより、 スケーラビリティとパフォーマンスを強化する多くの機能が含まれています。 Oracle Database 10g の最初のリリースでは、ラージ・ページ・サポートと Numa サ ポートの導入により、さらにパフォーマンスが向上しました。大容量ファイルと RAW ファイルのサポート、大容量メモリのサポート、およびグリッド・コンピュー ティングの使用を通じて、Oracle はエンタープライズ・クラスのパフォーマンスを 実現します。 このリリースでは、Oracle データベース・ファミリーに 2 つの新しいエディショ ン(AMD64/EM64T ハードウェア上の 64 ビット Windows 用のネイティブ 64 ビッ ト・データベースと Oracle Database Express Edition(Oracle Database XE))が導入 されました。AMD64/EM64T は、Itanium プラットフォームに加え、第 2 の 64 ビッ ト・ハードウェア・オプションを提供します。64 ビットのサポートにより、32 ビッ ト・システムを上回るスケーラビリティとパフォーマンスを提供します。Oracle Database XE は、ネイティブ Windows インストーラを使用することで、フットプ リントの小さなデータベース・ソリューションを提供します。これは、開発やプ ロトタイプ・シナリオに最適です。

はじめに

Oracle データベースは、Windows プラットフォームにおける主要データベース・ ソリューションの 1 つになりました。Oracle は初めから Windows で最高のパフォー マンスを発揮し、もっとも緊密に統合されたデータベースを提供することを目標 としてきました。そのため、市場をリードする UNIX データベース・テクノロジー から Windows プラットフォームへの移行に早い時期から投資をおこなっていまし た。1993 年、Oracle は Windows NT 向けの初のリレーショナル・データベースを 発売しました。 オラクルは、常に Windows オペレーティ ング・システムへの徹底した取組みを続 け て き ま し た 。 1993 年 、オラクル は Windows NT 向けの初のリレーショナ ル・データベースを発売しました。デー タベースに特定の変更を加えることで、 Windows でのパフォーマンスとユーザビ リティを向上させました。 当初、Oracle の開発努力は Windows でのデータベース・パフォーマンス向上とアー

キテクチャの最適化に集中していました。Oracle7 on Windows NT では、Windows プラットフォームに固有の機能を活用するように再設計がおこなわれました。こ れらの機能には、ネイティブ・スレッド・サポートやパフォーマンス・モニター およびイベント・ビューアなどの Windows 管理ツールとの統合が含まれます。 Windows での Oracle データベースは、基本レベルのオペレーティング・システム

(4)

統合から、64 ビット Itanium や 64 ビット AMD64/EM64T システムを含む Windows プラットフォームが提供する、より高度なサービスの活用へと発展してきました。 オラクルは常に新しい Windows テクノロジーを採用し、活用し続けています。こ のホワイト・ペーパーでは、Windows での Oracle Database 10g Release 2 アーキテ クチャについて詳しく説明します。また、Windows データベースの機能を向上さ せる最近の技術革新について説明しますが、すべてのハードウェア・プラット フォームに適用される機能は対象としていません。

Windows での Oracle Database10g Release 2 アーキテクチャ

Oracle Database 10g Release 2 は、Windows 上で稼動する場合でも、オラクルがサ ポートする各種の UNIX プラットフォーム上で提供される機能と同じものを備え ています。ただし、データベースとオペレーティング・システム間のインタフェー スは、Windows が提供する固有サービスの利点を活用するために大幅に変更され ています。したがって、Windows での Oracle Database 10g Release 2 は、UNIX コー ド・ベースをそのまま Windows に移植したものではありません。データベースが Windows の機能を最大限に活用し、アプリケーション構築の基盤システムとして の Oracle Database 10g Release 2 が安定性および信頼性に優れた高いパフォーマン スを発揮できるようにするため、多くのエンジニアリング作業が実施されていま す。

Oracle Database 10g Release 2 は 、 Windows 上でも UNIX 上と同様の機能を 提供します。ただし、内部では、Windows 固有のオペレーティング・システム機能 の利点を活用して、パフォーマンス、信 頼性、および安定性を向上させるために 大幅な作業が実施されています。

スレッド・モデル

Windows 上の Oracle Database 10g Release 2 を UNIX 上の Oracle データベースと比 較した場合、もっとも顕著なアーキテクチャの変更はプロセス・ベース・サーバー からスレッド・ベース・サーバーへの変換です。UNIX の場合、Oracle はプロセス を使用して、データベース・ライター(DBW0)、ログ・ライター(LGWR)、 ディスパッチャ、共有サーバーなどのバックグラウンド・タスクを実装します。 さらに、データベースへの各専用接続により、そのセッションの代わりに別のオ ペレーティング・システム・プロセスが作成されます。しかし、Windows の場合 はこれらすべてのプロセスが 1 つの大規模プロセス内にスレッドとして実装され ます。つまり、それぞれの Oracle データベース・インスタンスに対して、Windows で実行されるプロセスは Oracle データベース・サーバー自体の 1 つのみになりま す(注:Windows 上には、Oracle Enterprise Manager Database Console など、そのほ かのデータベース・サービス用に別の Oracle プロセスが存在します。)このプロ セスの内部には多数のスレッドが実行されており、各スレッドが UNIX アーキテ クチャにおける 1 つのプロセスに相当します。したがって、UNIX 上のあるイン スタンスにおいて 100 個の Oracle プロセスが実行されているとすると、Windows 上では 1 つのプロセス内の 100 個のスレッドによって同じワークロードが処理さ れることになります。 Windows での Oracle データベース・アー キテクチャは、プロセスではなくスレッ ドに基づいています。スレッドのおかげ で、コンテキスト切替えが迅速になり、 共有メモリを使用しない SGA 割当て作 業は大幅に簡素化され、新規接続の作成 時間が短縮され、全体的なメモリ使用が 削減されます。 データベースに接続しているクライアント・アプリケーションは、操作上、この データベース・アーキテクチャの変更による影響は受けません。内部のプロセス・ アーキテクチャはスレッド・ベース・アプローチに変わりましたが、データベー スが Windows 上でもそのほかのプラットフォーム上と同様に動作するよう、あら ゆる努力がおこなわれています。 スレッド・ベース・アーキテクチャへ移行しようとした本来の動機は、Windows NT 向けの最初のリリースで発生したパフォーマンスの問題に起因しています。この 問題は、プロセス間で共有されたファイルを処理する際に発生しました。単純に スレッド・ベース・アーキテクチャへ変換しただけで、そのほかのコードを変更

(5)

しなくても、オペレーティング・システムでこの特定のボトルネックが解消され たため、パフォーマンスは飛躍的に向上しました。アーキテクチャの変更に対す る本来の動機付けはもはや存在しませんが、非常に優れた安定性と保守性が明ら かになったため、Oracle ではスレッド・アーキテクチャの使用が継続されました。 さらに、スレッド・アーキテクチャには別の利点もあります。スレッド間でのオ ペレーティング・システム・コンテキストの切替えはプロセス間とは対照的に迅 速であり、システム・グローバル領域(SGA)の割当てルーチンも、共有メモリ を使用する必要がないため格段に容易です。また、スレッドはプロセスよりも迅 速に作成されるため、新規接続の作成にかかる時間が短縮されます。スレッドは プロセスよりも多くのデータ構造を共有するため、メモリ使用が削減できます。 最後に、スレッド・ベース・モデルには、プロセス・ベース・モデルよりも"Windows 的"であるという認識があります。 内部的には、スレッド・モデルの実装コードはコンパクトであり、Oracle コード の本体から遠く分離されています。スレッド・モデルの実装に必要なインフラス トラクチャ全体が、20 未満のモジュールによって提供されています。さらに、例 外ハンドラの使用とリソースの追跡および割当て解除をおこなうルーチンによっ て堅牢性が強化されました。これらのおかげで、リソース・リークやプログラム の動作不良による停止なしで、24 時間 365 日の運用が可能になります。

サービス

スレッド・スレッド・ベースであることに加えて、Oracle Database 10g Release 2 は一 般的な Windows プロセスではありません。Oracle Database 10g Release 2 は Windows サービスであり、基本的にはバックグラウンド・プロセスです。このプロセスは オペレーティング・システムに登録されており、起動時に Windows によって開始 され、特定のセキュリティ・コンテキスト内で実行されます。システムの再起動 時にデータベースを自動的に開始するため、Oracle をサービスに変換する必要が ありました。サービスは開始するためにユーザー・インタラクションを必要とし ないからです。Oracle データベース・サービスが開始されるとき、一般的な Oracle スレッドはいずれもプロセス内で実行されていません。そのかわり、プロセスは 基本的に初期接続と SQL*Plus からの起動リクエストを待ちます。このリクエスト により、フォアグラウンド・スレッドが開始され、その後、最終的にバックグラ ウンド・スレッドと SGA が作成されます。データベースが停止されると作成され たすべてのスレッドは終了しますが、プロセス自体は引き続き実行され、次の接 続要求と起動コマンドを待ちます。Oracle データベース・サービスだけでなく、 SQL*Plus を自動的に起動し、クライアントが使用できるようにデータベースの開 始とオープンをおこなうサポートも追加されました。 Oracle データベースは Windows サービ スとして実行されるバックグラウンド・ プロセスであり、Windows の起動時に開 始されます。

Oracle Net Listener もユーザーがデータベースに接続する前に実行中でなければな らないため、サービスとして実装されています。上述のとおり、これらすべての 実装事項は、基本的にはクライアントからデータベースへの接続方法や使用方法 になんら影響を与えませんが、Windows データベース管理者にとっては非常に重 要です。

(6)

スケーラビリティの強化

Windows での Oracle Database 10g Release 2 が目指すおもな目標の 1 つは、スケー ラビリティ、スループット、データベース処理能力を向上させるために、オペレー ティング・システム・テクノロジーとハードウェア・テクノロジーを最大活用す ることです。 長年にわたって、Oracle データベースは 常に大規模ユーザーをサポートするよう に 構 築 さ れ て き ま し た 。 Oracle Real Application Clusters は、複数マシンを 1 つのデータベースとしてクラスタリング することで、ユーザー数の増加とスルー プットの向上を可能にします。 Windows 上で多数のデータベース接続ユーザーをサポートするために、多くの活 動が実施されてきました。Oracle7 バージョン 7.2 の時代に、すでに本番環境で Windows NT 上の単一データベース・インスタンスへの同時接続が 1,000 を超える 顧客がいました。時が経過するにつれユーザー数は増加し、2,000 を優に上回る ユーザーが本番環境の単一ノード上の単一データベース・インスタンスに同時接 続できるようになりました。Oracle 共有サーバー・アーキテクチャを使用した場 合、Oracle データベース・プロセス内で実行されるスレッド数は制限されますが、 単一データベース・インスタンスに対して 10,000 を上回る同時接続が達成されて います。さらに、ネットワークの多重化と接続プーリング機能を利用すると、さ らに多くのユーザーで単一データベース・インスタンスに接続する大規模構成が 実現できます。 近年では、Itanium または AMD64/EM64T といった新しい 64 ビット・ハードウェ アと Oracle Real Application Clusters(RAC)を利用することで、Windows データベー ス管理者はさらにユーザー数を増やすことができます。64 ビットにおける改良点 については後述します。Oracle RAC では、複数のサーバー・マシンから同じデー タベース・ファイルにアクセスできるため、ユーザー接続数を増やすと同時にス ループットも向上できます。

4GB RAM Tuning(4GT)

32 ビットの Windows 2000 Server(Advanced Edition および Datacenter Edition)と 32 ビットの Windows Server 2003(Enterprise Edition および Datacenter Edition)に は、4GB RAM Tuning(4GT)と呼ばれる機能が含まれています。この機能を利用 すると、使用メモリの多い Windows アプリケーションから、ほかの Windows エディ ションで許可されている標準の 2GB ではなく、最大 3GB のメモリに直接アクセ スできます。Oracle データベースにとっての明らかなメリットは、50%多いメモ リがデータベースで使用できるようになり、SGA サイズや接続数を増加できる点 です。この機能はバージョン 7.3.4 以降のすべての Oracle データベース・サーバー・ リリースでサポートされており、標準の Oracle インストールに変更を加える必要 はありません。唯一必要な設定変更は、Windows の boot.ini ファイルで/3GB フラ グが使用されていることを確認することです。 Windows での Oracle データベースは、 4GB RAM Tuning、Very Large Memory、 Address Windowing Extensions などの各 種手法を通じて大容量メモリへのアクセ スをサポートします。Oracle では使用可 能な最大メモリである 64GB まで使用で きるため、スケーラビリティとスルー プットに優れたユーザー・エクスペリエ ンスを提供できます。

Very Large Memory(VLM)

Windows 2000 固有の主要な追加機能である Very Large Memory(VLM)構成のサ ポートは、Oracle8i で行われました。この機能により、Windows 上の Oracle デー タベースは、通常の 32 ビット Windows に課せられる 3GB のアドレス空間制約を 打破できます。具体的には、単一データベース・インスタンスは、相当する物理 メモリをサポートするマシンおよびオペレーティング・システム上で実行されて いる場合、最大 64GB のデータベース・バッファにアクセスできます。Oracle Database 10g Release 2 において、VLM サポートはデータベース・カーネル内のデー タベース・バッファ・キャッシュ・コードと非常に緊密に統合されているため、 データベース・バッファとして使用可能な大容量 RAM を非常に効率的に使用で きます。データベースに構成するバッファ数を増やすことで、メモリ内にキャッ

(7)

シュされるデータも増やせます。これにより、メモリからのデータ取得よりも大 幅にパフォーマンスの低いディスク I/O の回数を削減できます。また、これらの 機能を使用することで、データベースのスループットとパフォーマンスの向上に つながります。

Windows での Oracle Database 10g Release 2 は、内部的に Address Windowing Extensions(AWE)を活用しています。AWE は、Windows 2000 と Windows Server 2003 に組み込まれています。AWE は API コールのセットであり、従来の 32 ビッ ト Windows アプリケーションで一般的に使用可能であった 3GB を超える RAM へ のアプリケーション・アクセスを可能にします。AWE インタフェースは Intel Xeon アーキテクチャの利点を活用することで、マシン内のすべてのメモリに対して、 マップ/アンマップの迅速なインタフェースを提供します。したがって、4GB を超 えるメモリにアクセスする際、アプリケーションは直接メモリにアクセスしてい るわけではありません。要求されたデータベース・バッファが 4GB を超えるメモ リ領域にある場合、32 ビットのデータベースからアクセスできるようにするには この領域から 4GB 以下のメモリ領域にマップする必要があります。この場合、直 接的なメモリ・アクセスよりパフォーマンスが低下しますが、ディスクを使用す るよりは大幅に早くなります。 AWE コールにより、データベース・バッファの使用量を大幅に増加することが可 能になり、バッファ合計で最大 64GB まで使用できます。これは純粋にメモリ内 部の変更であり、データベース・ファイル自体は変更または修正されていません。

AMD64/EM64T と Itanium – Oracle 10.2 の新機能

Oracle データベース・アーキテクチャの スケーラビリティに関する次の大きな一 歩は、64 ビットの AMD64/EM64T および Itanium プ ラ ッ ト フ ォ ー ム へ の 移 行 に よって達成されました。Oracle データ ベースはすでに別の 64 ビット・プラット フォームに移植されているため、64 ビッ トの Windows への移行は、安定性と性能 に優れた Oracle データベースにつながり ます。 Windows における Oracle データベースのパフォーマンスとスケーラビリティのさ らなる飛躍は、64 ビットの Windows Server 2003 における 64 ビットの Oracle デー タベースにより達成されました。Windows では、Intel Itanium プラットフォームと AMD64 および Intel EM64T プラットフォームの 2 種類が使用できます。両方のプ ラットフォームにおいて、32 ビットの場合より優れたスケーラビリティと高いパ フォーマンスが実現されます。

オラクルは、これらの 64 ビット・プラットフォームに徹底して取り組んでいます。 Itanium と AMD64/EM64T の両方で、64 ビット Windows に対応したデータベース 開発者向けリリースを最初に提供したのはオラクルです。オラクルは 64 ビット Windows コンピューティングの道を開き続け、Itanium 向けの 64 ビット Windows Server 2003 の発売当日に Oracle データベースの製品バージョンをリリースしまし た。オラクルの開発チームは、両方の 64 ビット・ハードウェアとオペレーティン グ・システム上でのデータベースの最適な動作を保証すべく、Microsoft、Intel、 および AMD と緊密な協力を続けてきました。

Windows での Oracle Database 10g Release 2 のリリースにより、オラクルは現在、 Intel EM64T および AMD64 ハードウェア・プラットフォームにおける 64 ビット・ バージョンのデータベースをサポートします。

UNIX 互換 OS におけるそのほかの Oracle 64 ビット版と同じように、Windows に おける Oracle データベースの 64 ビット版は、32 ビット・データベースと比較す ると、多数の接続を処理し、大幅に多くのメモリを割り当て、非常に優れたスルー プットを実現します。64 ビット・システムでより多く使用可能になったキャッシュ とメモリにより、Oracle のパフォーマンスとスケーラビリティは大幅に向上しま した。32 ビット・システムのような 4GB のメモリ制限はもはや存在しないため、 64 ビットの Oracle は大規模トランザクション処理やビジネス・インテリジェン

(8)

ス・アプリケーションに最適です。さらに、64 ビット・アーキテクチャで実現し た並列性とスケジューリングの向上、およびスループットの改善が Oracle に恩恵 をもたらしました。これらのパフォーマンス向上はすべて、透過的に Oracle デー タベースで利用できます。このため、既存のデータベース配置でコードを変更す る必要はありません。 64 ビットに移行したことで得られたパフォーマンス向上に加えて、Oracle に導入 されたおもなパフォーマンスの透過的な改善の 1 つにプロファイルに基づく最適 化(PGO)があります。Intel の 64 ビット Windows コンパイラを使用した場合、 Oracle データベースは Itanium と AMD64/EM64T の両方で典型的な顧客ワークロー ドに対して最適に動作するよう設計されています。シミュレートされた顧客ワー クロードをコンパイル時に使用することで、フィードバック・ループがコンパイ ラに提供され、もっとも使用されるコード・パスともっとも使用されないコード・ パスが分析されます。コンパイラは、この情報に基づいて、64 ビット・ハードウェ アでの実行時に効率が上がるようにコード・パスを配置します。Oracle では、ほ かに変更を加えずに PGO を使用しただけで約 15~20%のパフォーマンス向上が確 認されています。PGO による改善は既存アプリケーションにとって透過的である ため、コード変更は必要ありません。 32 ビットから 64 ビット Oracle への移行パスは非常に簡単です。データベースの 再作成が不要であるばかりでなく、全体エクスポートや全体インポートも必要あ りません。現在のデータファイルを新しいシステムにコピーし、64 ビット・バー ジョンの Oracle をインストールした上で、通常どおりにデータベースを開始し、 いくつかの SQL スクリプトを実行してデータ・ディクショナリを更新するだけで す。 アーキテクチャ上の観点から見ると、現在の実績あるスレッド・ベース・アーキ テクチャが 64 ビット版で使用されています。結果的に、新しい 64 ビット Oracle ソフトウェアの作成には基本的に、再コンパイル、再リンク、再テスト、そして 新バージョンの再リリースが伴いました。基盤となるオペレーティング・システ ムの API は実質的に同じであったため、64 ビットへの移行において加えられた新 規コードはほとんどありません。また、Oracle データベースはすでに別の 64 ビッ ト版に移植されているため、64 ビットへの移行は簡単なプロセスであり、短期間 で品質と安定性に優れた製品が提供されます。 AMD64/EM64T を使用する利点の 1 つは、同一プラットフォーム上で 32 ビットか ら 64 ビットへ容易にアプリケーションを移行できる点にあります。このハード ウェアを使用すると、32 ビット Windows 上で、32 ビットの Oracle データベース・ サーバーおよびクライアントを実行できます。さらに、Oracle クライアントは 32 ビット・モードのまま、64 ビット・モードでオペレーティング・システムを実行 できます。このオプションにより、同じマシン上で複数のアプリケーションを実 行している場合、32 ビットから 64 ビットへの容易な移行パスが提供されます。 顧客は、64 ビットへのアプリケーション移行を時差式に実行できます。

(9)

ラージ・ページ – Oracle 10.1 の新機能

ラージ・ページ・サポートは Oracle Database 10g Release 1 の新機能であり、32 ビッ トと 64 ビットの Windows Server 2003 上で、メモリ使用の多いデータベース・イ ンスタンスのパフォーマンスを向上させます。新しく導入されたオペレーティン グ・システムのサポートを活用することで、Oracle は、リソースを割り当てるプ ロセッサ・メモリの使用を効率化できます。ラージ・ページ・サポートが有効で ある場合、とくにシステム CPU から RAM 内の Oracle データベース・バッファへ のアクセスが迅速化されます。バッファを 4KB(32 ビット)または 8KB(64 ビッ ト)単位で割り当てる代わりに、CPU は、データベースのバッファを割り当てる 際に 4MB(32 ビット)ページ・サイズまたは 16MB(64 ビット)ページ・サイズ を使用するように指示されます。 ラージ・ページ・サポートは、メモリ使 用の多いデータベース・アプリケーショ ンのパフォーマンスを向上させます。こ れは、とくにバッファ・キャッシュ・サ イズが数 GB である場合に有効です。 この新機能を有効にするには、Windows レジストリの Oracle キーでレジストリ変 数 ORA_LPENABLE を 1 に設定します。この機能は Oracle バッファ・キャッシュ のサイズが数 GB である場合、とくに有効です。サイズの小さい構成でもラージ・ ページの使用による効果はありますが、データベースが大量のメモリにアクセス する場合ほど大きなものではありません。

アフィニティと優先順位の設定

Oracle データベースでは、Windows 上で実行しているデータベース・プロセスと そのプロセス内の個々のスレッドに対して、優先順位とアフィニティの両方の設 定変更がサポートされています。 データベース管理者は、パフォーマンス を向上させるために、特定の Oracle ス レッドに対して CPU アフィニティと優 先順位を割り当てることができます。 データベース管理者は、レジストリ設定で ORACLE_PRIORITY の値を変更するこ とで、個々のバックグラウンド・スレッドとフォアグラウンド・スレッド全体に 対して異なる Windows 優先順位を割り当てることができます。同様に、Oracle プ ロセス全体の優先順位を変更することもできます。これにより、一部のアプリケー ションのパフォーマンスが多少向上する場合があります。たとえば、大量のログ・ ファイル・アクティビティが発生するアプリケーションの場合、LGWR スレッド の優先順位を上げることで負荷の処理を効率化できます。また、レプリケーショ ンを多用している場合、リモート・データベースとの間でデータのリフレッシュ をおこなうスレッドの優先順位を上げます。 ORACLE_PRIORITY 設定とよく似ていますが、データベース管理者は ORACLE_ AFFINITY レジストリ設定を使用して、Oracle プロセス全体またはプロセス内の 個別スレッドをシステム上の特定の CPU や CPU グループに対して割り当てるこ とができます。この設定によってもパフォーマンスを向上できる場合があります。 たとえば、CPU 間における移動をおこなわないように DBW0 を 1 つの CPU に固 定すると、パフォーマンスがわずかに向上する場合があります。また、システム 上で別のアプリケーションを実行している場合、ORACLE_AFFINITY を使用して Oracle を使用可能な CPU のサブセットに限定することで、そのほかのアプリケー ションが実行する時間を確保できます。

ORACLE_PRIORITY と ORACLE_AFFINITY の 2 つは、Windows での Oracle Database 10g Release 2 に付随する固有のドキュメントで詳しく説明されています。

(10)

Non-Uniform Memory Access(NUMA) – Oracle 10.1 の新機能

Windows Server 2003 では Non-Uniform Memory Access(NUMA)へのサポートが 追加されたため、Oracle はハイエンドの NUMA ハードウェアをさらに活用できる ようになりました。このハードウェアでは、1 台の物理サーバーが複数のコン ピューティング・"ノード"で構成されています。NUMA マシン内の各ノードは物 理 RAM の異なる部分に異なる速度でアクセスするため、データベースが NUMA マシンのトポロジを特定し、スケジューリング、メモリ割当て、および内部操作 を適宜調整することが不可欠です。具体的にいうと、Oracle Database 10g は Windows Server 2003 上 の NUMA マ シ ン で 実 行 さ れ る 場 合 、 起 動 時 に ORACLE_AFFINITY に適切なデフォルト値を自動設定して、マシン・リソースの 利用効率を最大化します。また、SGA および PGA のメモリを割り当てる際に、 データベースにより実行されるメモリ割当ては、サーバー上のあらゆる"ノード" からできる限り効率的にメモリ・アクセスがおこなえるように、NUMA を意識し た方法で実行されます。最後に、これもパフォーマンス向上を目的として、デー タベース・ライター・スレッドの数がノードごとに 1 つになるように設定されて います。 Oracle データベースは NUMA ハード ウェアを自動的に検知し、NUMA ノード のアフィニティを効率的に利用するよう に自身を最適化します。

ファイル I/O の強化

Oracle データベース・コードにおいて多くの労力が費やされたもう 1 つの分野は、 クラスタ・ファイル、大容量ファイル、RAW ファイルのサポートに関係していま す。Oracle Cluster File System は、Oracle Database 10g Release 2 の重要な部分を占 めており、Windows での Oracle クラスタの管理とインストールを簡素化します。 すべての Windows 機能を最大活用するため、データベースは 64 ビット・ファイ ル I/O をサポートしています。これにより、4GB を超えるサイズのファイルを使 用できます。さらに、Windows での Oracle Real Application Clusters(RAC)の有効 化とパフォーマンスを最大にする必要がある場合のために、物理 RAW ファイル と論理 RAW ファイルのデータファイル、ログ・ファイル、および制御ファイル としての使用がサポートされます。 Windows での Oracle データベースはク ラスタ・ファイル・システムをサポート しているため、管理が容易になります。 64 ビット・ファイル I/O サポートにより、 4GB を超えるファイル・サイズが使用で きます。未フォーマットのディスク・パー ティションである RAW ファイルのサ ポートにより、従来のファイル・システ ムと比べてパフォーマンスが向上します。

クラスタ・ファイル・システム

Oracle Database 10g Release 2 を使用すると、Oracle RAC の管理性は、Oracle Cluster File System(CFS)によって大幅に改善されます。Oracle CFS はとくに Oracle RAC で使用するために開発されました。Oracle RAC の実行ファイルは、Oracle CFS ま たは RAW ファイル上にインストールされます。後者の場合、クラスタの各ノー ド上で少なくとも 1 つのデータベース・インスタンスを実行します。Oracle CFS に 1 つの Oracle ホームをインストールしている場合、データベースは共有ストレー ジ、一般的にはストレージ・アレイ上に存在します。Oracle ソフトウェアは、ク ラスタ内のすべてのノードからアクセスできますが、いずれのノードからも制御 することは不可能です。すべての CFS マシンがすべてのデータに対して等しくア クセス可能であり、どのようなトランザクションでも処理できます。このように、 Oracle RAC と Oracle CFS の組合せによりインストールと管理が簡素化されると同 時に、データベース・ソフトウェアの完全な冗長性が保証されます。

64 ビット・ファイル I/O

内部的には、すべての Oracle データベースのファイル I/O ルーチンで 64 ビット・ ファイル・オフセットがサポートされています。つまり、データ・ファイル、ロ グ・ファイル、制御ファイルに関して、ほかのプラットフォームにあるような 2GB

(11)

または 4GB のファイル・サイズ制限はありません。実際にあるのは、すべてのプ ラットフォームに共通の一般的な Oracle の制限です。これらの制限には、ファイ ル当たりの最大データベース・ブロック数 400 万、最大ブロック・サイズ 16KB、 データベース当たりの最大ファイル数 64K などがあります。これらの値を掛け合 わせると、Windows でのデータベース・ファイルの最大サイズは 64GB になると 計算されますが、サポートされる合計データベース・サイズの最大値は(データ ベース・ブロックが 16KB の場合)4 ペタバイトです。

RAW ファイルのサポート

UNIX と同様、Windows でも RAW ファイルの概念がサポートされます。RAW ファ

イルは基本的にフォーマットされていないディスク・パーティションであり、1 つの大容量ファイルとして使用できます。RAW ファイルは未フォーマットのパー ティションであるため、ファイル・システムによるオーバーヘッドがないという 利点があります。結果的に、データベース・ファイルやログ・ファイルに RAW ファイルを使用するとわずかながらパフォーマンスが向上します。しかし、標準 の Windows コマンドは RAW ファイルの操作やバックアップをサポートしていな いため、RAW ファイルを使用するマイナス面として管理性が低下します。したがっ て、通常 RAW ファイルは、最適なパフォーマンスを必要とする非常に高度なイ ンストールにおいて、Oracle Real Application Clusters によってのみ使用されます。 RAW ファイルを使用するための Oracle 要件はファイル名のみであり、どのドラ イブやパーティションをファイルとして使用するかを指定します。たとえば、ファ イル名が¥¥.¥PhysicalDrive3 である場合、3 番目の物理ドライブをデータベースの 一部の物理 RAW ファイルとして使用することを意味します。また、¥¥.¥log_file_1 というファイルは、分かりやすいように別名を割り当てられた RAW ファイルの 例です。別名は、Oracle Object Link Manager(OLM)を使用して割り当てること ができます。Oracle OLM は使いやすいグラフィカル・インタフェースを提供して おり、再起動後もクラスタ間におよぶリンクを維持します。Oracle で RAW ファ イル名を指定する場合、正しいパーティション番号またはドライブ文字を選択す るように注意する必要があります。データベースにファイルが追加されると、指 定されたドライブがすでに NTFS や FAT フォーマット済みドライブであっても、 Oracle は単純にこのドライブに上書きをおこなうためです。

Oracle にとって、RAW ファイルはそのほかの Oracle データベース・ファイルとな んら変わりはありません。RAW ファイルはそのほかのファイルと同様に扱われ、 Oracle Recovery Manager からバックアップやリストアを実行できます。

使いやすさ – Express Edition

Oracle Database 10g Express Edition は、簡単に使用およびインストールができるよ うに設計された新しいデータベース・エディションです。これは、実績のある Oracle データベースから不要な部分を省いたバージョンであり、小さいディスク とメモリ・フットプリントで、無償で使用および配布できます。データベース管 理は、HTML DB と呼ばれる簡単なブラウザ・ベースのインタフェースを介して 実行できます。アプリケーションは、SQL、JDBC、ODBC、OLE DB、Oracle Data Provider for .NET(ODP.NET)を含む標準のインタフェースを使用して開発できま す。Oracle Database 10g Express Edition は、すべての 32 ビット Windows プラット フォームで使用できます。

このエディションは、軽量アプリケーションを構築するすべてのデータベース開

(12)

ラを使用しているため、Oracle Universal Installer に比べ、すべての Windows ユー ザーになじみのあるものになっています。データベース・サーバーとクライアン トは、スタンドアロン・アプリケーション用、または個別にクライアント・サー バー・アプリケーション用に一括してインストールできます。開発者は、ダウン ロードからインストールまでを 10 分以下で実行でき、稼動しているデータベース を使用して作業できます。Oracle Developer Tools for Visual Studio .NET(.NET 開発 のプラグイン)を使用するためには、別途インストールする必要があります。こ れは、このツールがランタイムの配置を対象としていないためです。

Oracle Database 10g Express Edition は、プロトタイプの作成とデータベース・アプ リケーションの開発に最適な環境を提供します。Oracle Database 10g Express Edition の使用と配布は完全に無償のため、開発者はリスク無しでこの製品を使用 できます。Standard Edition や Enterprise Edition などの、より高位の Oracle データ ベース・エディションへシームレスに移行できる機能により、アプリケーション の成長がデータベースに制限されるという心配はなくなります。

独立系ソフトウェア・ベンダーは、このデータベースをアプリケーションへ完全 に組み込み、厳しい仕様に合うように Oracle Database 10g Express Edition をカスタ マイズできます。

結論

オラクルは、Oracle Database 10g Release 2 に AMD64/EM64T のための新しい 64 ビット・サポートと軽量データベース・ソリューションのための新しい Express

Edition を含めて、重要な新しい機能を導入しました。Windows 版 Oracle データベー

スは、UNIX データベース・サーバーの移植版から、Windows オペレーティング・ システムおよび基盤となるハードウェアのサービスと機能を最大活用する統合ネ イティブ・アプリケーションへと進化しました。オラクルは、アプリケーション 構築基盤としての安定性に優れた高機能プラットフォームを提供しながら、 Windows 上のデータベース・サーバーのパフォーマンス、スケーラビリティ、お よび機能性を向上し続けます。オラクルは、32 ビットと 64 ビットの両方の Windows プラットフォームで最高の性能を発揮するデータベースを提供するため に全力を尽くしています。

Windows での Oracle データベースについて、詳しくは下記の Web サイトを参照し てください。

テクニカル - http://www.oracle.com/technology/global/jp/tech/windows/ ビジネス - http://www.oracle.com/lang/jp/technologies/microsoft/

(13)

Windows での Oracle Database 10g Release 2 アーキテクチャ 2005 年 11 月 著者:David Colello 共著者:Alex Keh 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 オラクル社はインターネット上での活動を強化するソフトウェアを提供しま す。 Oracle は、オラクル社の登録商標です。本文書内で参照される各種製品とサー ビスの名称は Oracle Corporation の商標です。その他の製品とサービスの名 称はすべてそれぞれの会社の商標です。

Copyright © 2005 Oracle Corporation All rights reserved.

参照

関連したドキュメント

Microsoft/Windows/SQL Server は、米国 Microsoft Corporation の、米国およびその

項目 MAP-19-01vx.xx AL- ( Ⅱシリーズ初期データ編集ソフト) サポート OS ・ Microsoft Windows 7 32 ( ビット版). ・ Microsoft Windows Vista x86

MPIO サポートを選択すると、 Windows Unified Host Utilities によって、 Windows Server 2016 に含まれている MPIO 機能が有効になります。.

ESET Server Security for Windows Server、ESET Mail/File/Gateway Security for Linux は

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

・M.2 Flash モジュール専用RAID設定サービス[PYBAS1SM2]とWindows Server 2022 Standard(16コア/Hyper-V)[PYBWPS5H]インストール/Windows Server 2019

'BOM for Windows Ver.8.0 インストールマニュアル'では、BOM for Windows

Windows Hell は、指紋または顔認証を使って Windows 10 デバイスにアクセスできる、よ