Slide 1

Slide 1 text

AWRを基本からおさらいしよう 日本オラクル株式会社 テクノロジー事業戦略統括 テクノロジー・クラウド・エンジニアリング本部 データベースソリューション部 2021/2/12

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. Copyright © 2021, Oracle and/or its affiliates, 4

Slide 3

Slide 3 text

1. AWRとは? 2. AWRの仕組み 3. 取得方法、レポート出力方法 4. レポートの基本的な見方 5. 利用できるツール 6. 参考リンク Agenda Copyright © 2021, Oracle and/or its affiliates, 5

Slide 4

Slide 4 text

1. AWRとは? 2. AWRの仕組み 3. 取得方法、レポート出力方法 4. レポートの基本的な見方 5. 利用できるツール 6. 参考リンク Agenda Copyright © 2021, Oracle and/or its affiliates, 6

Slide 5

Slide 5 text

データベースのパフォーマンス診断のための統計情報リポジトリ Automatic Workload Repository/自動ワークロード・リポジトリ 10gから導入されたOracle Databaseの稼働統計とワークロード情報のスナップショットを自動的に収集/管理する機能 Enterprise EditionのオプションであるDiagnostic Pack が必要 AWRとは何? Copyright © 2021, Oracle and/or its affiliates, 7

Slide 6

Slide 6 text

Management Packの1つでOracle Databaseの性能を可視化、ボトルネックを特定するための機能を提供 代表的な機能 • AWR (Automatic Workload Repository/自動ワークロードリポジトリ) • ADDM (Automatic Database Diagnostic Monitor/自動パフォーマンス診断) • ASH(Active Session History/アクティブ・セッション履歴) • ほか、AWR ウェアハウス、期間比較など 利用可能なOCI Databaseサービス • Enterprise Edition以上のDBCS、ADB/ExaCSで利用可能 (BYOL to PaaSはオプション保有していない場合も 利用可能) ライセンス価格 • Processor ライセンス: 900,000円/プロセッサ • Named User Plusライセンス : 18,000円/NUP (最小ユーザ数:25NUP) Oracle Diagnostics Packとは 8 Copyright © 2021, Oracle and/or its affiliates,

Slide 7

Slide 7 text

StatspackとAWRの比較 Statspack • Oracle 8.1.6~ • エディション制限なし、オプションライセンス不要 • インストールスクリプトによるインストールが必要 • 取得、削除はパッケージの実行が必要 • スクリプト提供 • 自動化はjob,cronなどを利用 • Oracle Databaseのジョブスケジューラ登録スクリプトを 提供 • レポート形式はテキストのみ AWR Oracle10g~ • Enterprise Edition+レポート出力はDiagnostic Packが 必要 • インストール不要 • 取得、削除などの管理がデフォルトで設定済み(変更可 能) • 1時間ごと取得、保存は8日間 • 取得方法、レポートの改良(性能、出力形式、種類) • Diagnostic Packのほかの機能との連携やEMとの連携 Standard EditionやOn-PでDiagnostic packがない場合はStatspack Copyright © 2021, Oracle and/or its affiliates, 9 StatspackはOracle8.1.6以降のOracle Databaseであれば利用可能、 AWRはStatspackの進化版で使いやすさ、機能面も充実しているがエディション、ライセンスが必要 =お客様のエディション、ライセンスによって使い分け 進化

Slide 8

Slide 8 text

ヘルスチェックやトラブルシューティングで利用します データベースのヘルスチェック • 平常時の状態(ベースライン)をしることでトラブルの切り分けを迅速化 • 時系列の傾向を知ることで適切なキャパシティプランニングを実現 障害発生時の調査 • サポートからのリクエスト AWRはどういうときに使うの? Copyright © 2021, Oracle and/or its affiliates, 10 データベースの安定稼働に 必要な仕組み 運用上必要

Slide 9

Slide 9 text

1. AWRとは? 2. AWRの仕組み 3. 取得方法、レポート出力方法 4. レポートの基本的な見方 5. 利用できるツール 6. 参考リンク Agenda Copyright © 2021, Oracle and/or its affiliates, 14

Slide 10

Slide 10 text

統計情報が取得される仕組み MMON(Management Monitor)プロセスがメモリ(SGA領域)から情報を取得 • SQLを使用しないカーネル・コールのため負荷が少ない デフォルトの設定 • 60分毎にスナップショット(ある時点に収集されたパフォーマンス統計データの集合)が生成 • SYSAUX表領域に8日間保存される(10gR2以前は7日間) AWRの仕組み Copyright © 2021, Oracle and/or its affiliates, 15

