Oracle Database 11g パフォーマンスとスケーラビ...

17
Oracle Database 11g パフォーマンスと スケーラビリティ Oracle ホワイト・ペーパー 2007 6

Transcript of Oracle Database 11g パフォーマンスとスケーラビ...

Page 1: Oracle Database 11g パフォーマンスとスケーラビ …otndnld.oracle.co.jp/products/database/oracle11g/pdf/DB...Oracle Database 11g パフォーマンスと スケーラビリティ

Oracle Database 11g パフォーマンスと

スケーラビリティ Oracle ホワイト・ペーパー 2007 年 6 月

Page 2: Oracle Database 11g パフォーマンスとスケーラビ …otndnld.oracle.co.jp/products/database/oracle11g/pdf/DB...Oracle Database 11g パフォーマンスと スケーラビリティ

ご注意 本書は、Oracle の一般的な製品の方向性を示すことが目的です。また、情報提供

を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。

下記の事項は、マテリアルやコード、機能の提供を確約するものではなく、また、

購買を決定する際の判断材料とはなりえません。Oracle の製品に関して記載され

ている機能の開発、リリース、および時期については、弊社の裁量により決定い

たします。

Oracle Database 11g パフォーマンスとスケーラビリティ

2

Oracle Corporation 発行「Oracle Database 11g Performance and Scalability」の翻訳版です。

Page 3: Oracle Database 11g パフォーマンスとスケーラビ …otndnld.oracle.co.jp/products/database/oracle11g/pdf/DB...Oracle Database 11g パフォーマンスと スケーラビリティ

Oracle Database 11g パフォーマンスと

スケーラビリティ

ご注意 .................................................................................................................. 2 はじめに .............................................................................................................. 4 スケーラビリティの課題 .................................................................................. 5 スケーラビリティの要素 .................................................................................. 5 スケーラブルな実行 .......................................................................................... 6

Server Result Cache ........................................................................................ 6 Oracle Call Interface (OCI) Consistent Client Cache ..................................... 8 Database Resident Connection Pool ............................................................... 8 Cache Fusion プロトコル .............................................................................. 9 高可用性 Reader Farms ................................................................................. 9 オプティマイザ統計................................................................................... 11 Real Native PL/SQL と Java コンパイル.................................................... 11

スケーラブルなストレージ............................................................................. 11 OLTP 表の圧縮 ............................................................................................ 11 SecureFiles .................................................................................................... 12 パーティション化の拡張機能 ................................................................... 12

スケーラブルな可用性 .................................................................................... 13 バックアップとリカバリ ........................................................................... 13 Oracle Data Guard......................................................................................... 14

スケーラブルな管理 ........................................................................................ 14 自己管理の強化........................................................................................... 15 Database Replay............................................................................................ 15 SQL プラン管理 .......................................................................................... 15

結論 .................................................................................................................... 16

Oracle Database 11g パフォーマンスとスケーラビリティ

3

Oracle Corporation 発行「Oracle Database 11g Performance and Scalability」の翻訳版です。

Page 4: Oracle Database 11g パフォーマンスとスケーラビ …otndnld.oracle.co.jp/products/database/oracle11g/pdf/DB...Oracle Database 11g パフォーマンスと スケーラビリティ

Oracle Database 11g パフォーマンスと

スケーラビリティ

はじめに

企業は、ビジネスを改善し拡大するために情報テクノロジ(IT)への投資を活用

し続けています。IT は、企業と顧客との相互の交流を可能にし、企業が顧客をよ

り理解するための手助けになります。さらに技術の革新と次世代の製品やサービ

スの開発に有用です。企業における IT の重要性は、アプリケーションの増加や、

テクノロジ・インフラストラクチャの処理能力の向上をもたらすアプリケーショ

ンの要求によって証明されています。データ保存の規制、豊富なマルチメディア・

コンテンツのオンライン配布、Web 2.0(コンテンツがエンド・ユーザーのコラボ

レーションから派生する Web サービス)の登場により、テクノロジによる処理能

力の要求は今後も急激に増大していきます。 増大する要求と IT の重要性はデータ量の増加と相まって、企業の IT 組織に前例

のない課題を掲げます。テクノロジ・インフラストラクチャは、現行のパフォー

マンス要件を満たすだけではなく、ビジネス需要の増大に伴い、シームレスに拡

大を続ける必要があります。 30 年以上にわたり、Oracle Databaseは、パフォーマンスとスケーラビリティを先

導してきました。Oracle Databaseは、世界で最も厳しい環境の大半を支えつつ、業

界のさまざまなベンチマークで多方面にわたってトップの座を維持しています。

現在、Oracleは、TPC、SAP、および他のベンチマークの世界記録のほとんどを所

有しています。また、Winter Top Ten program(英語)による世界で最も大規模な

データベースの調査では、Oracleが世界の真のリーダーであることが証明されてい

ます。Oracle Database 11gは、以前のリリースで証明された基盤を継続的に拡大す

ることで、顧客に次世代のパフォーマンスとスケーラビリティを提供し、ITイン

フラストラクチャに課された大きな要求に対して顧客が対応できるようにします。 このホワイト・ペーパーでは、ビジネスの需要に応じて機能し拡大する IT インフ

ラストラクチャを確立する際に、現代の企業が直面する課題について説明します。

次に、Oracle Database 11g で提供される新機能を中心に、Oracle データベース内で

使用できるテクノロジを検証します。これらの機能により、IT インフラストラク

チャが抱える課題に対応できます。

Oracle Database 11g パフォーマンスとスケーラビリティ

4

Oracle Corporation 発行「Oracle Database 11g Performance and Scalability」の翻訳版です。

