Slide 1

Slide 1 text

Oracle Technology Night #43 Automatic Workload Repository(AWR)の分析 第一部(AWRの概要) 津島 浩樹 日本オラクル株式会社 テクノロジー・ソリューション・エンジニアリング本部 2021年 4月13日

Slide 2

Slide 2 text

Safe harbor statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, timing, and pricing of any features or functionality described for Oracle’s products may change and remains at the sole discretion of Oracle Corporation. 2 Copyright © 2021, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted

Slide 3

Slide 3 text

Program agenda Copyright © 2021, Oracle and/or its affiliates. 3 分析の流れ AWRレポート AWRの機能拡張 分析の流れ AWRレポート AWRの機能拡張 2 3 1 2 3 1

Slide 4

Slide 4 text

AWR(Automatic Workload Repository)とは データベースのパフォーマンス統計情報 (スナップショット) の自動的な収集/管理および診断 • AWRデータ (デフォルト60分間隔のDB稼働状況):全体的なパフォーマンス・チューニング • AWRレポート • AWR SQLレポート • AWR期間比較レポート • ASHデータ (10秒間隔のDB稼働状況、メモリ上は1秒間隔):部分的 なパフォーマンスの問題を診断 • ASH(Active Session History)レポート • EMのパフォーマンス・ページ (Average Active Sessionsなど) • ADDMデータ (AWRデータを使用して自動作成されたパフォーマンス診断) • ADDMレポート • Diagnostic Packが必要 Copyright © 2021, Oracle and/or its affiliates. 4 AWRレポート SGA 統計情報 負荷の高いSQL … DBWR PMON ・・・・ SMON 定期的に保存 (デフォルトでは60分ごと) AWR (SYSAUX表領域) スナップショット1 スナップショット2 スナップショット3 スナップショット4 MMON デフォルト では 8日間

Slide 5

Slide 5 text

レポートの種類 • AWRレポート (CDBレベルAWRレポート、インスタンス・レベルAWRレポート) • $ORACLE_HOME/rdbms/admin/awrrpt[i].sql • AWRグローバル(RAC)レポート (11.2から) • $ORACLE_HOME/rdbms/admin/awrgrpt[i].sql • PDBレベル・レポート (PDBレベル・スナップションのAWRレポート) (12.2から) • 生成方法は変わらず • $ORACLE_HOME/rdbms/admin/awrrpt[i].sql • PDBに接続して実行するとLOCATIONの入力が要求される (AWR_ROOT/AWR_PDB) iが付くと別インスタンスから生成できる (データベースIdとインスタンス番号を要求する) Copyright © 2021, Oracle and/or its affiliates. 5 AWRレポート

Slide 6

Slide 6 text

• レポート・ヘッダー • インスタンスに関する情報 • Report Summary • データベース全体の稼働状況のサマリー • Main Report • データベース全体の稼働状況に関するすべてのセクション • RAC Statistics • RAC(Real Application Clusters)に関する統計情報 • Exadata Configuration and Statistics (12cから) • Exadata固有の統計情報 Copyright © 2021, Oracle and/or its affiliates. 6 レポートの出力内容 AWRレポート

Slide 7

Slide 7 text

このレポートが実行されたインスタンスに関する情報を提供 • プラットフォーム、CPUのコア数とソケット数、サーバーで利用可能なメモリなど • Elapsed TimeとDB Timeを比較して簡単に負荷状況を確認する • Elapsed Time x CPUsが最大の負荷可能時間 • レポートの最初と最後のセッション数にも注目する • レポート期間中に負荷が一定であったか、増加していたか、または減少していたかを知ることができる Copyright © 2021, Oracle and/or its affiliates. 7 レポート・ヘッダー AWRレポート

Slide 8

Slide 8 text