Slide 11

Slide 11 text

AWR利用のイメージ ある2つの時点で取得したデータの差分を元にその間のパフォーマンス統計データを結果レポートに出力 AWRの仕組み 16 アプリケーションの実行 B-Aの値をもとに、統計データを出力 B時点 データ取得 A時点 データ取得 Copyright © 2021, Oracle and/or its affiliates,

Slide 12

Slide 12 text

スナップショットとレポート スナップショット:ある時点に収集されたパフォーマンス統計データの集合 スナップショットID:スナップショットを取得する度に自動生成される一意な番号(snap_id) AWRの仕組み 17 アプリケーションの実行 B-Aの値をもとに、統計データを出力 B時点 データ取得 A時点 データ取得 スナップショット スナップショット snap_id 1 snap_id 2 レポート(snap_id2とsnap_id1の差分を出力) Copyright © 2021, Oracle and/or its affiliates,

Slide 13

Slide 13 text

スナップショットとレポートの関係 スナップショットの統計値はインスタンス起動時からの累積値→レポートはインスタンス再起動をまたぐと意味がなくなる AWRの仕組み Copyright © 2021, Oracle and/or its affiliates, 18 時間 インスタンス統計値 (インスタンス起動時からの累積値) snapshot id=100 snapshot id=101 snapshot id=102 id=100-101のレポート id=101-102のレポート 再起動 snapshot id=103 id=102-103のレポート は無効!

Slide 14

Slide 14 text

1. AWRって何? 2. AWRの仕組み 3. 取得方法、レポート出力方法 4. レポートの基本的な見方 5. 利用できるツール 6. 参考リンク Agenda Copyright © 2021, Oracle and/or its affiliates, 19

Slide 15

Slide 15 text

Oracle Enterprise ManagerまたはDBMS_WORKLOAD_REPOSITORYパッケージを利用 AWRの管理操作 • AWRの有効化/無効化 • 設定の確認、変更 • スナップショットの手動取得/削除/スナップショットIDの確認 • レポートの出力 Oracle Enterprise ManagerまたはSQLを利用 実行ユーザは管理者権限(DBAロール)が必要 AWRの管理 Copyright © 2021, Oracle and/or its affiliates, 20

Slide 16

Slide 16 text

初期化パラメータCONTROL_MANAGEMENT_PACK_ACCESS 初期化パラメータCONTROL_MANAGEMENT_PACK_ACCESS データベースでアクティブにするOracle Management Packを指定、PDBで変更不可 • NONE:なし • DIAGNSOTIC:Diagnostic Packのみ使用 • DIAGNOSTIC+TUNING(デフォルト):Diagnostic PackとTuning Packを使用 確認方法 AWRの有効化/無効化 Copyright © 2021, Oracle and/or its affiliates, 21 SQL> connect / as sysdba SQL> select value from v$parameter where name =‘control_management_pack_access’; VALUE -------------------------------------------------------------------------- DIANOSTIC+TUNING

Slide 17

Slide 17 text

初期化パラメータSTATISTICS_LEVEL 初期化パラメータSTATISTICS_LEVEL 自動管理機能に必要な統計情報のレベルを制御、PDBで変更可能 • ALL:追加の統計収集のためのオーバーヘッドがあるためトラブルシューティングなど限定での利用 • TYPICAL(デフォルト):ほとんどの環境に適している • BASIC:AWR、アドバイザなど多くの機能が無効になるためお薦めしない 確認方法 統計情報の取得レベルの設定 Copyright © 2021, Oracle and/or its affiliates, 22 SQL> connect / as sysdba SQL> select value from v$parameter where name ='statistics_level'; VALUE -------------------------------------------------------------------------- TYPICAL

Slide 18

Slide 18 text

DBA_HIST_WR_CONTROLビュー DBA_HIST_WR_CONTROLビュー スナップショット取得間隔と保持期間設定を確認できる 保持期間を過ぎたスナップショットは自動的に削除される 例:取得間隔(SNAP_INTERVAL)が1時間、保持期間(RETENSION)が8日間 <デフォルト> AWR設定の確認 Copyright © 2021, Oracle and/or its affiliates, 23 SQL> select * from dba_hist_wr_control; DBID SNAP_INTERVAL RETENTION TOPNSQL ---------- -------------------- -------------------- -------------------- 1995064224 +00000 01:00:00.0 +00008 00:00:00.0 DEFAULT

Slide 19

Slide 19 text