Page 5: Oracle Database 11g パフォーマンスとスケーラビ …otndnld.oracle.co.jp/products/database/oracle11g/pdf/DB...Oracle Database 11g パフォーマンスと スケーラビリティ

スケーラビリティの課題

今日の企業は、ますます複雑になりながら成長を続ける IT 環境で、拡大および機

能する Oracle データベースに依存しています。前述したように、Oracle Databaseは、最高のパフォーマンスとスケーラビリティを求める顧客にふさわしい製品で

す。一方、より大きなコンピューティング能力とスピードの必要性は、さまざま

な要因により、急激な増大を続けています。企業は日々多くのアプリケーション

を導入し、これらのアプリケーションは社内外を問わず多くのユーザーの要求を

満たしますが、その結果として、莫大な処理能力が要求されるようになります。

同時に、長期的なデータ保存の規制、企業の合併および買収、非構造化データ(ド

キュメント、画像、マルチメディア、XML)の増加といった新情勢が、データベー

ス・サイズの想像がつかないほどに成長し続けています。企業がビジネス環境を

より良く理解するために、顧客に関するデータをできる限り多く取得し、長い間

保存しようとするので、数年前では珍しかった 1TB のデータベースが、現在では

標準的な存在になっています。同様に、科学研究および医療部門で生成されるデー

タ量は文字どおり爆発的に増加し、一部の組織では、毎年 1PB(1000TB)以上の

データの生成が予想されています。 ハードウェア・ベンダーは、膨大な演算能力を手ごろな価格で提供することによ

り、このような課題に対処してきました。マルチコア・プロセッサ・テクノロジ

の画期的な発展により、一部の企業アプリケーションは、今後 3~5 年以内に 1000のプロセッサ・システムで稼動する可能性があります。また、ストレージとメモ

リーの価格が急落しているため、顧客がマルチテラバイトのデータベースをマル

チテラバイトのメモリーを持つマシンで実行することが一般的になります。 Oracle Database 11g は、特にこのようなコンピューティング能力を活用して、顧客

に次世代のパフォーマンスとスケーラビリティを提供するように設計されています。

データベース・エンジンの多数の革新的な強化機能と新機能により、Oracle Database 11g は数千のプロセッサに規模を拡大し、膨大な量のリレーショナル(構造化)

データおよびファイル(非構造化)データを処理する体制を整えています。さら

に、Oracle Database 11g には、企業がサービス品質を落とさず、IT 予算を増大させ

ずに、大規模なデータベースを管理できるテクノロジが組み込まれています。

スケーラビリティの要素

IT組織は、インフラストラクチャの設計時に、パフォーマンスとスケーラビリティ

の要求を満たすための 3 つの主要な要素に注目する必要があります。第一に、ア

プリケーションの実行が、パフォーマンス期待値およびエンド・ユーザーとの品

質保証契約を満たす必要があります。Oracle Database 11gは、次のスケーラブルな

実行およびスケーラブルなストレージの項で説明する 2 つの主要な点を通じて、

これらを可能にします。第二に、データ量が増大するにつれ、高可用性アーキテ

クチャの維持が困難になります。Oracleのこのリリースと、バックアップとリカバ

リ、フェイルオーバー(Data Guard)、およびクラスタ化テクノロジの進歩により、

企業はスケーラブルな可用性を実現できます。最後に、アプリケーションおよび

ハードウェア・リソースの数が増えているので、インフラストラクチャを管理す

る効率的で費用効率の高い方法が必要です。

• スケーラビリティの要素

• スケーラブルな実行

• スケーラブルなストレージ

• スケーラブルな可用性

• スケーラブルな管理

Oracle Database 11g パフォーマンスとスケーラビリティ

5

Oracle Corporation 発行「Oracle Database 11g Performance and Scalability」の翻訳版です。

Page 6: Oracle Database 11g パフォーマンスとスケーラビ …otndnld.oracle.co.jp/products/database/oracle11g/pdf/DB...Oracle Database 11g パフォーマンスと スケーラビリティ

Oracle Database 11gのスケーラブルな管理では、多くの管理アクティビティを自動

化し、シンプルな環境と複雑な環境の管理のために、Oracle Enterprise Manager Grid Controlを使用した、使いやすい堅牢なツールセットを提供します。

スケーラブルな実行

前述したように、Oracle Database 11g では、莫大なハードウェア能力をフルに活用

して、アプリケーションのパフォーマンスとスケーラビリティを向上します。メ

ガバイト当たりのメモリーの費用が下降しているので、多くの顧客は、ストレー

ジのボトルネックに対処し、アプリケーションのパフォーマンスを改善するため

に、大容量のメモリーを使用することを検討しています。Oracle Database 11g では、

新しいキャッシング機能を導入して拡張されたメモリー量をより利用することで、

問合せ処理を高速化します。

Server Result Cache Oracle Database 11g の新機能である Server Result Cache により、問合せの結果をメ

モリーにキャッシュできます。キャッシュされた結果は、その後、類似した問合

せまたは問合せ断片の実行時に、通常の問合せ処理を回避して、結果をより速く

返すために使用されます。Server Result Cache を有効にすると、結果がメモリーか

ら直接取得されるので、物理および論理 IO に対する待機時間が減少し、SQL の実

行が最適化されます。キャッシュされた結果は、セッションおよび SQL 文の間で

完全に共有され、(それらが共通の実行計画を共有する限り)開始カーソルの存

続期間を超えて永続します。Oracle Database 11g は、基盤となるデータが変更され

るたびに、Server Result Cache のエントリを消去することで、キャッシュの整合性

を管理します。内部のテストでは、Server Result Cache を使用すると、読取り集中

型ワークロードのパフォーマンスが 200%も向上することが証明されています。

Sever Result Cache は、SGA の新しいコ

