日本オラクル クロスインダストリー本部
OracleDirect SCグループ
小海 友和
OracleDirectでは、お客様からのご相談に対応させて頂いております。
私共が、電話とインターネットを使って直接ご説明させて頂きます。
製品の技術的ご説明、デモンストレーションから、構成のご提案まで、是非OracleDirectにご相談ください。
さまざまな内容のiSeminarも予定していますので、是非ご参加ください。 |
 |
「意外と簡単!?」シリーズは、Oracle Database 10gを使用してこれからシステム構築を行い、運用していく方向けに作成しており、初心者の方でも容易に構築/運用ができるよう全編にわたり極力GUIツールを利用した説明として構成しております。
システム構築の方法や運用にはさまざまな方法が存在しますが、「意外と簡単!?」シリーズでは特定のハードウェア上で小中規模のシステムを構築/運用することを目的とした実践的な資料として構成している関係上、個々の機能の説明等は最小限に留めております。
また「意外と簡単!?」シリーズは基本的にStandard Editionで利用可能な機能の範囲にて説明しておりますが、本チューニング編においては多くの機能においてEnterprise EditionとOEM Packが必要となります。詳しくは「 Oracle Database ライセンス情報 10g リリース1」をご覧ください。
「意外と簡単!?」シリーズが皆様のシステム構築/運用の一助になれば幸いです。
 |
| 「意外と簡単!?」シリーズの資料構成 |
「意外と簡単!?」シリーズは、以下の5つの資料から構成しております。
- データベース構築基礎
- セキュリティ設定
- バックアップとリカバリ
- データベースの監視/管理
- データベースの運用 − チューニング(本書)
 |
| 「意外と簡単!?」シリーズにおけるH/W、S/W構成 |
| サーバー |
: |
DELL PowerEdge 2650 |
| CPU |
: |
Xeon 3.06 GHz x 2 |
| メモリ |
: |
6GB |
| オペレーティング・システム |
: |
Microsoft Windows 2000 + Service Pack4 |
| RDBMS |
: |
Oracle Database 10g Standard Edition for Windows
(必要に応じてEnterprise EditionとOEM Pack) |
チューニングとは限られたリソース(たとえばCPUやメモリー、ハードディスクなど)をできるだけ有効活用しハードウェアの性能を限界まで引き出すことです。
あるリソース(たとえばディスク)に集中して、ほかのリソース(たとえばCPU)が遊んでしまっているということがないようにすることが目的です。チューニングを実施し、リソースに遊びがない状態になっていても目標に達成しない場合、ハードウェア・スペックを見直す必要がでてくるかもしれません。
そしてチューニングを行う時期は早ければ早いほど効果が高くなります。ですからDB構築後、なるべく早い段階でチューニングにとりかかることが肝要です。
具体的な目標を立てたらそれに向けて以下の手順でサイクリックにチューニングを行います。
どのようなシステムに対しても有効なチューニング方法というものは無く、ボトルネックを発見し(調査・解析)、問題を修正(適用・確認)したら、次のボトルネックへ、という繰り返しでシステムの改善をはかることになります。
このため従来では、ボトルネック発見のために、データベース管理者は適切なタイミングで適切な情報を集め、分析を行い、問題点を発見し、改善、確認を行うという、面倒でむずかしい作業を行う必要がありました。
Oracle Database 10gからは、データベース管理者はその作業から開放されることになります。チューニングのアプローチはDB自身により自動的に行われ、データベース管理者はOracle
Enterprise Manager 10g(以降OEM)と呼ばれる管理画面にWebからアクセスし、簡単な作業(推奨の受け入れ)を行うだけになります。
| Oracle Database 10gでのチューニング |
Oracle Database 9iまでは、Oracleのパフォーマンスを適切なタイミングで測定して問題点を発見し、適切な処置を考え、実施する必要がありました。Oracle Database 10gではこのようなアプローチは一切不要になります。
このようなチューニングのアプローチはデータベース内で自動的に実施されます。具体的には自動ワークロード・リポジトリ(AWR)とAutomatic
Database Diagnostics Monitor(ADDM)、さらに各種アドバイザで実現されます。
またこれらの機能はほぼ全てWEBブラウザでアクセスするGUIツールであるOEMで使用することが可能です。本書でもこのOEMを使用しデータベースのチューニングを行います。
まず始めにOracle Database 10gの新機能であるこれらの機能について概要を説明します。
 |