Copyright © 2021, Oracle and/or its affiliates. 8 Report Summary (バージョンの違い) 11.2.0.3までのセクション 11.2.0.4以降のセクション 12cから拡張された機能 Cache Size - - - - Top ADDM Findings by Average Active Sessions Load Profile Load Profile(IOPS, スループット, GCの追加) In-Memory統計が追加 Instance Efficiency Percentages Instance Efficiency Percentages 'Flash Cache Hit %'が追加 Shared Pool Statistics - - Top 5 Timed Foreground Events Top 10 Foreground Events by Total Wait Time ‘Wait Avg(ms)’が小数点以下2桁まで (0になるのを削減するため) - Wait Classes by Total Wait Time Host CPU Host CPU - Instance CPU Instance CPU - - IO Profile - Memory Statistics Memory Statistics - - Cache Size In-Memory統計が追加 - Shared Pool Statistics - AWRレポート

Slide 9

Slide 9 text

ADDM(Automatic Database Diagnostics Monitor)の上位診断結果 • スナップショット間のDB Time(Active Sessions)の上位割合のものが対象 • Main Reportの最後 (ADDM Reports) に対応する診断結果が記載されている • 参考にできるものがないか確認する Copyright © 2021, Oracle and/or its affiliates. 9 Report Summary (Top ADDM Findings by Average Active Sessions) AWRレポート ADDMは、AWRスナップショットを取得後に自動的に診断を行い推奨事項を出力する • システムの中で最も時間を消費している部分の根本原因を分析する • SQLは高負荷なものを特定するまで (SQLチューニング・アドバイザを実行するように推奨される)

Slide 10

Slide 10 text

待機クラスの待機時間とDB Timeに対する割合 (割合の大きい順) • これを使用することで、パフォーマンス問題が疑われるサブシステム(NetworkやClusterなど)を迅速に判断するこ とができる (バックグランドも含まれる、Wait Events StatisticsにForeground Wait Classがある) <= Top 10 Foreground Eventsの割合の合計が100%より非常に少ない場合など • Administrative: ユーザーが待機する原因となるDBAコマンドによる待機 (索引再作成など) • Application: アプリケーション・コードによる待機 (行ロックなど) • Concurrency: 内部データベース・リソースの待機 (ラッチなど) • Configuration: データベース構成/インスタンス・リソースが十分でないことによる待機 (ログ・ファイル・サイズ、共有プー ル・サイズが小さいなど) • Commit: コミット後の Redoログ書き込み完了待機 (log file sync) • Cluster: RACリソースに関連する待機 • Network: ネットワーク・メッセージに関連する待機 • Scheduler: リソース・マネージャに関連する待機 • User I/O: サーバー・プロセスのI/O待機 • System I/O: バックグランド・プロセスなどのI/O待機 • Other: 通常、システムでは発生しない待機 Copyright © 2021, Oracle and/or its affiliates. 10 Report Summary (Wait Classes by Total Wait Time) AWRレポート ※ Avg Wait Time (0になるものを削減するために) • 12cから小数点以下2桁まで表示 • 12.2からns(ナノ秒)やus(マイクロ秒)が追加

Slide 11

Slide 11 text

I/OのタイプごとのIOPSとスループット (Load Profileはアプリケーション・アクテビティのI/Oのみ) • 性能がストレージの限界を超えていないかなど (詳細はMain ReportのIO Stats) AWRレポート Copyright © 2021, Oracle and/or its affiliates. 11 Report Summary (IO Profile) Total Requests Total (MB) アプリケーション・アクテビティ以外 (redo、バックアップとリカバリ、その他のユーティリティ) も含むI/O (physical read/write total IO requests, physical read/write total bytes) Database Requests Database (MB) アプリケーション・アクテビティのDBブロックI/O (主にバッファ・キャッシュ経由とダイレクト・パス) physical read/write IO requests, physical read/write bytes Optimized Requests Optimized Total (MB) フラッシュ・キャッシュ、ストレージ索引(リードのみ)のI/O (physical read/write requests optimized, physical read/write total bytes optimized) Redo Requests / Redo (MB) RedoログのI/O (redo writes, redo block written) Via Buffer Cache (Blocks) バッファ・キャッシュ経由のリード/ライト・ブロック数 (physical reads cache/physical writes from cache) Direct (Blocks) ダイレクト・パス・リード/ライトのブロック数 (physical reads/writes direct)

Slide 12

Slide 12 text