ンポーネントで、問合せの'結果'と問合せ

の断片をキャッシュします。

結果のキャッシュ専用メモリーは、システム・グローバル領域にあり、自動共有

メモリー管理インフラストラクチャによって自動的に管理されます。Server Result Cacheは、新しい初期化パラメータRESULT_CACHE_MAX_SIZEを使用して、キャッ

シュの最大サイズを設定することにより使用可能になります。グローバルできめ

細かな制御を使用して、結果キャッシュをアーキテクチャに統合するための複数

のオプションを選択できます。管理者は、システム、セッション、表、および文

のレベルで使用法を定義できます。

Server Result Cache によって、読取り集

中型ワークロードのパフォーマンスは 2 倍

になります。

管理者は、新しい PL/SQL インタフェースを介して、Server Result Cache のコンテ

ンツを監視および管理できます。このインタフェースを使用して、管理者はキャッ

シュ全体または個々のキャッシュされた結果セットを消去できます。管理者は、

このインタフェースを介して、Server Result Cache メモリーの使用状況レポートを

生成し、Server Result Cache の有効性をさらに分析するためにデータ・ディクショ

ナリ・ビューを使用できます。新しいオプティマイザ・ヒントにより、ユーザー

は問合せレベルで Server Result Cache の使用を指定できます。

Oracle Database 11g パフォーマンスとスケーラビリティ

6

Oracle Corporation 発行「Oracle Database 11g Performance and Scalability」の翻訳版です。

Page 7: Oracle Database 11g パフォーマンスとスケーラビ …otndnld.oracle.co.jp/products/database/oracle11g/pdf/DB...Oracle Database 11g パフォーマンスと スケーラビリティ

例 1-aでは、result_cacheヒントを使用しない、問合せ実行を示します。

例 1-bでは、result_cacheヒントを使用した、同じSQL文の実行を示します。

新しい演算子'RESULT CACHE'に注意してください。このヒントを発行すると、

演算子は、この実行計画に対する結果がすでにキャッシュに存在するかどうかを

判定するために、結果キャッシュを調べます。

Oracle Database 11g パフォーマンスとスケーラビリティ

7

Oracle Corporation 発行「Oracle Database 11g Performance and Scalability」の翻訳版です。

Page 8: Oracle Database 11g パフォーマンスとスケーラビ …otndnld.oracle.co.jp/products/database/oracle11g/pdf/DB...Oracle Database 11g パフォーマンスと スケーラビリティ

結果がキャッシュで見つかると、演算子は内在する実行計画の実行を回避して、

直接結果キャッシュから行を戻します。結果がキャッシュに存在しない場合、内

在する実行計画から行が取得され、結果キャッシュに保存されます。

Oracle Call Interface (OCI) Consistent Client Cache OCI Consistent Client Cache(Client Cache)は、前項で説明した Server Result Cacheに対する補足的なキャッシュ機能です。この機能により、クライアント・マシン

で問合せ結果をキャッシュできます。Client Cache は、通常アプリケーション・サー

バー上で OCI クライアントのプロセスごとのメモリーを使用して、問合せ結果セッ

ト(表またはすべての結果セット)に影響を与えるデータを保存します。Client Cache は、OCI クライアント・プロセスのメモリーに常駐するので、コンテンツ

は、複数のセッションおよびスレッドにわたって共有できます。Client Cache が配

置されていると、クライアントは繰り返しサーバーに問合せを実行させるのでは

なく、結果セットをキャッシュから直接取得します。

Client Cache テクノロジにより、クライ

アントとデータベース・サーバー間のラ

ウンドトリップが減少し、サーバーCPU使用率が下がります。

Client Cache を使用する場合、必要とするクライアントとデータベース・サーバー

間のラウンドトリップが減少するので、パフォーマンスが大幅に向上し、実行す

る SQL コールが減少する結果として、サーバー上の CPU 使用率が下がります。

Client Cache は、一般的に読取り専用または read-mostly の小さいルックアップ表

の問合せに最適です。Client Cache を使用するシンプルな問合せでは、経過時間を

80%、CPU 時間を 50%減少できることがベンチマークで証明されています。 Client Cache テクノロジには、データベース・サーバーとキャッシュ間の整合性を

管理する固有のメカニズムが組み込まれています。そのテクノロジが OCI 層の内

部に常駐する場合、この機能は、JDBC-OCI(Thick)Driver、ODBC、ODB.NET、PHP、およびプリコンパイラを含むすべての Oracle Database 11g OCI クライアント

で使用可能です。したがって、Oracle Database 11g OCI ベースのクライアントを使

用するすべてのアプリケーションで、Client Cache 機能を透過的に使用できます。

アプリケーション・コードを変更する必要はありません。

Client Cache を使用するシンプルな問合

せでは、経過時間を 80%、CPU 時間を

50%減少できます。

クライアント・キャッシュ機能を有効にするには、データベース初期化パラメー

タCLIENT_RESULT_CACHE_SIZEをゼロ以上の値に設定する必要があります。こ

のパラメータにより、クライアントのプロセス当たりの結果セットのキャッシュ

の最大サイズが決定されます。また、前項で説明した表のプロパティ、オプティ

マイザ・ヒント、およびシステム/セッション・パラメータが、Client Cacheに適用

されます。サーバー・パラメータを使用すると、一元化された方法で多数のクラ

イアントのキャッシング動作を管理できるようになるため、Client Cacheの管理が

簡単になります。オプションとして、クライアント構成ファイルを維持できます。

これにより、データベース・サーバー上でClient Cacheの設定をオーバーライドで

きます。クライアント側で使用できるオプションの設定には、プロセス当たりの

最大キャッシュ・サイズ、キャッシュごとの行の最大数、バイト数と行数で表し