| 自動ワークロード・リポジトリ(AWR) |
自動ワークロード・リポジトリ(以降AWR)では、問題の検出と自己チューニングを目的として、パフォーマンスに関する統計情報が収集されます。AWRは、デフォルトでパフォーマンスの情報を1時間おきにスナップショットとして生成し、ワークロード・リポジトリに7日間保存します。
スナップショットの間隔、保存期間は変更することが可能です。
ポイント:AWRのスナップショット間隔、保存期間を変更するためにはOracle Database 10g Enterprise EditionとDiagnostic Packが必要になります。通常の運用ではデフォルトのままで問題ありません。
管理タブをクリックし管理画面へ移ります。
自動ワークロード・リポジトリをクリックします。
 ボタンをクリックします。
保存期間、間隔を適切に変更して  ボタンをクリックします。以上で変更作業は終了です。
 |
| Automatic Database Diagnostic Monitor(ADDM) |
パフォーマンス診断に必要なデータは前述のAWRにより自動的に収集されます。Automatic Database Diagnostic Monitor(以降ADDM)はそのデータを定期的に分析し、パフォーマンスに関する問題を提示します。AWRスナップショットが作成されるたびにADDMが起動され、分析を行います。また必要に応じ手動でADDMを起動し分析を行うこともできます。
ADDMはデータベースの全体的なパフォーマンスの問題に対して分析を行い、チューニングすべき項目を抽出します。パフォーマンスに関する問題のより詳細な分析は次に説明します各種アドバイザが行い、解決策となる推奨項目を表示することになります。
分析結果へのもっとも簡単なアクセス方法がOEMを使用する方法です。パフォーマンスに関して問題点が発見された場合、OEMのホーム画面で「パフォーマンス分析」という項目が表示されます。
ADDMによって検出されるパフォーマンスに関する問題点はさまざまですが、その問題を解決するための推奨として以下のような項目があります。また各問題点からはパフォーマンス結果の詳細へリンクがはられています。パフォーマンス結果の詳細では、アドバイザの起動ボタンやチューニングのためのアドバイスが表示されます。
| 推奨 |
パフォーマンス結果の詳細 |
| SQL Tuning |
SQLチューニング・アドバイザの起動など |
| DB Configuration |
メモリーに関するアドバイス(PGAサイズの変更など) |
| Segment Tuning |
Segment Advisorを実施すべきオブジェクトの表示など |
| Application Analysis |
ロック、バインド変数利用の推奨、待ちに対する調査要求など |
| Host Configuration |
ディスク構成に関するアドバイスなど |
データベース管理者の行うタスクは、OEMのホーム画面をチェックし、パフォーマンス分析が表示されていた場合、リンクされたパフォーマンス結果の詳細を表示させ、各種アドバイザなどで問題を解決するということになります。
ポイント:ADDMはデータベースにより定期的に起動され分析を行います。ADDMはOEMから手動で起動し分析を行うことも可能です。手動によるADDMの起動や分析結果のリンクをたどるためには、Oracle Database 10g Enterprise EditionとDiagnostic Packが必要になります。
 |
| パフォーマンス・アドバイザ |
チューニングで利用されるアドバイザは以下になります。
| アドバイザ |
説明 |
| SQLチューニング・アドバイザ |
SQL文を分析し、パフォーマンスを向上させる推奨項目を作成します。SQL文を変更せずにパフォーマンスを向上させるSQLプロファイルの設定などが可能です。 |
| SQLアクセス・アドバイザ |
SQL文を実行する際のアクセス・パスに関するチューニング(索引やマテリアライズド・ビューの作成)を行うことが可能です。 |
| メモリー・アドバイザ |
メモリー・サイズのアドバイスを表示します。Oracle Database 10gからはSGAメモリー領域内のメモリー配分を自動的に最適化する機能もあります。 |
| セグメント・アドバイザ |
セグメントの断片化レベルを測定し、縮小すべきオブジェクトがあるかのアドバイスを表示します。 |
各アドバイザはADDMによる分析結果であるパフォーマンス分析の詳細画面で起動を促される場合もありますが、任意のタイミングでデータベース管理者により実行することも可能です。これから行う実習では、手動で各アドバイザを起動してチューニングを行うものとします。
ポイント:SQLチューニング・アドバイザとSQLアクセス・アドバイザの実行にはOracle Database
10g Enterprise EditionとDiagnostic Pack, Tuning Packが必要です。
SQLチューニング・アドバイザ
SQLチューニング・アドバイザではSQL文を書き換えることなくパフォーマンスを向上させるSQLプロファイルを実装できます。SQLプロファイルには、その文に固有の追加のSQL統計が含まれ、より適切な実行計画を生成する問合せオプティマイザを使用可能にします。これによりパフォーマンスを向上させることが可能となります。
ポイント:SQLチューニング・アドバイザによる分析の結果はSQLプロファイル実装のほかに、統計の収集やSQL文の再構築もあります。またこの後で実習しますSQLアクセス・アドバイザを内部的に使用して索引の作成を行う場合もあります。
 |
SQLチューニング・アドバイザを使ってみよう |
|