Main Report Wait Events Statistics • Time Model stats, OS Stats, Foregroud/Backgrond, History, ... , Top 10 Channel Waits (12.2) SQL Statistics • (Elapsed, CPUme, User I/O Wait) Time, Gets, Reads, Exec, … Instance Activity Statistics • 統計情報 (v$statname), Instance Activity Stats (11.2.0.4からKeyだけ のものが追加) IO Stats • IO Stat by Function/Filetype summary, Tablespace/File IO Stats Buffer Pool Statistics • Buffer Pool Statistics, Checkpoint Activity Advisory Statistics • MTTR, Buffer Pool, PGA Memory, Shared Pool, SGA Target, … Wait Statistics • Buffer Wait Statistics (バッファ・キャッシュの待機), Enqueue Activity Undo Statistics • Undo Segment Summary, Undo Segment Stats Latch Statistics • Latch Activity, Mutex Sleep Summary, Parent/Child Latch Stats, … Segment Statistics • (Logical, Optimized, UnOptmized) Reads, (Physical, Direct Physical) Reads/Writes, Physical R/W Requests, Buffer Busy Waits, … Dictionary Cache Statistics • Dictionary Cache Stats, Dictionary Cache Stats (RAC) Library Cache Statistics • Library Cache Activity, Library Cache Activity (RAC) Memory Statistics • Memory Dynamic Componets, Memory Resize Ops Summary, Process/SGA Memory Summary, … Replication Statistics (GoldenGate, XStream) <=12c • GoldenGate Capture/Apply, XStream Capture/Apply, … Streams Statistics • Streams CPU/IO Usage, Capture, Apply, Buffered/Persistent Queues Resource Limit Statistics • Current/Maximum Utilization>80%のリソース統計(v$resource_limit) Shared Server Statistics • Shared Server Activity, Rates, Utilization, Common Queue, Dispatchers init.ora Parameters Active Session History (ASH) Report (12c) • Top SQL With Top Events/Top Row Sources, Top Sessions, Top Events, … ADDM Reports (12c) AWRレポート Copyright © 2021, Oracle and/or its affiliates. 12

Slide 13

Slide 13 text

Main Report (ASHレポートの補足) ASH(Active Session History)レポート • ASHは、1秒間隔のアクティブなセッション状態 (CPU状態または非アイドル待機状態) を格納している ので、問題のSQLを特定できない場合などに利用する • 短い期間にだけ実行された遅いSQLなど (AWRスナップショットのデフォルト間隔が1時間のため) • AWRレポートは実行回数が多いSQLが上位にきてしまう • ASHレポートは短い間隔での上位時間のものが出力される • Activity Over Time (アクティビティの経過:分析期間が分かる) • 待機イベントとSQLや実行計画を紐づける (AWRレポートでは待機イベントと紐づいていない) • Top SQL With Top Events (上位SQLの上位イベント)、 Top SQL with Top Row Sources (上位SQLの上位行ソース)など AWRレポート Copyright © 2021, Oracle and/or its affiliates. 13

Slide 14

Slide 14 text

RAC Statistics、Exadata Configuration and Statistics RAC Statistics • RAC Report Summary • Global Cache Load Profile • Global Cache Efficiency Percentages • Global Cache and Enqueue Services • Cluster Interconnect • Global Messaging Statistics • Global CR Server Statistics • Global Current Server Statistics • Global Cache Transfer Statistics • Interconnect Statistics • Dynamic Remastering Statistics Exadata Configuration and Statistics • Exadata Report Summary • Exadata Server Configuration • Exadata Server Health Report • Exadata Statistics AWRレポート Copyright © 2021, Oracle and/or its affiliates. 14

Slide 15

Slide 15 text

Avg Waitの出力(時間が短いものが0にならないように) • 12cから小数点以下2桁まで • 12.2からms(ミリ秒)以外にns(ナノ秒)とus(マイクロ秒)も追加 Main Reportのセクション追加 • Replication Statistics (GoldenGate, XStream) (12cから) • Active Session History (ASH) Report (12cから) • ADDM Reports (12cから) • Wait Events StatisticsのTop 10 Channel Waits (12.2から) • Reliable Message待機イベントで手動の検索が必要ない • gv/v&channel_waits, dba_hist_channel_waits Copyright © 2021, Oracle and/or its affiliates. 15 変更点 AWRレポート