た結果セットの最大サイズが含まれます。

Database Resident Connection Pool 企業アプリケーションでは、長い間アプリケーション・サーバー・レベルでデー

タベース接続プーリングを使用してきました。接続プーリングにより、アプリケー

ションはより少数のデータベース・セッションの使用で、多数のアプリケーショ

ンのエンド・ユーザーにサービスを提供できます。接続プーリングの最終的な目

的は、データベース・セッション作成のオーバーヘッドを制限し、データベース・セッ

ションのメモリー使用を削減することで、アプリケーションのパフォーマンスと

スケーラビリティを向上することです。PHP など一部のテクノロジは、Web サー

バーごとに少なくとも 1 つのデータベース接続を使用する必要があるので、アプ

リケーション・サーバーをベースとする接続プーリングの対象にはなりません。 さらに、すでにアプリケーション・サーバー・レベルの接続プーリングを使用し

ている大企業は、数百または数千のアプリケーション・サーバーを使用する場合

Oracle Database 11g パフォーマンスとスケーラビリティ

8

Oracle Corporation 発行「Oracle Database 11g Performance and Scalability」の翻訳版です。

Page 9: Oracle Database 11g パフォーマンスとスケーラビ …otndnld.oracle.co.jp/products/database/oracle11g/pdf/DB...Oracle Database 11g パフォーマンスと スケーラビリティ

には、依然として多数のデータベース・セッションを使用する場合があります。 Database Resident Connection Pool は、Oracle データベースが管理するセッション接

続プーリングを提供するスケーラビリティに優れたソリューションです。Database Resident Connection Pool を有効にすると、クライアントは専用のサーバー・プロセ

スではなく、新しいバックグラウンド・プロセスの接続モニター(CMON)に接

続します。CMON はサーバー側の接続プール機能を管理します。共通のユーザー

名を使用してデータベースにアクセスするクライアントは、以前に割り当てられ

たセッションを利用します。クライアントは、CMON への永続的接続を透過的に

キャッシュし、アプリケーションがデータベース接続を要求したときにそれらを

使用します。アプリケーションがデータベース接続を終了すると、専用のサーバー・

プロセスは CMON に戻され、次のクライアントの要求に対して準備ができたプー

ルに配置されます。Database Resident Connection Pool は、アプリケーション・サー

バー接続プーリングを実装できないアプリケーションと大規模なアプリケーショ

ン・サーバー・ファーム上でホストされるアプリケーションの両方に、多大なス

ケーラビリティを提供します。

PHPアプリケーションおよびアプリケー

ション・サーバー・ファームは、スケー

ラビリティを大幅に増進するために

Database Resident Connection Pool を利用します。

Cache Fusion プロトコル Oracle は、クラスタ内のノードが高速インターコネクトを使用して互いのメモ

リーと通信できるようにする Cache Fusion プロトコルを導入することで、クラス

タ化テクノロジを激変させました。Cache Fusion は、Oracle Real Application Clusters(RAC)のテクノロジの主要な要素の 1 つです。 Oracle Database 11g では次世代の Cache Fusion プロトコルを導入します。ワーク

ロードを認識する新しいプロトコルにより、パフォーマンスを最大にするために

処理されるワークロードの種類に応じて、ノード間のメッセージ動作が動的に変

更されます。たとえば、新たに導入された読込みのために最適化されたプロトコ

ルにより、読込み操作のためのノード間のメッセージ数が大幅に減少します。同

様に、他の新しいプロトコルにより、更新や表スキャンの操作時のメッセージ動

作が最適化されます。Oracle Database 11g は、ワークロード・プロファイルに基づ

いて、最適なプロトコルを自動的に選択して使用します。このように Cache Fusionプロトコルを最適化すると、ノード間のメッセージが大きく減少し、Oracle RACのスケーラビリティが向上します。

高可用性 Reader Farms Oracle Data Guard は、Oracle の主要な障害時リカバリ・テクノロジです。このテ

クノロジを使用すれば、顧客はスタンバイ・データベースと呼ばれる同期化され

たデータベースのコピーをリモートで維持することにより、データベースをサイ

ト障害から保護できます。スタンバイ・データベースは、障害または計画的なメ

ンテナンス処理の場合に、ビジネスを確実に継続するためにアクティブ化できま

す。顧客は、2 種類のスタンバイ・データベースを作成できます。Oracle Data Guard Redo Apply を使用して、顧客はプライマリ・データベースをデータベース・ブロッ

ク・レベルでミラー化するフィジカル・スタンバイを作成できます。別の方法で

は、Oracle Data Guard SQL Apply テクノロジを使用して、ロジカル・スタンバイを

作成できます。このテクノロジではプライマリ・データベースからの変更情報は、

まず SQL に変換され、次にスタンバイ・データベースに適用されます。フィジカ

ル・スタンバイとは異なり、ロジカル・スタンバイでは、ユーザーはスタンバイ・

データベースで書込み操作を実行できます。これにより、追加の索引またはマテ

リアライズド・ビューを作成し、レポート作成アクティビティを最適化できます。

ただし、フィジカル・スタンバイのほうがシンプルで変更をより速く適用できる

ので、パフォーマンスにおいてはロジカル・スタンバイよりも優れています。 スタンバイ・データベースは、効果的な障害防止を提供するだけではなく、多数

の日常業務にも使用できます。たとえば、スタンバイ・データベースは、プライ

マリ・データベースのレポートまたはバックアップのワークロードの負荷を軽減

Oracle Database 11g パフォーマンスとスケーラビリティ

9

Oracle Corporation 発行「Oracle Database 11g Performance and Scalability」の翻訳版です。