DBMS_WORKLOAD_REPOSITORYパッケージ AWRスナップショットの取得間隔と保持期間を変更できる • スナップショット設定の変更:DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTING 指定できる値の範囲 retention : 最小1日、最大1年 interval : 最小10分、最大1年 例:間隔(interval)を30分、保持期間(retention)を2週間にする AWRスナップショット取得間隔と保持期間の変更 Copyright © 2021, Oracle and/or its affiliates, 24 /* 2 =60*24*14=20160 */ SQL> begin dbms_workload_repository.modify_snapshot_settings (interval => 30,retension=>20160); end; / /* */ SQL> select * from dba_hist_wr_control; DBID SNAP_INTERVAL RETENTION ---------- -------------------- -------------------- 1995064224 +00000 00:30:00.0 +00014 00:00:00.0

Slide 20

Slide 20 text

留意点 推奨は1つのワークロード・サイクル全体で収集できるように期間設定(可能な場合) • 週末にピーク(例:バッチジョブ)がくる週単位⇒デフォルトの保存期間で大丈夫 • 月末にピーク(例:月次処理)が来る月単位⇒1か月の保存期間があったほうがいい AWRが格納される表領域のサイズに注意(SYSAUX表領域) • 同時アクティブ・セッション数が平均10の標準的なシステムの場合、スナップショットごとに1MB~2MBを使用するため、 デフォルト設定(1時間1回取得)では1日約24MB~48MB必要 • 詳細な利用状況は$ORACLE_HOME/rdbms/admin/awrinfo.sqlで確認可 • デフォルトは自動拡張ON AWRスナップショット取得間隔と保持期間の変更 Copyright © 2021, Oracle and/or its affiliates, 25

Slide 21

Slide 21 text

データベースの作成時に自動で作成される表領域 AWRやADDMなどさまざまなデータベースコンポーネント用の領域として自動で作成される表領域 • 利用状況やワークロードによって増加する 格納データの確認方法 • V$SYSAUX_OCCUPANTS ビュー • (AWRのコンポーネントのみ)$ORACLE_HOME/rdbms/admin/awrinfo.sql SYSAUX表領域が利用できなくなった場合はSYSAUX表領域を利用する機能が影響を受ける • コア機能は利用可能 運用管理については以下のNoteを参照 • SYSAUX表領域の領域使用に関するガイドライン (Doc ID 2354751.1) (参考)SYSAUX表領域とは? Copyright © 2021, Oracle and/or its affiliates, 26

Slide 22

Slide 22 text