Slide 16

Slide 16 text

Global(RAC)レベル (11.2から) RACの全インスタンスに関するAWRレポート レポートヘッダー • Database Summary • Database Instances Included Report Report Summary • Cache Size Main Report • OS Statistics • OS Statistics By Instance • Time Model Statistics • Time Model, Time Model - % of DB time • Wait Events Statistics • Foreground Wait Classes, Top Timed (Fore/Back) Events • Global Activity Load Profile • System Stats, SysStat and Global Messaging, … • Global Cache and Enqueue Statistics Summary • Global Cache and Enqueue Messaging Statistics, … • Global CR Served Stats • CR Blocks Served Statistics • Global CURRENT Served Stats • Current Blocks Served Statistics • Global Cache Transfer Stats • Global Cache Transfer Stats, Global Cache Transfer (Immediate) • Interconnect Stats • Cluster Interconnect, Ping Stats, Dynamic Remastering Stats, … • SQL Statistics • Elapsed/CPU/User IO/Cluster Wait Time, Gets, Reads, Exec, … • Global Activity Statistics • System Stats (Global), Global Messaging Stats (Global), … • I/O Statistics • IOStat by Function/FileType, Segment Stats (Global) • Library Cache Statistics • Library Cache Activity • Memory Statistics • PGA Aggregate Target Stats, Process Memory Summary • Supplemental Information • Init.ora (Multi-valued) Parameters, Complete List of SQL Test AWRレポート Copyright © 2021, Oracle and/or its affiliates. 16

Slide 17

Slide 17 text

PDBレベル (12.2から) PDBレベル・スナップションのAWRレポート • PDBレベルのスナップショットの自動取得 • 初期化パラメータAWR_PDB_AUTOFLUSH_ENABLED (デファルトFALSE) AWRレポート Copyright © 2021, Oracle and/or its affiliates. 17 CDBレベルのMain Report PDBレベル Wait Events Statistics 〇 SQL Statistics 〇 Instance Activity Statistics 〇 IO Stats 〇 Buffer Pool Statistics × Advisory Statistics × Wait Statistics 〇 Undo Statistics 〇 Latch Statistics × Segment Statistics × Dictionary Cache Statistics × Library Cache Statistics × Memory Statistics × Replication Statistics (GoldenGate, Xstream) × Dictionary Cache Statistics × Stream Statistics × Resource Limit Statistics × Init.ora Parameters 〇 Active Session History (ASH) Report 〇 ADDM Reports 〇 CDBレベルのReport Summary PDBレベル Load Profile 〇 Instance Efficiency Percentage × Top 10 Foreground Events by Total Wait Time 〇 Wait Classes by Total Wait Time 〇 Host CPU × Instance CPU × IO Profile 〇 Memory Statistics × Cache Size × Shared Pool Statistics ×

Slide 18

Slide 18 text

Program agenda Copyright © 2021, Oracle and/or its affiliates. 18 分析の流れ AWRレポート AWRの機能拡張 2 3 1

Slide 19

Slide 19 text

1. ADDMレポートに参考になるものがないか確認する 2. 問題のないAWRがあればAWR期間比較レポートを使用する 3. AWRレポートのReport Summaryを見てデータベース全体の稼働状況を分析する (まずは インスタンス・チューニングで改善できないか確認し、できなければ問題のSQLを特定す る。必要に応じてMain Reportを参照する) 4. AWRレポートだけで問題のSQLが特定できないときはASHレポートを使用する 5. 問題のSQLが特定できたらSQLチューニングを行う (第38回) 分析の流れ Copyright © 2021, Oracle and/or its affiliates. 19 ADDM期間比較レポート • 最適に動作していたときのAWRと比較して、異なるパフォーマンス属性を識別する方が簡単に問題 を特定できる (そのため、二つのAWR期間を比較するAWR期間比較レポートが提供されている) • AWRスナップショットはデフォルトで8日を超えると自動的に削除される (正常なAWRスナップ ショット・ペアをベースラインに設定すると削除されない)

