てきとーにのんびりだらだら

毎日更新目標!SEブログ!

GWも終盤!今日はoracleDB9章やっていくよ!

おつおつー^^
今日はやること盛りだくさんですが、oracleDBの9章勉強していきます!
勉強は14時スタートです....

データベースの監視とアドバイザの使用

データベースの監視

EM Expressを使用したデータベースの状態とワークロード(処理負荷)およびパーフォーマンス(処理性能)を監視する機能について説明します。
EM Expressのデータベースホームでは、以下のセクションで分けられており監視できます。

セクション 説明
ステータス データベースの状態の概要
パフォーマンス アクティブなセッション情報
リソース 最新のデータポイント(過去1分間)のリソース使用率
インシデント データベース内でのクリティカルエラーの発生
実行中のジョブ 現在実行されているデータベースジョブ
SQL監視 SQLのアクティビティ

指定した期間に応じたパフォーマンスを確認する場合は、パフォーマンスハブを使用します。
デフォルトでは過去1時間のリアルタイムデータが表示されます。
パフォーマンスハブにあるアクティブセッション履歴(ASH)では、1秒間隔で取得されたOracleDBのアクティブな全セッションの履歴情報です。
処理実行中の情報であるため、オラクルデータベースで過去実行された処理の詳細を把握できます。
ASHデータはAWRスナップショットの一部として保管されます。
先ほどまではEM Expressによる管理の説明でしたが、これからoracleデータベースが自データベースを自己監視/診断するための機能について説明します。
先ほどアクティブセッション履歴でも出ていたAWR(自動ワークロードリポジトリ)はoracleデータベースの問題の検出と自己チューニングを目的として、統計情報とワークロード情報を自動的に収集・管理する機能です。
AWR使用する際はとくにインストール等する必要はありません。
AWRスナップショットについてですが、AWRにより収集されたある時点の統計情報とワークロード情報のことをAWRスナっプショットといいます。
ADDMやアドバイザといった機能によって、データベースの稼働状況を分析し、改善策を提示するための基礎データとなります。
AWRスナップショットはSYSAUX表領域に保存されます。
デフォルトでは60分間隔で収集され、SYSAUX表領域に8日間保存されます。
ADDM(自動データベース診断モニター)は、oracleデータベースに搭載された自己診断エンジンです。
ADDMを使用すると、oracleデータベースによってデータベース自身のパフォーマンスが診断され、問題の解決方法を数値化した効果とともに管理者へ推奨します。
ADDMはデータベースがオープンされていない状態では分析できず、ほかのアドバイザからADDMが起動されることはありません。
ADDMは分析の結果に応じて、アドバイザ機能を実行する場合があります。
ADDMはAWRスナップショットが生成されるたびに自動実行されます。分析はAWRスナップショットに含まれる情報をもとに実行され、その結果はSYSAUX表領域内のAWRに格納されます。
ちなみに、ADDMは手動で実行することが可能です。

パフォーマンス診断

ラクルには最適な設定値やパフォーマンスの改善策を推奨するアドバイザ機能が実装されています。 SQLチューニングアドバイザとSQLアクセスアドバイザについて説明します。
以下一旦それらについて表にてまとめます。

アドバイザ 機能
ADDM データベース全体のアドバイス
モリーアドバイザ モリーアドバイザ 自動メモリー管理モードの場合、インスタンス全体のメモリーを最適化
PGAアドバイザ 自動PGAメモリ管理モードの場合、インスタンス全体のメモリーを最適化
SGAアドバイザ 自動共有メモリー管理モードの場合、SGAの構成に関する各コンポーネントサイズを最適化する
共有プールアドバイザ 共有プールの最適サイズを提供する
データバッファキャッシュアドバイザ データベースバッファキャッシュの最適サイズを提供する
SQLアドバイザ SQLチューニングアドバイザ パフォーマンスを向上させる推奨項目(SQLの書き換え、索引作成の推奨)を作成する
SQLアクセスアドバイザ SQLを実行する際のアクセスパスに関するチューニング(索引やマテリアライズドビューの作成)を推奨する

SQLチューニングとは、パフォーマンス基準を満たさないSQL文を診断および修復する試みです。 チューニングの概念は実行計画にあります。
実行計画とは表などにアクセスする経路のことでアクセスパスとも呼ばれます。 最善の実行計画を選択するためには、オプティマイザ統計情報や索引をもとに実行計画を作成されているためオプティマイザ統計情報が古いまたは索引が作成されていないといった場合を避ける必要があります。
オプティマイザとはSQL実行する場合に使用する内部コンポーネントのことです。
SQLチューニングアドバイザはオプティマイザ統計の収集や新規索引の作成、SQLの修正、SQLプロファイルの作成などを推奨事項を出力するものです。
SQLチューニングアドバイザの推奨事項を見るのは管理者です。
またSQLチューニングアドバイザはチューニング対象とする高負荷SQLをソースから取得可能にします。
そのソースと説明を以下表としてまとめました。

ソース 説明
トップアクティビティ 過去1時間に実行されたSQLのうち、問題ありそうな(最もリソースを割いている)SQLをが評価される
履歴SQL 24時間単位でSQL
SQLチューニングセット AWRスナップショットによって取得されたSQLまたは任意のSQLワークロードから作成された一連のSQLが評価される

SQLチューニングセット(STS)はSQLが実行された状況を示す情報(実行コンテキスト)、SQL実行時の実行統計(経過時間、CPU時間、バッファ読取り、ディスク読取り、処理された行数など)をまとめたものです。
SQLチューニングセットにSQLを追加するには、AWR、共有プールなどから情報を登録します。
oracleデータベース管理者がSQLを直接指定して追加することも可能です。
自動SQLチューニングタスクはSQLチューニングアドバイザを自動的に実行する仕組みです。
自動SQLチューニングタスクはAWRから負荷の大きい問い合わせ(SELECT文)を選択し、SQLチューニングアドバイザを実行し、推奨事項を出力します。
SQLアクセスアドバイザも説明しようと思いましたが、明日更新します。(2021/05/04/22:47更新できず)