前回は、SQLチューニング・アドバイザーを使用したSQLチューニングを実施しました。今回は、ADDMを使用したデータベースのパフォーマンス分析の方法について紹介します。
ADDM(Automatic Database Diagnostic Monitor)とは、自動診断データベースモニターのことで、AWRのスナップショットのデータを基にインスタンス全体のパフォーマンスを検出するパフォーマンス分析ツールです。デフォルト1時間毎に実行されるAWRと共にADDMも実行されます。
ADDMは、Oracle Database EE 12c以降のCDBでサポートされており、19cからはPDBでも使用することが可能です。
ADDMの実行結果は、SQLやスクリプトでADDMレポートとして取り出すことができますが、Database ManagementではGUIからオンデマンドで生成することが可能です。また、新機能のADDMスポットライトでは時系列にサマリーした情報を表示することもできるようになりました。
今回は、このADDMとADDMスポットライトの操作手順について紹介します。
索引の削除
SQLチューニング・アドバイザで作成した索引を削除しておく
##SOEスキーマで接続
sqlplus soe/パスワード@ホスト名:ポート/サービス名
##SQLチューニング・アドバイザ作成された索引名
select index_name from user_indexes where index_name like 'IDX$$%';
##索引の削除
drop index IDX$$_XXXXXXXX;
drop index IDX$$_XXXXXXXX;
ADDMの手動実行
-
現在のパフォーマンスを取得して分析を実行。過去のAWRからADDMレポートを作成したい場合は、過去のパフォーマンス分析からAWRのスナップショットを指定する
-
以降のSQLチューニング・アドバイザの実行手順は前回と同じ
ADDMスポットライト
-
ADDMスポットライトは、蓄積されたADDMのデータを任意の時間軸でサマリーしてくれる。AWRスナップショットの間隔でデータベース全体のパフォーマンス情報を収集しているので、SQLだけでなくデータベース・パラメータ変更によるパフォーマンス変化などもデータベースの総合的な診断をしてくれる
PDB単位でADDMを使用する場合、AWR_PDB_AUTOFLUSH_ENABLED初期化パラメータをTRUEに設定し、AWRスナップショット間隔を0より大きく設定して、PDBのAWRスナップショットを有効にする必要があります。また、Oracle Dabase 23ai以降では、AWR_PDB_AUTOFLUSH_ENABLEDのデフォルト値はTRUEです。
次回は、その他のDatabase Managementの機能について紹介します。