Page 10: Oracle Database 11g パフォーマンスとスケーラビ …otndnld.oracle.co.jp/products/database/oracle11g/pdf/DB...Oracle Database 11g パフォーマンスと スケーラビリティ

するために使用でき、テストのためにも使用できます。Oracle Database 11g 以前、

フィジカル・スタンバイ・データベースは、問合せが実行される間、プライマリ・

データベースから受信した変更を適用できませんでした。Oracle Database 11g では、

その制限から開放され、フィジカル・スタンバイをリアルタイムの問合せに使用

できます。この注目すべき進歩により、Reader Farm Database などの、新しい機能

を得ることができます。非常に多くのユーザーをサポートする多数の Web アプリ

ケーションでは、並列ワークロードをサポートし、アプリケーションの可用性を

高めるために主要なデータベースの複数の読取り専用レプリカを使用するアーキ

テクチャが使用されます。 リアルタイム問合せ機能を持つフィジカル・スタンバイにより、Oracle Database 11g は、Reader Farm データベース・アーキテクチャの理想的な基盤になります。

すべての更新はプライマリ・データベースに対してのみ行われ、スタンバイ・デー

タベースは読取り専用ワークロードに対応します。さらに、指定されたファスト・

スタート・フェイルオーバー・スタンバイとしてスタンバイ・データベースの 1つを使用すると、障害に対するプライマリ・データベースの保護が推進され、そ

の結果可用性が向上します。図 1 に代表的な高可用性 Reader Farm トポロジを示し

ます。

図 1 - 高可用性 Reader Farm トポロジ

Oracle Database 11g パフォーマンスとスケーラビリティ

10

Oracle Corporation 発行「Oracle Database 11g Performance and Scalability」の翻訳版です。

Page 11: Oracle Database 11g パフォーマンスとスケーラビ …otndnld.oracle.co.jp/products/database/oracle11g/pdf/DB...Oracle Database 11g パフォーマンスと スケーラビリティ

オプティマイザ統計 Oracleのコストベース・オプティマイザ(CBO)は、オブジェクト統計を使用し

て、SQL文の最適な実行計画を確定します。Oracle Database 11gの強化機能により、

オプティマイザ統計は改善され、より高速でより安全になります。まず、Oracle Database 11gのパフォーマンス強化により、オプティマイザ統計の収集がより速く

なり、オプティマイザ統計の収集と計算に必要な合計時間が短縮されます。次に、

計算されたオプティマイザ統計は、より詳細で、固有の値の数(NDV)やヒスト

グラムなどの統計を複数の列で相互に関連付けることにより、より良い情報を

CBOに提供します。最後に、Oracle Database 11gは統計の収集をより安全にします

。新たに生成された統計は、広く使用するために検証され公開されるまで、プラ

イベートな'統計ワークスペース'に残すことができます。

Real Native PL/SQL と Java コンパイル Oracle Database 11g は、PL/SQL に対して Real Native Compilation(RNCOMP)を、

Oracle データベースに保存されている Java プログラムに対して Just In Time(JIT)コンパイルを実装することにより、PL/SQL と Java のパフォーマンスとスケーラビ

リティを改善します。RNCOMP では、Oracle の以前のバージョンの Native Compilation(NCOMP)が改善され、顧客は C コンパイラを取得してインストールし、ライセ

ンスを購入する必要がなくなりました。RNCOMP と JIT の両方が、ソース・コー

ドとマシンのネイティブの命令セットにコンパイルすることにより、パフォーマ

ンスが改善されます。パフォーマンスの向上は、アプリケーションがどれほど計

算集中型であるかによって、30%から 100%までの幅があります。

スケーラブルなストレージ

企業は、構造化リレーショナル・データと非構造化データ(ドキュメント、スプ

レッドシートなど)のために、より大きいストレージを継続して要求しています。

ハードウェア・ベンダーは、これらの要求に対処するために、ディスクの容量を

継続的に拡大していますが、ディスクのパフォーマンスは、それと同じペースで

改善されてはいません。マルチテラバイトのデータベースが一般的になっている

中で、Oracle Database 11g は豊富な強化機能を提供し、IT 組織はパフォーマンス

要件を満たしながら、ストレージ・インフラストラクチャをコスト効率の優れた

方法で拡大できます。

OLTP 表の圧縮 Oracle は、Data Warehouse とともに使用する目的で、Oracle9i Database でデータ圧縮

を導入しました。圧縮された表でデータを操作する方法が制限されていたので、

これは OLTP ワークロードには適していませんでした。Oracle Database 11g ではこ

れらの制限が取り除かれ、従来の DML 文(INSERT、UPDATE、DELETE)を圧

縮された表で使用できます。これらの圧縮の追加機能により、表の圧縮は、DBAが OLTP データベースを管理するための独自のツールになります。表を圧縮する

と、記憶容量に対する需要が減少し、アプリケーションのパフォーマンスは向上

します。 表の圧縮は、記憶容量に対して増大する需要を、IT 組織が管理するために利用で

きる戦略的な手段です。通常、圧縮された表のディスク容量の使用は、同じ表で

圧縮されていない場合の 1/3 から 1/2 となります。Oracle Database 11g は、圧縮さ

れたデータを直接操作し、データの復元に関連するアプリケーションのオーバー

ヘッドを排除します。圧縮された表を使用する場合、主に物理 IO の量が減少し、

キャッシュの効率が向上するため、パフォーマンスが向上します。

Oracle の表圧縮は強化され、圧縮を行う

すべての DML 操作を OLTP アプリケー

ションで使用できるようになりました。

Oracle Database 11g パフォーマンスとスケーラビリティ

11

Oracle Corporation 発行「Oracle Database 11g Performance and Scalability」の翻訳版です。

