※用語はなるべく、Oracle® Databaseリファレンス 12c リリース1 (12.1) より抜粋しております。
###■公式チェックリストより出題範囲
●パフォーマンスの管理: SQLチューニング
・SQLチューニング・アドバイザを使用する
####試験内容チェックリストから除外されたトピック
●パフォーマンスの管理
-Enterprise Managerを使用してパフォーマンスを監視する
-自動メモリー管理を使用する
-メモリー・アドバイザを使用してメモリー・バッファのサイズを変更する
●パフォーマンスの管理:SQLチューニング
-オプティマイザ統計を管理する
-SQLアクセス・アドバイザを使用してワークロードをチューニングする
--------------------------------------------------
###要点
どれもこれもAWRとADDMに絡んでくるので出題されないんじゃないかと思っている。
ひとまず公式チェックリストのSQLチューニングアドバイザに関しては押さえておこう。
--------------------------------------------------
###SQLチューニング
■SQLチューニングアドバイザ
SQLチューニングアドバイザは、1つ以上のSQL文を入力ソースとして受け取り、実行計画を最適化する方法をアドバイスします、アドバイスされた処理を適用することによって、パフォーマンスがどの程度向上するかなども併せて表示します。
■SQLチューニングアドバイザによって分析される要素
●統計分析:SQL文がアクセスしているオブジェクトに統計情報の欠落/失効があるかどうか分析し、対象となる統計情報を収集するための推奨事項を作成する。
●SQLプロファイリング:SQL文に対して作成された実行計画を検証し、その実行計画の誤りを排除するための情報を収集する。最適化された実行計画は「SQLプロファイル」として作成し、友情モードでの実行時でも実装できるようにする、
●アクセスパス分析:欠落している索引がないか分析し、新しい索引の採用によってアクセスパスが買いzん出来る場合は、索引を作成するための推奨事項を作成する。
SQL構造分析:不適切な実行計画を使用しているSQL文を識別し、SQL文を再構築するための提案を行う
■SQLチューニングアドバイザの入力ソース
トップアクティビティ:現在んのインスタンスじょうで動作しているカーソルキャッシュから1つ以上のSQL文を選択できる
履歴SQL:AWRスナップショットを選択して、SQLチューニングセットを作成するかADDMタスクを作成してSQL分析をさせることができる
SQLチューニングセット:複数のSQL文とSQL文の実行に関連する情報を格納したオブジェクト、現在メモリー上にあるSQL文やAWRスナップショットから作成するかDBMS_SQLTUNEパッケージを使用して手動で作成できる
■自動メンテナンスタスクによるSQLチューニングアドバイザの自動的な実行
デフォルトで1時間を限度に実行されます。
①AWRによる候補SQLの抽出
②各SQLを自動的にチューニング
③自動チューニング
・SQLチューニングアドバイザの実行(推奨事項の生成)
・SQLプロファイルのテスト
・SQLプロファイルの実装
④自動SQLチューニングレポート
●SQLチューニングアドバイザの特徴について
・SQLプロファイルを推奨させるには有効範囲を包括モードにする
●SQLチューニングアドバイザの自動実行について
・自動適用可能なのはSQLプロファイルのみ
自動SQLチューニングはの実行タイミングは、自動化メンテナンスタスクに設定されたメンテナンスウインドウで決定されます。
おまけ。出題されないかも。
####SQLパフォーマンスアナライザ
SQLパフォーマンスアナライザは、変更前と変更後のSQL実行パフォーマンスを検証するために使用機能です。変更後の結果にパフォーマンスの悪化したSQL文が存在した場合は、SQL計画管理で変更前の実行計画を使えるよう構成するか、チューニングアドバイザでチューニングすることができます。
本番環境で変更後のワークロードを実行せずに、テスト環境で変更を行い、変更後のSQL文のパフォーマンスの変化を確認することができます
【変更に該当する内容】
・データベースのアップグレード
・アドバイザによって推奨されたチューニングの実装
・スキーマの変更
・オプティマイザ統計の収集
・データベースの初期化パラメーターの変更
・OSやハードウェアの変更