DBMS_WORKLOAD_REPOSITORYパッケージとDBA_HIST_SNAPSHOTビュー スナップショットを手動で取得することが可能(レベル変更も可) • スナップショットの手動取得:DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT • スナップショットの情報確認:DBA_HIST_SNAPSHOTビュー 例:手動でスナップショットを取得後、スナップショットIDと取得時刻を時刻順で表示 AWRスナップショットの手動取得とスナップショット情報の確認 Copyright © 2021, Oracle and/or its affiliates, 27 SQL> execute dbms_workload_repository.create_snapshot(‘TYPICAL'); PL/SQL procedure successfully completed. SQL> select snap_id,end_interval_time from dba_hist_snapshot order by 2; SNAP_ID END_INTERVAL_TIME ---------- ------------------------------ 28 15-SEP-20 06.38.12.503 AM 29 15-SEP-20 06.49.38.295 AM

Slide 23

Slide 23 text

スナップショット手動取得のユースケース 負荷が高い時間や処理が特定できている場合 予め負荷の高い時間や処理が特定できている場合は、その前後でスナップショットを取得し、レポートを出力する AWRスナップショットの手動取得 Copyright © 2021, Oracle and/or its affiliates, 28 高負荷時間帯の前後にスナップショットの取得を実行し、その間のレ ポートを出力することで、高負荷時間帯の診断情報が取得できます。 なお、デフォルトのAWRの自動取得が実行されている場合はそれらを停 止していない限り、自動でもスナップショットは実行されます。 ※スナップショットの実行には、統計情報を DB に格納するため CPU リソース等若干使われますが、デフォルトのレベルであれば 通常問題ありません。

Slide 24

Slide 24 text

awrrpt.sqlスクリプト 次の提供済みスクリプトを実行することで取得した AWR のスナップショットからレポートを生成できる • $ORACLE_HOME/rdms/admin/awrrpt.sql 手順 1. 管理者権限(DBAロール)を持つユーザで接続し実行 2. 対話式で必要な情報を入力(スナップID(リスト表示される)、レポート形式など) 3. カレントディレクトリにレポート出力 AWRレポートの生成 Copyright © 2021, Oracle and/or its affiliates, 29

Slide 25

Slide 25 text

awrrpt.sql実行例 AWRレポートの生成 Copyright © 2021, Oracle and/or its affiliates, 30 SQL> @$ORACLE_HOME/rdbms/admin/awrrpt.sql Current Instance Specify the Report Type ~~~~~~~~~~~~~~~~~~~~~~~ Enter value for report_type: Specify the number of days of snapshots to choose from ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Enter value for num_days: Specify the Begin and End Snapshot Ids ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Enter value for begin_snap: Enter value for end_snap: Specify the Report Name ~~~~~~~~~~~~~~~~~~~~~~~ Enter value for report_name: Enter value for num_days: 1 Listing the last day's Completed Snapshots Snap Instance DB Name Snap Id Snap Started Level ------------ ------------ --------- ------------------ ----- es212c1 ES212C 3808 23 Feb 2017 00:00 1 3809 23 Feb 2017 01:00 1 3810 23 Feb 2017 02:00 1 3811 23 Feb 2017 03:00 1

Slide 26

Slide 26 text

留意点 • 指定した開始スナップショット(begin_snap)と終了スナップショット(end_snap)の間に再起動が間に含まれた場合はエ ラーになる • 基本的に出力項目は出力形式に関わらず同じだが、読みやすさと長いSQLでも省略されない点でHTML形式での 出力が望ましい • 時系列に稼働情報を見たい場合は、対象期間の最初と最後のスナップショットを指定するのではなく、間のスナップ ショットを利用した複数レポートが必要 • 性能問題調査では比較できるよう通常時とピーク時を含む期間の両方のレポートを生成することが望ましい AWRレポートの生成 Copyright © 2021, Oracle and/or its affiliates, 31 ×

Slide 27

Slide 27 text

DBMS_WORKLOAD_REPOSITORYパッケージ 保持期間が過ぎたスナップショットは自動的に削除されるが、手動で削除することも可能 • スナップショットの手動削除:DBMS_WORKLOAD_REPOSITORY.DROP__SNAPSHOT_RANGE 例:スナップショットIDを確認して特定範囲の削除を行う AWRスナップショットの削除 Copyright © 2021, Oracle and/or its affiliates, 32 SQL> select snap_id,end_interval_time from dba_hist_snapshot order by 2; SNAP_ID END_INTERVAL_TIME ---------- ------------------------------ 29 15-SEP-20 06.49.38.503 AM 28 15-SEP-20 06.38.12.295 AM SQL> execute dbms_workload_repository.drop_snapshot_range(28,29); PL/SQL procedure successfully completed.

Slide 28

Slide 28 text

デフォルト設定で基本は大丈夫 Multitenant デフォルトではCDBレベルで取得がされ、CDBのAWRに はPDBの情報も含まれる • 特定のPDBに限定したレポートをCDBのAWRから出 力可 PDBレベルの自動スナップショット管理はデフォルト無効、 基本は手動で取得 • PDBレベルで統計情報レベルは変更可 RAC デフォルトではすべての稼働インスタンスの情報が自動 取得される 統計情報はインスタンスごとに識別可 • RAC用のレポート作成スクリプトがある • インスタンスを指定したレポート作成可 手動取得はインスタンスごとに実施 気になる点 MultitenantやRACの場合はどうなりますか? Copyright © 2021, Oracle and/or its affiliates, 33 Multitenant,RACでもデフォルトの設定であればAWRが取得される 特定の対象のレポートはスクリプトを使って作成可能 Multitenant RAC

Slide 29

Slide 29 text

用途にあわせて複数提供 スクリプトの場所はすべて$ORACLE_HOME/rdbms/admin 接続しているローカル・データベース・インスタンスではない特定のデータベース・インスタンスのレポートを生成する場合は() を利用 AWRレポート用提供スクリプト 34 スクリプト名 生成されるレポート awrrpt.sql (awrrpti.sql) AWRレポートの生成 awrgrpt.sql(awrgrpti.sql) RAC環境でのAWRレポートの生成 awrsqrpt.sql(awrsqrpi.sql) AWR SQLレポートの生成 awrddrpt.sql(awrddrpi.sql) AWR期間比較レポートの生成 awrgdrpt.sql(awrgdrpi.sql) RAC AWR期間比較レポートの生成 Copyright © 2021, Oracle and/or its affiliates,

Slide 30

Slide 30 text

RAC構成インスタンスの情報をまとめて出力(グローバルレポート) RAC環境用のスクリプト(awrgrpt(i).sql)ではRAC構成インスタンスの情報をまとめて出力しますが、個別インスタンス用の スクリプト(awrrpt(i).sql)にもRAC構成の場合はRAC関連の統計情報が含まれます 気になる点 RAC環境用のレポートは何が違うの? Copyright © 2021, Oracle and/or its affiliates, 35 awrgrpt.sql awrrpt.sql インスタンス間の比較 例:どのインスタンスで最も 待機が発生しているか? インスタンスに特化 詳細を見るときはこちら

Slide 31

Slide 31 text

できます レポート生成方法 PDBに接続してからスクリプトを実行し、rootの AWR(AWR_ROOT)を選択します 出力されるAWRレポート ソースがCDBのAWRの場合は(root snapshots)と表示 PDBのAWRの場合は(PDB snapshots)と表示 気になる点 CDBのAWRからPDBのAWRレポートを生成できるの? Copyright © 2021, Oracle and/or its affiliates, 36 SQL> alter session set container=pdb1; SQL>@$ORACLE_HOME/rdbms/admin/awrrpt.sql : Specify the location of AWR Data ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ AWR_ROOT - Use AWR data from root (default) AWR_PDB - Use AWR data from PDB Enter value for awr_location:

Slide 32

Slide 32 text

CDBレベルとPDBレベルの違い 一般的なAWRデータ(General AWR Data) • CDB内のすべてのコンテナで参照可能なデータ • CDBレベル、PDBレベル両方のスナップショットに含まれる データベース・インスタンス全体のデータ(Database Instance-wide Data) • CDB内のすべてのコンテナの集計データ、CDB管理者に有益なデータ • CDBレベルのスナップショットにのみ含まれる PDB固有のデータ(PDB-Specific Data) • CDB内の各PDBの固有のデータ、PDB管理者に有益なデータ • 全体における影響を分析する意味でCDB管理者にも有益なデータ • CDBレベル、PDBレベル両方のスナップショットに含まれる (参考)Multitenant環境のAWRデータ 37 PDB AWR Report PDB AWR Report CDB$ROOT AWR Report AWR AWR AWR Copyright © 2021, Oracle and/or its affiliates,

Slide 33

Slide 33 text

GUI、SQLでAWRの取得が可能 AWRレポートはパフォーマンス・ハブから、または次のNoteに従ってSQLで取得可能 • SRDC - How to Collect Performance Information for Oracle Autonomous Data Warehouse Cloud Guarantee (Doc ID 2383565.1) デフォルトの自動取得設定は間隔が60分、保持期間は30日 ADBはPDBなので出力されるAWRレポートはPDBレベルの情報 気になる点 ADBの場合はどうなりますか? Copyright © 2021, Oracle and/or its affiliates, 38

Slide 34

Slide 34 text

サポートのビデオでご案内 考え方はAWRと同じですが、インストールが必要、定期取得したい場合はジョブ作成などが必要 My Oracle Supportでセットアップからジョブ作成、レポート出力まで動画で解説 • Document 2639025.1 [ビデオ] STATSPACK ガイド - Part1 • Document 2639026.1 [ビデオ] STATSPACK ガイド - Part2 気になる点 Statspackの場合は? Copyright © 2021, Oracle and/or its affiliates, 39

Slide 35

Slide 35 text

指定レベルで取得できる情報が異なる 詳細は 『Statistics パッケージ (STATSPACK) ガイド (Doc ID 2442569.1)』を参照 (参考)Statspackで取れる情報 40 スナップ ショット レベル 収集データ 基本統計 情報 アドバイス 情報 SQL統計 情報 SQL詳細 情報 セグメント 情報 ラッチ詳細 情報 Level 0 ○ ○ Level 5(デフォルト) ○ ○ ○ Level 6 ○ ○ ○ ○ Level 7 ○ ○ ○ ○ ○ Level 10 ○ ○ ○ ○ ○ ○ Copyright © 2021, Oracle and/or its affiliates, AWRはTypical(デフォルト)で Level7相当

Slide 36

Slide 36 text

1. AWRとは? 2. AWRの仕組み 3. 取得方法、レポート出力方法 4. レポートの基本的な見方 5. 利用できるツール 6. 参考リンク Agenda Copyright © 2021, Oracle and/or its affiliates, 41

Slide 37

Slide 37 text

様々な統計情報が取得される データベース・セグメントのアクセス情報 • セグメント使用量、I/O情報など 時間モデルの情報 • どの処理でどのくらい時間を消費したかの情報 • V$SYS_TIME_MODELや、V$SESS_TIME_MODEL動的パフォーマンス・ビューから収集 システム、セッションの統計 • V$SYSSTATやV$SESSTAT動的パフォーマンス・ビューから収集 負荷の高いSQLの情報 • 実行時間やCPUを消費した時間などに基づく 最新のセッション・アクティビティの履歴を表すASH統計 • 1秒毎にサンプリングしている、アクティブなセッション情報 AWRで取得される情報 Copyright © 2021, Oracle and/or its affiliates, 42

Slide 38

Slide 38 text

3つのセクションに分かれる AWRレポートの構成と確認ポイント Copyright © 2021, Oracle and/or its affiliates, 43 覚えておきたい確認ポイント Load Profile • Oracleデータベースに対する負荷の変化などを監視/ 比較 Instance Efficiency Percentages • インスタンスの使用効率(100%に近いほど効率がよ い) Top 10 Time Foreground Events • フォアグラウンドプロセスで処理時間が長い10(11gR1 以前は5)イベント SQL Statistics • 各処理におけるSQL文のランキング WORKLOAD REPOSITORY report 基本情報 データベースの基本情報とスナップショット情報 Report Summary 性能に関わる観点でサマリした統計情報 Main Report カテゴリ別の統計情報やASH、ADDMの情報

Slide 39

Slide 39 text

まずは基本情報 構成やレポート対象のスナップショット情報を表示 Elapsed • レポートの対象になっている期間(End-Begin) DB Time • すべてのデータベース内処理に要したセッション (フォアグランド)の合計時間 • CPU時間、I/O時間、非アイドル待機時間が含 む) AWRレポートの確認ポイント Copyright © 2021, Oracle and/or its affiliates, 44 構成は正しいか、またElapsedとDB Timeを比較し、どんな状態だったかを知る (CPUを全時間利用できた場合の時間(コア数*Elapsed)とDB Timeとの乖離がどれくらいか)