Page 12: Oracle Database 11g パフォーマンスとスケーラビ …otndnld.oracle.co.jp/products/database/oracle11g/pdf/DB...Oracle Database 11g パフォーマンスと スケーラビリティ

ディスク外の表のスキャンは、圧縮された表の最大 2 倍の速度で実行されます。

SecureFiles 非構造化データ(ドキュメント、スプレッドシート、画像、マルチメディアなど)は、企業に広く普及しています。これは、主にネットワークの帯域幅が向上して、

豊富な非構造化コンテンツの共有が可能になり、SOX 法や HIPPA などの規制要件

が変化したためです。ファイル・システムがシンプルであり、パフォーマンスに

利点があることを認識しているので、通常、IT 組織はデータベースではなく、ファ

イル・システムに非構造化コンテンツを保存します。アプリケーションは、Oracleデータベースを使用して、非構造化データを記述するメタデータなど、構造化デー

タを保存、編成、管理します。ただし、2 つの独立したデータ・ストアを持つと

いうこのパラダイムにより、IT インフラストラクチャの管理、保護、拡大は、よ

り複雑になります。具体的には、このモデルで以下が導入されます。

• 分離されたセキュリティおよび監査モデル • 断片化されたバックアップとリカバリ • 非原子的なデータ変更(メタデータを更新せずにファイルを削除) • さまざまな情報ストアに及ぶ複雑な検索 • 異機種領域管理戦略

Oracle Database 11g に導入された機能である SecureFiles は、企業が Oracle データ

ベースに非構造化データを保存できないようにしていたパフォーマンスの壁を打

ち破るために設計されました。LOB と同様に、SecureFiles は、データベースに大

型のオブジェクトを格納するために構築されるデータ構造です。ただし、LOB ま

たはファイル・システムと比較すると、SecureFiles は、より豊かな機能セットを

備え、パフォーマンスは大幅に改善されています。 SecureFiles の機能セットは、透過的な非重複、圧縮、暗号化など最新のファイル・

システム機能を備え、さらにファイル・システムをはるかに超えた高度なデータ

ベース機能を提供します。SecureFiles は、Oracle Database 11g のトランザクション

および読取り一貫性モデル内で管理され、Oracle RAC、Readable Standby、Oracle Data Guard、一貫性バックアップ、ポイント・イン・タイム・リカバリ、フラッシュ

バックなど、高可用性機能によってサポートされます。非構造化データを SecureFilesとして保存する企業は、データ・セキュリティ、バックアップとリカバリ、およ

び領域管理に統一されたアプローチによって利益を得ます。Oracle 内部のテスト

では、読取りと書込みの両方の操作で、SecureFiles のパフォーマンス・パリティ

が示されました。Oracle データベースの利点とパフォーマンスの促進により、

SecureFiles は IT 組織に非構造化データの保存と管理における戦略的な利点を提供

します。

パーティション化の拡張機能 Oracle Database 11gに導入された複数の新しいパーティション化機能は、拡大と実

行の能力を増大する一方で、IT組織でのパーティション化したオブジェクトの管

理をシンプルにします。レンジ・パーティションの拡張機能であるインターバル・

パーティションは、パーティション化された表の管理を簡単にするために開発さ

れた機能です。Oracle Database 11g以前、IT組織は、パーティション化スキームに

応じて、DDL文を使用してレンジ・パーティションを作成しました。インターバ

ル・パーティションを使用すると、DBAは、インターバル要件を満たす最初の行

が表に挿入されたときに、Oracle Database 11gが自動的にパーティションを作成す

る間隔を指定するだけになります。

Oracle Database 11g パフォーマンスとスケーラビリティ

12

Oracle Corporation 発行「Oracle Database 11g Performance and Scalability」の翻訳版です。

Page 13: Oracle Database 11g パフォーマンスとスケーラビ …otndnld.oracle.co.jp/products/database/oracle11g/pdf/DB...Oracle Database 11g パフォーマンスと スケーラビリティ

Oracleの以前のバージョンでは、コンポジット・パーティション化あるいはサブ

パーティションの使用が許可されていましたが、パーティション/サブパーティショ

ンの組合せは制限されていました。Oracle Database 11gでは、これらの制限が排除

され、新しい時間隔パーティションを含む、すべてのコンポジット・パーティショ

ンを使用できます。表 1 にコンポジット・パーティション化マトリックスを示し

ます。

表 1:コンポジット・パーティション化マトリックス

レンジ リスト ハッシュ

レンジ はい はい はい

リスト はい はい はい

時間隔 はい はい はい

データの正規化を設計に組み込むデータ・モデルにより、リレーショナル・モデ

ルを利用して、データの重複が低減されます。Oracle Database 11gでは、参照整合

性制約、すなわち外部キーを使用するデータ・モデルが、オプションとして'親'表のパーティション化スキームに基づいて'子'表でパーティションを構築できます。

参照によるパーティションは、指定された参照制約に基づいて、'子'表でパーティ

ションを作成します。'子'表には、'親'表がパーティション・キーとして使用する

列を含める必要はありません。子パーティションは、親パーティションと同じ相

対的なパーティションに保存されます。このため、極度に効率的なパーティショ

ン・ワイズ結合が可能になります。 Oracle Database 11gに導入される仮想列は、式を使用して定義されますが、SQLでは従来の列として表示されます。仮想列はパーティション・キーとしてサポート

され、索引を付けることが可能で、オプティマイザ統計とヒストグラムを含むこ

とができます。たとえば、仮想列は表の定義で次のように定義できます。

CREATE TABLE t1 ( c1 NUMBER, c2 NUMBER, vc AS (c1 + c2) VIRTUAL)

スケーラブルな可用性