Slide 20

Slide 20 text

三つの重要なセクション (問題の特定を行う) • Load Profile (負荷状況) • データベースの何かが正しく機能していないことを示すものではない • 正常値に対してどれだけ負荷が増えているか (またはリソースの限界値に対してどうか) • I/OはIO Profileも参考にする • Instance Efficiency Percentages (インスタンス効率) • メモリ (Buffer Cache、Log Buffer、Shared Pool、Flash Cache、PGA) の使用状況 • Memory Statistics, Cache Size, Shared Pool Statisticsも参考にする • 低い値に関連する”xxxx Advisor”を確認する • 関連する上位待機イベントも確認する (上位でなければ効果がない) • Top 10 Foreground Events by Total Wait Time (上位の待機イベント) • どの待機イベントがパフォーマンスに最も影響しているか • DB CPUが先頭の場合はCPU使用状況 (Host CPU, Instance CPU) を見てみる • CPUに余裕があるのであれば改善する必要はない • 上位待機イベントに関連する”SQL ordered by xxxx”を参照して問題のSQLを特定する Copyright © 2021, Oracle and/or its affiliates. 20 Report Summary 分析の流れ 12cから”Top ADDM Findings by Average Active Sessions”が追加されているので、 まずは参考になるものがないか確認する

Slide 21

Slide 21 text

負荷状況 • データベースの負荷を毎秒やトランザクション の単位で知ることができる • DB Time, Transactions, Hard Parse, Redo Size, Physical Read/Writeなどの値から • データベースの何かが正しく機能していない ことを示すものではない • 正しい判断をしたい場合は、問題のないAWR レポート (最低1つか2つ) と比較する • I/Oが増えている場合は特定のセグメントが増えて いないかなどを確認してみる (Segment Statistics) Copyright © 2021, Oracle and/or its affiliates. 21 Report Summary : Load Profile AWRレポート ** ** 11.2.0.4で追加 ** : 12cで追加 ※ Per SecondのDB CPU(s) CPUsと比較することで負荷レベルが分かる (CPUs=48に近い場合はCPUバウンドであることを意 味する)

Slide 22

Slide 22 text

アプリケーションのタイプによって解決することが異なる • 以下のように負荷のタイプを判断して分析を行う Copyright © 2021, Oracle and/or its affiliates. 22 Report Summary : Load Profile AWRレポート タイプ 負荷の特徴 注目するポイント OLTP ・Physical Readが少ない(Logical readは多い) ・Writeが多い ・小さなTransactionsが多い ・User calls/Parsesが多い Redo/Undoや索引アクセス(Sequential Read)の問題を探す DSS/ DWH ・Physical/ Logical Readが多い ・Writeが少ない ・SQL Work Areaが多い(TEMP I/Oの発生も) ・Transactionsが少ない ・User calls/Parsesが少ない PGAやフル・スキャン(Scattered Read/ Direct Path Read)の問題を探す

Slide 23

Slide 23 text

インスタンスが効率よく稼働しているかを確認 • 100%に近づくほど良い(以下が参考値) - 80%以上:%Non-Parse CPU - 90%以上:Buffer Hit%、In-memory Sort%、Sort Parse% - 95%以上:Library Hit%、Redo Nowait%、Buffer Nowait% - 98%以上:Latch Hit% • Execute to Parse%、Parse CPU to Parse Elapsed%、Flash Cache Hit% (目標値はない) • 可能な範囲で近づける Copyright © 2021, Oracle and/or its affiliates. 23 Report Summary : Instance Efficiency Percentages (Target 100%) AWRレポート 12cから追加

Slide 24

Slide 24 text