Slide 40

Slide 40 text

Load Profile データベースの処理量を表示 → システムの処理負荷や傾向を確認 • Redoサイズやディスク読み込みなどを確認、障害時は通常時との比較 AWRレポートの確認ポイント Copyright © 2021, Oracle and/or its affiliates, 45 Redo size :生成されたREDOサイズ(Byte) Physical reads :ディスクから直接読み出したブロック数 Physical writes :ディスクへ直接書き出したブロック数 Parses :解析コール数 Hard parses :コストの高い解析コール数 Logons :ログオン数 Executes : SQL文を実行するコール数 Transactions :トランザクション数 SQLの実行回数や、DB CPUから、システムの処理負荷を確認 (定常時の性能分析で普段システムにどの程度処理が流れているのかを確認し、障害時の性能分析時に処理負荷 を比較する)

Slide 41

Slide 41 text

Instance Efficiency Percentages(Target 100%) Oracleインスタンスの使用効率を表示 →ワークロードにあった使用効率かを確認し、インスタンスチューニングが必要かどうかを判断 • 100%に近づくほどよい • 各割合は参考値と比較してどうか、障害時は通常時と比較してどうか AWRレポートの確認ポイント Copyright © 2021, Oracle and/or its affiliates, 46 参考値 80%以上:%Non-Parse CPU 90%以上:Buffer Hit%、In-memory Sort%、Sort Parse% 95%以上:Library Hit%、Redo Nowait%、Buffer Nowait% 98%以上:Latch Hit% まずは提供されているメモリ自動調整機能が使用されているかを確認する もし、使用されていて割合が悪い場合はリソース不足やアプリの問題が考えられる

