Transcript
Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g
Oracle Enterprise ManagerOracle Enterprise Managerによるによる統計収集統計収集
2005年4月
日本オラクル株式会社
2Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g目次目次
目次
本資料の内容
統計情報とは
統計情報が正しいと…統計情報が誤っていると…10gでの自動統計情報収集
手動での統計収集– 1 「統計の収集」起動メニュー
– 2 概要
– 3 デフォルト・メソッド
– 統計情報収集のための選択肢
– 4 オブジェクト選択
– オブジェクトの追加
– 5 統計収集対象表の選択画面
– 6 スキーマを対象にした場合のオプション画面
– スキーマ/データベース単位の統計収集オプション
– その他オプション
– 7 スケジュールの分析
– 8 確認
– 9 ジョブ発行とステータス管理
3Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g本資料の内容本資料の内容
内容– 統計情報とは
– 統計情報の必要性
– OEMでの実現手順
機能の使用にあたって必要なスキルレベル– Oracle Master Bronze 10g レベル
関連マニュアル– Oracle Database 2日でデータベース管理者
基本的なOEM10gの使用方法、操作方法が記述されています。
– Oracle Database10g PL/SQL パッケージ・プロシージャおよびタイプ・リファレンス
– Oracle Database10g パフォーマンス・チューニング・ガイド
– Oracle9i データベース・パフォーマンス・ガイドおよびリファレンス
本資料の対象バージョン– Oracle Database 10g 10.1.0.3
画面説明中の 「⇒」は、選択することで遷移する画面番号を示しています。
画面番号は各ページタイトルの番号です
4Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g統計情報とは統計情報とは
統計情報とは、表、索引などのレコード件数や、使用している領域、データ分布 な
どのデータ特性を表す情報です。
Oracle10gはSQLを解析する際、統計情報を使用し、もっともI/Oが少なくなるよう
にデータブロックへのアクセスを計算します。この機能を、コストベース・オプティマイザ/CBOと呼びます。
– 以前のバージョンでは、アクセスパスがSQLの記述により、統計情報に関係なく決定されていました(ルールベース・オプティマイザ/RBO)が、10gではRBOはサポートされて
いません。
統計情報の正確性は、SQLのパフォーマンスに直結します。したがって、以下の
ような場合パフォーマンスの劣化を防止するため、統計情報を取得する必要があります
– データ件数が増減した
– 複数表の結合処理を実行するような場合、一部の表のみデータ件数が増減した
– 新しくオブジェクトを作成し、データを投入した
•統計収集を実行しない場合、Oracle10gは高いパフォーマンスを発揮できません。
5Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g統計情報が正しいと統計情報が正しいと……
SQL> SELECT * FROM ‘ 受注明細表 ’;
統計情報受注明細表内の
レコード数は11件件
解析 判断材料
コスト・ベース・オプティマイザ
レコード件数が少ないので、索引検索のオーバーヘッドを回避して実表FULL SCAN(全表走査)で検索する
受注明細表
レコード件数: 11件件索引
現在の状況に応じて、適切なアクセス・パスが選択され、I/Oが極小化される
6Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g統計情報が誤っていると統計情報が誤っていると……
SQL> SELECT * FROM ‘ 受注明細表 ’;
統計情報受注明細表内の
レコード数は11件件
解析 判断材料
コスト・ベース・オプティマイザ
レコード件数が少ないので、索引検索のオーバーヘッドを回避して実表FULL SCAN(全表走査)で検索する
受注明細表
レコード件数: 100000100000件件
索引
不適切なアクセス・パスが選択され、余分なI/Oが発生し、
パフォーマンスが劣化する
7Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g1010ggでの自動統計情報収集での自動統計情報収集
自動統計収集のためのデフォルトで定義済のウィンドウ
•Oracle10gの自動統計収集のために、2つの「ウィンドウ」がデフォルトで定義されています。「WEEKNIGHT_WINDOW」は日次、「WEEKEND_WINDOW」
は週次の自動統計収集のためのウィンドウです。•10gでは、毎晩、毎週末、自動的にデータベース全体の統計収集が為されるよう
にデフォルト設定されています。•ウィンドウの機能については、関連資料「Oracle Enterprise Manager 10gによる
ジョブ管理(スケジュール)」をご覧ください。
Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g
手動での統計収集手動での統計収集
9Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g1 1 「統計の収集」起動メニュー「統計の収集」起動メニュー
⇒2
•統計収集メニューは「メンテナンス」タブに存在します。•「ユーティリティ」メニュー群にある、「統計の収集」メニューのリンクをクリックします
10Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g2 2 概要概要
次画面⇒3
全体の操作の流れと現在のステップを表示しています
•OEMでの統計収集の実行は、ウィザードを通じて操作します。
•概要ページには、統計収集機能の概要が記述されています。•この画面で設定する項目はありません。
11Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g3 3 デフォルト・メソッドデフォルト・メソッド
•「デフォルト・メソッド」では、特定のオブジェクト(次画面以降で選択)に対して実行する、統計収集の種類を選択します。•各オブジェクトについて個別に設定された「オプション」の値は、 「デフォルト・
メソッド」で決定された値よりも優先されます。
次画面⇒4
12Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g統計情報収集のための選択肢統計情報収集のための選択肢
選択したオブジェクトのすべての行に基づいて統計情報を計算する対象オブジェクトのデータをすべて読み取る完全統計収集処理です。正確な統計情報を収集できます。 “COMPUTE”オプションに相当します。多くの場合、この選択肢を選択しますが、対象オブジェクトのデータ数が非常に多い場合などには、この処理には時間がかかる可能性があり、その場合は以下の「見積」収集を選択します。
選択したオブジェクトの一部の行に基づいて統計情報を見積もる対象オブジェクトのデータ数が多い場合などに、一部のデータをもとに類推して統計情報を算出する方法です。“ESTIMATE”オプションに相当します。正確性では劣りますが、完全統計収集処理に時間がかかる場合にはこちらの方法を選択します。
サンプリングには、以下の2つのパラメータを指定します
– 割合の見積り類推計算に使用するサンプル割合を決定します。
「デフォルト」の場合、ある計算ロジックに従って自動的にOracleがサンプル値を決定します。ロジックについてはKROWN#64623を参照してください。
「割合」を選択すると、0.000001 ~ 100の間で管理者が値を決定します。(単位は%)– サンプル・メソッド
ブロック・サンプルの使用可否を決定します。
行のサンプルの場合、ディスク上の行の物理的な位置にかかわり無く行が読み込まれます。
ブロック・サンプルの場合、ブロックのサンプルがランダムに読み込まれ、読み込まれたブロック内のすべての行が見積もりに使用されます。索引の統計収集には使用できません
統計情報の削除統計情報を削除します。
参考マニュアル: Oracle Database10g パフォーマンス・チューニング・ガイド 15-6 手動統計収集 Oracle9i データベース・パフォーマンス・ガイドおよびリファレンス 3-4 サンプルメソッド
13Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g4 4 オブジェクト選択オブジェクト選択
•「オブジェクトの選択」画面では、統計収集を実施する対象のオブジェクトを選択します。•一度に複数のオブジェクトについて統計収集を行うことができます。
次画面⇒7
「オプション」 ⇒6
オブジェクトタイプを選択し、「追加」ボタンをクリックすると
「オブジェクト選択」へ ⇒5
14Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10gオブジェクトの追加オブジェクトの追加
統計収集対象として選択可能なオブジェクト
– SCHEMAS:スキーマ
– TABLES:表
– INDEXES:索引
– TABLE PARTITIONS: パーティション表
– INDEX PARTITIONS: パーティション索引
– TARGET DATABASE: データベース内の全オブジェクト
15Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g5 5 統計収集対象表の選択画面統計収集対象表の選択画面
•選択済みのオブジェクトは、条件一致のリストからは除外されます•条件に文字列を入力しない場合、対象の表(オブジェクト)がリストに表示されます。
条件一致したオブジェクトの一覧を表示
検索条件(スキーマ名/オブジェクト名)を入力して、実行(“%”は不要)
選択したオブジェクトを反映
16Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g6 6 スキーマを対象にした場合のオプション画面スキーマを対象にした場合のオプション画面
統計収集対象に含まれるオブジェクトへの統計収集ポリシーを決定する(スキーマ/データベースのオプション
画面のみ出現)
個別オブジェクトに対するオプションを指定(索引のオプション画面には出現しない)
同一スキーマの同種のオブジェクト全てに対して、上記の設定を適用できる
デフォルト・メソッドでの選択肢と同じ
•各オブジェクトにオプションを設定した場合、デフォルト・メソッドの設定値は上書きされます。
17Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10gスキーマスキーマ//データベース単位の統計収集オプションデータベース単位の統計収集オプション
オブジェクトに対する統計情報の収集Oracle10gには新しい統計情報を必要とするオブジェクトを、自動的に判別する機能があります。
– デフォルトオブジェクトにMONITORING属性がついていて、なおかつ最後の統計収集後にオブジェクトのデータが10%以上更新 されたものが統計収集の対象となります。
また、MONITORING属性に関係なく、統計情報が取得されていない(LAST_ANALYZED列がNULLである)オブジェクトも対象となります。 対象オブジェクトに関連する索引と列の統計情報も取得します。
‘GATHER AUTO’オプションに相当します。一般にはこの値を設定します。
– 失効した統計情報のあるオブジェクトオブジェクトにMONITORING属性がついていて、なおかつ最後の統計収集後にオブジェクトのデータが10%以上更新 されたもののみが統計収集対象となります。
‘GATHER STALE’オプションに相当します。
– 統計情報のないオブジェクト統計情報が取得されていない(データディクショナリのオブジェクト情報のLAST_ANALYZED列がNULLである)オブジェクトが対象となります。
‘GATHER EMPTY’オプションに相当します。
– この(データベース/スキーマ)に属す全オブジェクト全てのオブジェクトの統計情報を収集します。
‘GATHER’オプションに相当します。
参考マニュアル: Oracle Database10g PL/SQL パッケージ・プロシージャおよびタイプ・リファレンス93-62 GATHER_SCHEMA_STATS プロシージャ
18Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10gその他オプションその他オプション
重ねて表示 - 索引に関する統計情報も収集してください– 表、パーティション表に関連した索引オブジェクトについても、同条件での統計収集
を実施するかを選択できます。可能な限り、ONにされることをお勧めします。
– CASCADE=TRUEと同じ効果です
並行して統計情報を収集してください– 並列度(DEGREEに相当)
デフォルト– 並列度が自動的に決定されます。 オブジェクトのサイズに応じて、1(シリアル実行)
またはDEFAULT_DEGREE(CPU 数と初期化パラメータに基づくシステム・デフォルト値)になります。
程度– 並列度を直接指定します。
– ヒストグラムの作成値ごとの出現頻度に関する情報を含めて統計収集するかを判断します。
– 粒度(GRANULARITYに相当)
収集する統計情報の細分化を行います。表がパーティション化されている場合のみ使用するオプションです。
参考マニュアル: Oracle Database10g PL/SQL パッケージ・プロシージャおよびタイプ・リファレンス93-61 GATHER_SCHEMA_STATS プロシージャ
19Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g7 7 スケジュールの分析スケジュールの分析
ジョブIDを入力(デフォルト値の上
書きは可能)「説明」はオプション
定期的に統計収集実行する場合、サイクルを指定。(繰返しなし/分/時間/日/週/月/年)
最初のジョブ起動時間を指定“即時”の場合、次画面で「実行」クリックのタイミングで起動。“後で”の場合、指定した時間に起動
確認へ⇒8
•OEMから実行できる統計収集は、Oracleのジョブ・スケジュールの機能を利用します。
20Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g8 8 確認確認
ジョブ発行⇒9
ウィザードで設定した項目に準じて適切なオプションが設定されたプログラムが作られている。確認画面上での書換/記述追加も可能。OEM以外のツール/コンソー
ルから、この記述をコピーして実行しても、問題なく実行可能。
•最終確認画面です。OEMが内部で実行するPL/SQLのプロシージャを参照できます
21Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g9 9 ジョブ発行とステータス管理ジョブ発行とステータス管理
•OEMによる統計収集はスケジューラ・ジョブとして、実行状況モニタリングやエラー
管理が行われます。•ジョブ管理機能については、関連資料「Oracle Enterprise Manager 10gによるジョブ
管理(スケジュール)」をご覧ください。
22Copyright 2005 © Oracle Corporation Japan, All Rights Reserved
10g
日本オラクル株式会社
Copyright © 2005, Oracle. All rights reserved. このドキュメントは単に情報として提供され、内容は予告なしに変更される場合があります。このドキュメントに誤りが無いことの保証や、商品性又は特定目的への適合性の黙示的な保証や条件を含め明示的又は黙示的な保証や条件は一切無いものとします。オラクル社は、このドキュメントについていかなる責任も負いません。また、このドキュメントによって直接又は間接にいかなる契約上の義務も負うものではありません。このドキュメントを形式、手段(電子的又は機械的)、目的に関係なく、オラクル社の書面による事前の承諾なく、複製又は転載することはできません。
OracleはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、各社の商標または登録商標です。
top related