アプリケーションと企業情報の可用性は、企業の成功に不可欠です。IT の重要性

が大きくなるに従い、テクノロジ・インフラストラクチャも大きくなります。こ

のため、IT 組織は、インフラストラクチャを稼動させるテクノロジが、スケーラ

ブルな高可用性(HA)機能とツールで構築されていることを確認する必要があり

ます。Oracle は、組込みの HA 機能を持った世界に通用する製品を提供します。

Oracle RAC、Oracle Data Guard、Oracle Recovery Manager(RMAN)、フラッシュ

バックは、Oracle が提供する HA 機能の例です。Oracle Database 11g では、画期的

な新しい HA 機能が導入され、多数の既存の機能のスケーラビリティとパフォー

マンスが改善されています。

バックアップとリカバリ Oracle Secure Backupは、データベースおよびファイル・システムの両方に一元化

したテープ・バックアップ管理を提供するOracleの新製品です。Oracle Secure Backupは、RMANとのシームレスな統合により、主要な競合他社の製品より最大

で 25%高速のデータベース・バックアップを提供します。

Oracle Secure Backup は、一元化された

テープ・バックアップ管理システムで、

主要な競合他社の製品よりも最大で 25%高速になります。

Oracle Database 11g パフォーマンスとスケーラビリティ

13

Oracle Corporation 発行「Oracle Database 11g Performance and Scalability」の翻訳版です。

Page 14: Oracle Database 11g パフォーマンスとスケーラビ …otndnld.oracle.co.jp/products/database/oracle11g/pdf/DB...Oracle Database 11g パフォーマンスと スケーラビリティ

これは、データベース・エンジンへの直接コールを利用し、使用されないデータ・

ブロックをスキップする効率的なアルゴリズムにより実現します。今度リリース

される Oracle Secure Backup は、不必要な UNDO 表領域データのバックアップを

回避するといったインテリジェント機能を使用して、パフォーマンスの優位性を

高めます。 Oracle Database 10gでは、増分のRMANバックアップのパフォーマンスを促進する

ブロック・トラッキング機能が導入されました。この機能は、Oracle Data Guardフィジカル・スタンバイで使用可能でしたが、管理リカバリの間は積極的にブロッ

ク・トラッキング・ファイルを更新していませんでした。Oracle Database 11gは、

管理リカバリ中にフィジカル・スタンバイでブロック・トラッキングを使用でき、

DBAは、バックアップ処理のアクティビティをスタンバイ・サーバーにオフロー

ドしながら、増分バックアップの強化された能力を利用できます。 企業データベースのサイズは成長し続けており、Bigfile Tablespace の使用がより

有用になります。Oracle のもう 1 つの革新技術である Bigfile Tablespace は、多数

の小さいファイルではなく 1 つの大きなファイルにより構成され、Oracle データ

ベースを 8EB(exabytes)まで拡張できます。Oracle Database 11g の中心となるのは、

拡張された RMAN ツールです。このツールは、Bigfile Tablespace のためにファイ

ル内のパラレル・バックアップおよびリカバリ操作を実行でき、その結果、バッ

クアップおよびリストア操作を大幅に速めることができます。

Oracle Data Guard 前述したように、Oracle Data Guard は Oracle の高可用性ソリューションに欠くこ

とのできないコンポーネントであり、最大可用性アーキテクチャ(MAA)の主要

なコンポーネントです。Oracle Data Guard は、スタンバイ・データベースを維持

するプロセスを自動化します。スタンバイ・データベースは、本番の計画停止お

よび計画外停止の間に起動されます。Oracle Database 11g では、REDO 転送を改善

することにより、Data Guard 機能を強化しています。非同期(ASYNCH)REDO転送は、スタンバイ・データベースと本番データベース間のネットワーク・メッ

セージを REDO データの送信から分離することにより、中断することなく REDOデータを流すように改善されています。ネットワーク・メッセージと REDO 転送

を非同期化することで、より大きなネットワーク・スループットを提供し、その

結果、より低コストでデータ保護を提供します。その他のネットワーク・スルー

プットの向上として、本番データベースとスタンバイ・データベースの間で転送

されている REDO データを圧縮する新機能が含まれています。これは、ネットワー

ク停止やスタンバイ・サーバー障害が原因で、スタンバイ・サーバーと本番サー

バーが通信できない場合に特に有用です。スタンバイ・データベースは、自動的

に REDO ログ・ギャップ・ソリューションを実行します。このソリューションは、

ログ転送の速度を上げる圧縮機能を使用できます。

スケーラブルな管理

現在、IT 管理者が直面している最大の課題の 1 つは、IT インフラストラクチャと

それに依存するアプリケーションのパフォーマンスとスケーラビリティの管理で

す。管理者は、事前対応および事後対応の両方の観点からパフォーマンスを管理

します。事前対応の管理には、使用率とデータ量の測定された増加に対するイン

フラストラクチャの拡大が含まれます。また、管理者がアプリケーションとイン

フラストラクチャをテストし、それらの変更、たとえば、Oracle ソフトウェアの

更新の準備をすることが必要です。事後対応の管理には、予想外のワークロード・

プロファイルの変更によるアプリケーションまたはデータベースのチューニング

など、日常的な管理者の職務が含まれます。

Oracle Database 11g パフォーマンスとスケーラビリティ

14

Oracle Corporation 発行「Oracle Database 11g Performance and Scalability」の翻訳版です。

Page 15: Oracle Database 11g パフォーマンスとスケーラビ …otndnld.oracle.co.jp/products/database/oracle11g/pdf/DB...Oracle Database 11g パフォーマンスと スケーラビリティ

自己管理の強化 Oracle Database 10g は、データベースを自己管理型にするための大きな一歩を踏み