Slide 42

Slide 42 text

Top 10 Foreground Events AWRレポートの確認ポイント Copyright © 2021, Oracle and/or its affiliates, 47 処理時間が長い上位10番目までのイベントを表示 →パフォーマンスに影響を与えているイベントを確認し、チューニングが必要かどうかを判断する • 上位待機イベントを確認、障害時はさらに通常時との比較 Waits :イベントのために待機した合計回数 Time(s) :イベントの合計待機時間および合計CPU時間(秒) Avg wait(ms) :イベントの平均待機時間 % DB time :各イベントの割合(イベント時間 / 合計DB time) DB CPUが上位にある場合は、Oracleの処理として効率的にCPUが利用できているという観点から、ほとんどのケース は特に問題なし、CPU Timeが下位の場合は待機イベントが多いことを意味する

Slide 43

Slide 43 text

SQL Statistics AWRレポートの確認ポイント Copyright © 2021, Oracle and/or its affiliates, 48 各処理や時間におけるSQL文をランキング表示(デフォルトはTop30) →問題SQLの特定 • 各処理における上位SQLの確認、障害時は通常時との比較(SQL、傾向、実行回数) 例:合計Diskアクセス数が多いSQLのランキング 各値を確認する(ただし、全実行の合計であり、1回の実行での値ではないため、実行回数に注意が必要)

