Oracle Databaseの性能調査やチューニングを行う際によく利用される機能の1つにAWR(Automatic Workload Repository)があります。AWRは、データベースの負荷状況やSQL実行状況などの情報を自動的に収集し、性能分析に役立てるための仕組みです。
この記事では、Oracle AWRがどのような情報を収集する機能なのか、収集タイミング、保存されるデータ、レポートの見方、注意点について初心者にも分かりやすく解説します。
Oracle AWRとは何か
AWR(Automatic Workload Repository)は、Oracle Databaseに搭載されているパフォーマンス管理機能です。データベースの稼働状況を定期的に取得し、後から分析できるように履歴情報として保存します。
通常、データベースの性能問題は「現在遅い」という状態だけを確認しても原因を特定することが難しい場合があります。AWRでは過去の状態を記録しているため、問題が発生した時間帯の負荷状況やSQL処理状況を調査できます。
例えば、毎日午前中だけ処理が遅くなるシステムの場合、その時間帯のAWRレポートを確認することで、CPU使用率の上昇や特定SQLの負荷増加などを発見できます。
AWRはパフォーマンス統計を定期的に収集する機能なのか
AWRは、Oracle Databaseのパフォーマンス統計を一定間隔で自動収集する機能と考えることができます。
デフォルト設定では、一定間隔ごとにデータベースの状態を取得するスナップショットが作成されます。このスナップショットには、待機イベント、SQL実行統計、インスタンスの負荷状況、メモリ使用状況など、多くの性能情報が含まれます。
つまりAWRは単純なログ記録ではなく、Oracleが性能分析を行うために必要な情報を整理して蓄積するパフォーマンス統計リポジトリです。
AWRが収集する主な情報
AWRでは、データベースのさまざまな性能情報が保存されます。代表的なものには以下のような項目があります。
- CPU使用率や処理負荷
- データベース待機イベント
- SQL実行回数や処理時間
- 論理読み取り・物理読み取り回数
- メモリ使用状況
- データベース全体の処理量
例えば、あるSQL処理が急に遅くなった場合、AWRレポートを見ることで、そのSQLが大量のI/Oを発生させていないか、待機時間が増加していないかなどを確認できます。
また、システム全体の傾向を分析することも可能です。数週間前と比較して処理量が増えている場合や、データ量増加によって性能が低下している場合などの調査にも利用されます。
AWRのスナップショットと保存期間
AWRでは、データベースの状態を取得した単位をスナップショットと呼びます。スナップショットには取得時点の性能情報が記録され、複数のスナップショットを比較することで性能変化を分析できます。
取得間隔や保存期間は設定によって変更できます。例えば、デフォルトでは一定時間ごとに取得されますが、短時間で性能変化を確認したい場合は取得間隔を変更することもあります。
ただし、AWRの保存データは増え続けるため、長期間保存する場合はSYSAUX表領域の使用量にも注意が必要です。
AWRレポートで性能問題を分析する方法
AWRレポートでは、一定期間内に発生したデータベースの負荷や問題点を確認できます。特に確認されることが多い項目は、上位待機イベント、負荷の高いSQL、CPU使用率、I/O状況などです。
例えば、オンライン処理が遅くなった場合、AWRレポートで「DB CPU」が増えているならCPU負荷が原因の可能性があります。一方で、「User I/O」などの待機時間が増えている場合はストレージやSQLの読み取り処理が原因の可能性があります。
このようにAWRは、単に数値を見るだけではなく、どの部分がボトルネックになっているかを判断するための資料として利用されます。
AWRを利用するときの注意点
AWRは非常に便利な機能ですが、利用にはいくつか注意点があります。
まず、AWRは利用できるOracle Databaseのエディションやライセンス条件があります。特に本番環境で利用する場合は、Oracleのライセンス契約内容を確認することが重要です。
また、AWRの情報だけで必ず原因が特定できるわけではありません。SQL実行計画、アプリケーション側の処理、OSやネットワーク状況など、他の情報と合わせて分析することで正確な原因調査が可能になります。
まとめ|Oracle AWRは性能統計を自動収集して分析するための機能
Oracle AWRは、データベースのパフォーマンス統計を定期的に収集し、履歴として保存するための仕組みです。
スナップショットとして取得された情報を利用することで、過去の負荷状況やSQL性能、待機イベントなどを分析でき、Oracle Databaseの性能トラブル調査やチューニングに役立ちます。
ただし、AWRはあくまで分析のための情報源であり、正しい設定や他の調査結果と組み合わせて利用することで、より効果的なデータベース運用につながります。

コメント