Report Summary : Instance Efficiency Percentages (各項目の説明) Buffer Hit% • 必要なデータがバッファ・キャッシュにあった割合 • (1 - ‘physical reads cache’ / (‘consistent gets from cache’ + ‘db block gets from cache’)) * 100 ・・・ Directは含まない • Buffer Pool Statistics, Buffer Pool Advisor/SGA Target Advisorを確認 Buffer Nowait% • バッファが即座に使用可能だった割合 • (1 - ‘Buffer Wait StatisticsのWAITS’ / ('consistent gets from cache’ + 'db block gets from cache’)) * 100 • Buffer Hit%と同じ対処以外に、Buffer Wait Statistics (バッファキャッ シュの待機)も確認する Library Hit% • 共有カーソルやオブジェクトがライブラリ・キャッシュに あった割合 (Library Cache Statisticsから) • SUM((1 - 'Pct Miss’ / 100) * 'Pin Requests’) / SUM('Pin Requests’) * 100 • 値が低いとSoft Parse%も低い (依存関係、同じ対処) Execute to Parse% (目標値はなし) • パースなしで実行された割合 • (1 - 'parse count(total)’ / ’execute count’) * 100 • session_cached_cursors(カーソルキャッシュ)を調整してパース削減 Parse CPU to Parse Elapsed% (目標値はなし) • パース時間に対するパースCPU時間の割合 • 'parse time cpu' / 'parse time elapsed’ * 100 • パースCPU時間以外(ラッチ競合などの待機)を確認 Redo Nowait% • Redoログが即座に使用可能だった割合 • (1 - 'redo log space requests’ / ’redo entries’) * 100 • Log Bufferが小さくないか (関係する待機イベントを確認する) In-memory Sort% • ソートがメモリ内で行われた割合 (ソート以外も確認) • ‘sort (memory)‘ / ('sort (disk)' + 'sort (memory)') * 100 • PGA Memory Advisor, プロセス最大サイズの確認 (第68回) Soft Parse% • ソフトパース (再利用されたパース) の割合 • (1 - 'parse count(hard)' / 'parse count(total)’) * 100 • Shared Pool Statistics, Shared Pool Advisor, SGA Target Advisorを確認 Latch Hit% • 全てのラッチのヒット率 (Latch Sleep Breakdownから) • (1 - (SUM(Misses) / SUM(Get Requests)) * 100 • ラッチ関連の待機イベント, Latch Statistics %Non-Parse CPU • パース以外で使用されたCPU時間の割合 • (1 - 'parse time cpu' / 'CPU used by this session’) * 100 • SQLを再利用させる (ソフトパースの割合を上げる) Flash Cache Hit% (目標値はなし) • Exadata Flash Cacheのヒット率 • 'cell flash cache read hits' / 'physical read total IO requests' * 100 AWRレポート Copyright © 2021, Oracle and/or its affiliates. 24

Slide 25

Slide 25 text

AWRレポート Copyright © 2021, Oracle and/or its affiliates. 25 Report Summary : Memory Statistics, Cache Size, Shared Pool Statistics Memory Statistics • メモリの使用状況 (開始時、終了時) • SGA use (自動メモリ管理でどう変化したか) • PGA use (PGAを実際に割り当てたサイズ) • 'PGA Aggr Target Stats'の'PGA Mem Alloc' Cache Size • SGAの使用状況 (開始時、終了時) • 自動SGA管理でどのように変化しているか • DBIMを使用しているか Shared Pool Statistics • 共有プールの使用状況 (Instance Efficiency Percentagesのパース関連補足) • Memory Usage % 共有プールのメモリ使用率 (開始時、終了時) : (1 - 'shared poolのfree memory' / shared_pool_size) * 100 • 無駄に使用されているか不足しているか (70%くらいが望ましい。サンプルは値が高すぎるので不足している) • 同一SQLが実行されている割合 (開始時、終了時) • % SQL with executions>1 : 再利用(2回以上実行)されたSQL文の割合 (100に近い値が望ましい) • % Memory for SQL w/exec>1 : 2回以上実行されたSQL文が使用したメモリの割合 (80%以上だと健全)

Slide 26

Slide 26 text