Slide 44

Slide 44 text

津島博士のパフォーマンス講座 第67回 効率的にAWR分析を行うための流れがまとめられています 1. (参考として)ADDMレポートを確認 2. 問題がないときのAWRがあればAWR期間比較レポートを使用 3. AWRレポートのReport Summary 4. AWRレポートのSQL統計 5. AWRレポートだけで特定できないときはASHレポートを使用 6. SQLが特定できたらSQLチューニング (参考)AWRの分析の流れ Copyright © 2021, Oracle and/or its affiliates, 49 https://blogs.oracle.com/otnjp/tsu shima-hakushi-index

Slide 45

Slide 45 text

Diagnostic Packで利用できる別の機能 ADDMレポート • ADDM分析の結果 • EMまたはDBBS_ADM.GET_REPORTで出力 • AWRレポートに含まれる(12c以降) 期間比較レポート(12c以降) • 異なる期間のAWRを比較(diff)したレポート • 一定期間の性能比較に利用 • EMまたはスクリプトで出力 ASHレポート • ASHは1秒間隔のアクティブなセッション状態をメモリ上に保持 • 10秒間隔にしたものはAWRスナップショットにも含まれ、AWR レポートに出力される(12c以降) (参考)ADDMレポート、期間比較レポート、ASHレポート Copyright © 2021, Oracle and/or its affiliates, 50 ADDMレポート例 期間比較レポート例抜粋 AWRレポート内のASHレポート

Slide 46

Slide 46 text

それぞれの特性を理解して利用 AWR 間隔:自動取得はデフォルト1時間、最小で10分間隔 情報:データベース全体の統計情報 • Top10など対象期間で上位を占める情報 ADDM:利用可 ユースケース: • データベース全体のスローダウン • データベースのヘルスチェック ASH 間隔:取得間隔は1秒または10秒間隔 情報:アクティブなセッションの情報 • AWRで上位に出てこない各セッションの情報 ADDM:利用不可 • Tuning Advisor(Tuning Pack))で ユースケース: • 特定のセッションの分析 • AWRの上位には出てこない短期間で完了するSQLや 特定セッションの情報 (参考)AWRとASHの特性 Copyright © 2021, Oracle and/or its affiliates, 51 AWRで全体的な傾向を分析し、ASHで影響を与える特定のセッション情報を分析する 特性を理解して両方使用することで効率的な分析を実現

Slide 47

Slide 47 text

1. AWRって何? 2. AWRの仕組み 3. 取得方法、レポート出力方法 4. レポートの基本的な見方 5. 利用できるツール 6. 参考リンク Agenda Copyright © 2021, Oracle and/or its affiliates, 52

Slide 48

Slide 48 text

Oracle環境に特化したシステム全体の運用管理ツール Oracle Enterprise Manager Copyright © 2021, Oracle and/or its affiliates, 53 オラクルの製品スタックと統合されたプ ラットフォーム Cloud、オンプレミス、ハイブリッド環 境を一括管理 開発~運用のライフサイクルを効率化

Slide 49

Slide 49 text

Diagnostic Packの機能をGUIでフル活用 Oracle Enterprise Manager Copyright © 2021, Oracle and/or its affiliates, 54 ASH分析 ADDM実行、結果表示 期間比較レポート(AWR/ADDM) AWR管理、レポート生成

Slide 50

Slide 50 text