出しました。Oracle Automatic Workload Repository(AWR)、Oracle Automatic Database Diagnostic Monitor(ADDM)、および SQL Tuning Advisor など、高く評

価された革新的な機能により、Oracle Database 10g は、パフォーマンスのボトル

ネックをすばやく簡単に識別して修正する貴重なツールのセットを管理者に提供

します。Oracle Database 11g は、データベースの自己管理を次のレベルに引き上げ

ることにより、この推進力を基に拡大を続けます。ADDM の強化により、Oracle RAC パフォーマンスをより綿密に分析できるようになりました。Oracle Database 11g の SQL Tuning Advisor は、完全に自動化できるようになりました。SQL チュー

ニング推奨事項を自動的に実装するので、管理者は手動のタスクから解放されま

す。SQL Access Advisor は、アプリケーションのパフォーマンスを向上させるため

に、パーティション化の方針に関する推奨事項を提供するように強化されました。

最後に、ストリームの構成を検証し、管理者がパフォーマンスのボトルネックを

解決するのを支援するために、新しいアドバイザが Oracle Database 11g に導入さ

れました。

Database Replay パフォーマンスおよび処理能力の管理に成功するには、システム変更の影響分析

を正しく実装する必要があります。IT 管理者は、常に本番ワークロードを正確に

表すテスト用シナリオの作成に取り組んでいます。通常、管理者は自動化された

テスト・スクリプトを実行するか、アプリケーションの機能をテストするために、

ユーザーを使用して本番ワークロードをシミュレートします。これらの方法は、

本質的に制限があり、本番ワークロードを正確に表せないので、徹底的な影響分

析を実行するには不十分であることが証明されています。多くの場合、このよう

な不完全さが原因で、本番パフォーマンスの低下や不安定性が生じます。Oracle Database 11g には、Database Replay が組み込まれています。これは、従来の変更分

析におけるテスト技術の不完全さを克服するテクノロジです。DBA が起動する際、

Database Replay は本番データベースのデータベース・ワークロード・アクティビ

ティを取得します。取得されたワークロードのデータは、実際の本番ワークロー

ドをシミュレートするために、本番データベースのコピーを実行しているテスト・

サーバーで再実行されます。本番ワークロードを人工的に"シミュレート"する他

のワークロード取得テクノロジとは異なり、Database Replay は、最も低い詳細レ

ベルで本番ワークロード全体を取得して初めて、顧客がテスト環境で本格的な

ワークロードを実行できるようにします。

Database Replay のテクノロジにより、

実際の本番データベース・アクティビ

ティが記録されます。取得された記録は、

更新およびパフォーマンスのテストのた

めに、テスト・データベースで再実行で

きます。

柔軟性を考慮して設計された Database Replay テクノロジは、Oracle データベース

更新のテストおよびプラットフォーム移行中は極めて有効です。ワークロードの

データは、データベースの異なるバージョン、さらに異なるプラットフォームで

も取得し、再実行できます。

SQL プラン管理 Oracle のコストベース・オプティマイザ(CBO)は、CBO バージョン、CBO パラ

メータ、オブジェクト統計、システム設定など、複数の要素に基づいて SQL 実行

計画を生成します。これらのコンポーネントのいずれかが変更されると、オプティ

マイザが特定の SQL 文に対して異なる実行計画を生成します。プラン・スタビリ

ティを支援するために、オプティマイザ・ヒントやストアド・アウトラインなど、

さまざまな機能が提供されています。SQL プラン管理機能により、Oracle Database 11g は、プラン・スタビリティを次のレベルに進めます。この新機能を使用して、

Oracle は過去の実行計画の履歴を自動的に維持し、動的な計画の変更が SQL の実

行に悪影響を与えないことを確実にするために、この情報を使用します。

Oracle Database 11g パフォーマンスとスケーラビリティ

15

Oracle Corporation 発行「Oracle Database 11g Performance and Scalability」の翻訳版です。

Page 16: Oracle Database 11g パフォーマンスとスケーラビ …otndnld.oracle.co.jp/products/database/oracle11g/pdf/DB...Oracle Database 11g パフォーマンスと スケーラビリティ

データ量、データ配信、システム構成の変更、または他の変更が行われる中で、

この機能を使用することでアプリケーションが一貫して機能し続けることを確認

できます。

結論

企業は、IT にますます依存するようになっています。テクノロジに対する要求は

増大し、IT 組織は、アプリケーション、データベース、IT インフラストラクチャ

のスケーラビリティとパフォーマンスを保証する任務を背負っています。30 年以

上の技術革新を基盤とする Oracle Database 11g は、企業アプリケーションに次世

代のパフォーマンスとスケーラビリティを提供します。Oracle Database 11g は、ITインフラストラクチャに課されている強力な要求を満たすために、進化を続ける

テクノロジ傾向を十分に反映するように設計されています。Oracle Database 11g に

よって、企業はユーザーや顧客を満足させることができ、ビジネスの成功への基

盤となり、これからのテクノロジを先導する役目を果たすことになります。

Oracle Database 11g パフォーマンスとスケーラビリティ

16

Oracle Corporation 発行「Oracle Database 11g Performance and Scalability」の翻訳版です。

Page 17: Oracle Database 11g パフォーマンスとスケーラビ …otndnld.oracle.co.jp/products/database/oracle11g/pdf/DB...Oracle Database 11g パフォーマンスと スケーラビリティ

Oracle Database 11g パフォーマンスとスケーラビリティ 2007 年 6 月 著者: William Hodak 共著者: Sushil Kumar 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、JD Edwards、PeopleSoft、および Siebel は、米国 Oracle Corporationおよびその子会社、関連会社の登録商標です。その他の名称はそれぞれの会

社の商標です。