待機時間の長い上位10位のイベント • 上位の待機イベントを改善する • 関連するSQL Statisticsの”SQL ordered by xxxx”を参照して問題のSQLを特定する (第32回) • 判断できないときは”SQL ordered by Elapsed Time”から参照する (関連する”Segments by xxxx”も参考にする) • 改善には待機イベントの意味を知る必要がある • DB CPUが多いと他の待機イベントが少ないのでリソースが有効活用されていると判断できる • ただし、実行計画が最適でない場合もある • 代表的な待機イベント • I/O (第26回) • Avg Waitに注意 • エンキュー (第18回) • 共有カーソル (第32回) • ライブラリ・キャッシュ・オブジェクト (第50回) Copyright © 2021, Oracle and/or its affiliates. 26 Report Summary : Top 10 Foreground Events by Total Wait Time AWRレポート

Slide 27

Slide 27 text

enq: IV – contention (InValidation) • ライブラリ・キャッシュ無効化 (DDLなど) の待機 cell single block physical read • 単一ブロック・リード (索引スキャン) の待機 • 非Exadataのdb file sequential read Library cache lock • ライブラリ・キャッシュ・オブジェクトにアクセス するときに獲得するロックの待機 log file sync • commitによるログ・ファイル書込みの待機 PGA memory operation (12.2から) • PGAメモリ操作 (割り当て、解放) の待機 row cache mutex (12.2から) • latch: row cache objectsからの置き換わり • row cache (ディクショナリ・キャッシュ) の変更で 獲得するmutexの待機 Disk file operations I/O • ディスク・ファイル操作 (オープン, クローズ, 検索, サイズ変更など) の待機 latch free • 定義されたラッチ(latch: xxxx)以外の待機 library cache: mutex X (11gから) • latch: library cacheからの置き換わり • ライブラリ・キャッシュを変更 (ハード・パースな ど) するために獲得するmutex Xの待機 Copyright © 2021, Oracle and/or its affiliates. 27 Report Summary : Top 10 Foreground Events by Total Wait Time (待機ベントの説明) AWRレポート

Slide 28

Slide 28 text

CPU使用状況 • スナップショット間の平均値のためスパイク (急激な上昇) の判断はできない (OS統計も確認する) AWRレポート Copyright © 2021, Oracle and/or its affiliates. 28 Report Summary : Host CPU, Instance CPU Host CPU Load average Begin/End 分単位の平均負荷 (TOPコマンドの直近1分間のload average) の開始時/終了時 (OSスケジューラによる実行を待機している平均プロセス数) %User, %System, %WIO, %Idle OS統計のCPU使用率 Instance CPU %Total CPU インスタンスのCPU使用率 ("DB CPU"+"background cpu time") / ((BUSY_TIME+IDLE_TIME)/100) * 100 %Busy CPU マシンのCPU時間に対するインスタンスのCPU時間の割合 ("DB CPU"+"background cpu time") / (BUSY_TIME/100) * 100 %DB time Waiting for CPU リソース・マネージャでCPU待機した割合

Slide 29

Slide 29 text

Program agenda Copyright © 2021, Oracle and/or its affiliates. 29 AWRレポート 分析の流れ AWRの機能拡張 2 3 1

Slide 30

Slide 30 text

12cの機能拡張 (第67回) ASH分析 • 期間を任意に (5分固定ではなく) できるようになり、ASHレポートもグラフィカルに画面で見れるよ うになっている (様々な角度から分析できるようになっている) 期間比較ADDM • AWR期間の比較を診断して、期間比較ADDMレポートを生成できるようになった リアルタイムADDM • AWRスナップショットごとのADDMよりも細かい間隔で診断する (メモリ上のASHデータを使用) • 3秒間隔で問題検出 (しきい値) チェックを行いレポートを作成する (スパイクなどの問題も検出できる) リアルタイム・データベース操作監視 • リアルタイムSQL監視は、単一のSQLだけを監視していましたが、データベース操作として単一の SQLと複合データベース操作のどちらも監視できるようになった AWRからのSQL監視レポート AWRの機能拡張 Copyright © 2021, Oracle and/or its affiliates. 30

Slide 31

Slide 31 text