複数のDBの統計情報を長期保存 AWR Warehouse 従来は標準で8日間しか保持しない統計情報を本番システムとは切り離された環境で長期間保存して分析 • 前日以前の分析が可能 • 中長期的なヘルスチェック/障害発生時の分析/キャパシティプランニングで有効 Oracle Enterprise Manager Copyright © 2021, Oracle and/or its affiliates, 55 Database 1 Database 2 Database 3 Database 1 スナップショット 履歴 Database 2 スナップショット 履歴 Database 3 スナップショット 履歴 スナップ ショット スナップ ショット スナップ ショット AWR Central Warehouse (リポジトリ) 2020/9時点 AWR WarehouseのPDB対応は今後予定 (Note#2579759.1)

Slide 51

Slide 51 text

こんなことをもしされているなら、AWR Warehouseかも Oracle Enterprise Manager 56 データベース1 データベース2 データベース3 シェル+ジョブなど シェルなど マクロなど コピペなど AWRレポートを 定期的に自動作成 レポート中のフィールド(Execute など)の値を抽出してCSVファイル へ ピボットテーブルなどを 駆使し、グラフ作成 会議用レポート作成 0 20,000 40,000 60,000 80,000 00:00 02:00 04:00 06:00 08:00 10:00 12:00 14:00 16:00 18:00 20:00 22:00 Copyright © 2021, Oracle and/or its affiliates,

Slide 52

Slide 52 text

AWRレポートのダウンロードが可能 AWRに関する機能 • パフォーマンスハブ(ASH/ADDM) • AWRレポートのダウンロード 19cはFlash版とJet版を選択できるが、JET版 にFlash版機能がすべて移行されていない • AWRレポートダウンロードを利用するときは Flash版を選択 21cではEnterprise Manager Expressは非推 奨です。将来的には利用できなくなりますので、 ほぼ同じ機能が利用できるOracle SQLDeveloperへの置き換えをご検討ください Enterprise Manager Expressはどうですか? Copyright © 2021, Oracle and/or its affiliates, 57

Slide 53

Slide 53 text

まとめ AWRとはパフォーマンス診断のためのOracle Databaseの統計情報リポジトリ • 10g以降、Enterprise Edition、Diagnostic Packでデフォルトで自動取得される • 利用できない場合はStatspack AWRレポートを取得し、分析することで、データベースの状態を知ることができる • データベースの状態を知ることはデータベースの安定運用に必要なこと(ヘルスチェック、障害対応) 正しくAWRレポートを取得することが重要 • 仕組み、取得、留意点 • 分析をしたい時間帯や処理は特定されているかどうかを事前に確認 AWR Copyright © 2021, Oracle and/or its affiliates, 59

Slide 54

Slide 54 text

1. AWRって何? 2. AWRの仕組み 3. 取得方法、レポート出力方法 4. レポートの基本的な見方 5. 利用できるツール 6. 参考リンク Agenda Copyright © 2021, Oracle and/or its affiliates, 60

Slide 55

Slide 55 text

ドキュメント 『Oracle Databaseパフォーマンス・チューニング・ガイド』 6 データベース統計の収集 『Oracleデータベース管理者ガイド』13.12 SYSAUX表領域の管理 『 Real Application Clusters管理およびデプロイメント・ガイド』 14.7 Oracle RAC環境における自動ワークロード・リポ ジトリ 『 PL/SQLパッケージおよびタイプ・リファレンス』 185 DBMS_WORKLOAD_REPOSITORY 参考資料 Copyright © 2021, Oracle and/or its affiliates, 61

Slide 56

Slide 56 text

MOS Notes • 自動ワークロード・リポジトリ(AWR) レポート - 主な情報リスト (Doc ID 2382252.1) • AWR レポート - ライセンス要件 (Doc ID 1988032.1) • FAQ: 自動ワークロード・リポジトリ (AWR) レポート (Doc ID 2386623.1) • データベース・パフォーマンス問題の診断のための AWR レポートの使用方法 (Doc ID 1592080.1) • Oracle マルチテナント・データベース (CDB, PDB) からの AWR スナップショットおよびレポート (Doc ID 2523048.1) • SRDC - How to Collect Performance Information for Oracle Autonomous Data Warehouse Cloud Guarantee (Doc ID 2383565.1) • FAQ-Statspack完全リファレンス (Doc ID 2348958.1) • [ビデオ] STATSPACK ガイド - Part1 (Doc ID 2639025.1) • [ビデオ] STATSPACK ガイド - Part2 (Doc ID 2639026.1) 参考資料 Copyright © 2021, Oracle and/or its affiliates, 62

Slide 57

Slide 57 text

外部向けブログ 津島博士のパフォーマンス講座 67回他 https://blogs.oracle.com/otnjp/tsushima-hakushi-index 基本からわかる!高性能×高可用性データベースシステムの作り方 12回、13回、14回 https://blogs.oracle.com/otnjp/kusakabe-index しばちょう先生の試して納得!DBAへの道 51回、52回 https://blogs.oracle.com/otnjp/shibacho-index 参考資料 Copyright © 2021, Oracle and/or its affiliates, 63

Slide 58

Slide 58 text

No content