12cの機能拡張(AWRからのSQL監視レポート) これまで共有プール上にデータがあるときに出力する必要があったSQL監視レポートを、 Oracle12cからAWRスナップショットから出力できるようになった (Oracle Tuning Packが必要) ① レポートIDの取得 dba_hist_reportsビューにcomponent_name=‘sqlmonitor’(key1に出力したいSQL_ID)を指定して検索 ② SQL監視のレポート形式を指定して出力 DBMS_AUTO_REPORT.REPORT_REPOSITORY_DETAILファンクションにレポートIDとレポート形式を指定する AWRの機能拡張 Copyright © 2021, Oracle and/or its affiliates. 31 SQL> SELECT snap_id, report_id, TO_CHAR(generation_time,'YY-MM-DD HH24:MI:DD'), key1 2 FROM dba_hist_reports WHERE component_name='sqlmonitor' AND key1='f07zaxy71dfp5'; -- ① SNAP_ID REPORT_ID TO_CHAR(GENERATIO KEY1 ---------- ---------- ----------------- ------------------------------ 1038 2124 18-06-26 17:48:26 f07zaxy71dfp5 1038 2125 18-06-26 17:58:26 f07zaxy71dfp5 SQL> set pages 0 set linesize 1000 SQL> set long 1000000 set longchunksize 1000000 SQL> select DBMS_AUTO_REPORT.REPORT_REPOSITORY_DETAIL(2125, 'TEXT') report from dual; -- ② SQL Monitoring Report …

Slide 32

Slide 32 text

まとめ • ADDMレポートやASHレポートを有効に活用する • Report Summaryで問題を特定する • バージョン・アップするごとにより使いやすくなっている (最新のものがより使いやすい) AWRの概要 Copyright © 2021, Oracle and/or its affiliates. 32

Slide 33

Slide 33 text

Oracle Technology Night #43 Automatic Workload Repository(AWR)の分析 第二部(サンプルAWRレポートを使用した分析) 津島 浩樹 日本オラクル株式会社 テクノロジー・ソリューション・エンジニアリング本部 2021年 4月13日

Slide 34

Slide 34 text

サンプル1 • ADDMレポートやASHレポートを使用しない場合 • Exadata環境(上位イベントは、CPU、I/O、共有カーソル) サンプル2 • ADDMレポートやASHレポートを使用する場合 • CPU と I/O の負荷が高いもの AWRサンプルを使用した分析 Copyright © 2021, Oracle and/or its affiliates. 34

Slide 35

Slide 35 text

サンプル1 ADDMレポートやASHレポートを使用しない場合 • Exadata環境で多少負荷が高いレベル AWRサンプルを使用した分析 Copyright © 2021, Oracle and/or its affiliates. 35

Slide 36

Slide 36 text

サンプル1(上位待機イベントの説明) • cell single block physical read • 索引スキャンの待機 • cursor: pin S wait on X • 共有カーソルの排他Mutexに対する共有Mutex獲 得の待機(共有カーソルのINVALIDなど) • resmgr: cpu quantum • リソース・マネージャによるCPUの待機 • gc cr block busy • Global Cache(RAC)のCRブロック・アクセス競合 による待機 • log file sync • CommitによるRedoログ書込み待ち • gc current grant busy • Global Cache(RAC)のCURRENTブロック・アクセ スのためのロック競合による待機 • gc cr multi block request • Global Cache(RAC)のCR Blockのマルチ・ブロッ ク受信に対する待機 • cell multiblock physical read • フル・スキャン (非Exadataのdb file scattered read) の待機 • buffer deadlock • Buffer獲得の競合によるデットロック AWRサンプルを使用した分析 Copyright © 2021, Oracle and/or its affiliates. 36

Slide 37

Slide 37 text

サンプル2(1) ADDMレポートやASHレポートを使用する場合 (CPU と I/O の負荷が高いもの) AWRサンプルを使用した分析 Copyright © 2021, Oracle and/or its affiliates. 37

Slide 38

Slide 38 text

サンプル2(2) ADDMレポートやASHレポートを使用する場合 (CPU と I/O の負荷が高いもの) AWRサンプルを使用した分析 Copyright © 2021, Oracle and/or its affiliates. 38

Slide 39

Slide 39 text

ご視聴 ありがとうございました 39 Copyright © 2021, Oracle and/or its affiliates Copyright © 2021, Oracle and/or its affiliates

Slide 40

Slide 40 text

No content