Agenda はじめに 目的とゴール Part1の振り返り AWRを使用した性能分析 AWR 概要 AWRに格納される情報 AWR レポートにおける分析アプローチ AWR 確認ポイント Case Study AWRとアーキテクチャの関係 まとめ Part2のポイント まとめ Copyright 20

Similar documents
はじめに コース概要と目的 Oracle データベースのパフォーマンス問題の分析方法 解決方法を説明します 受講対象者 データベース管理者の方を対象としています 前提条件 データベース アーキテクチャ データベース マネジメント を受講された方 もしくは同等の知識 をお持ちの方 テキスト内の記述につ

以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらな

今さら聞けない!? Oracle入門 ~後編~

今さら聞けない!? Oracle入門 ~前編~

サポートエンジニアが語るパフォーマンス問題の原因調査とチューニング 日本オラクル株式会社データベーステクノロジーサポート本部 Principal Technical Support Engineer 田島教子

~~~~~~~~~~~~~~~~~~ wait Call CPU time 1, latch: library cache 7, latch: library cache lock 4, job scheduler co

実践!Oracle Enterprise Manager を使用した 簡単データベース管理 日本オラクル株式会社製品事業統括テクノロジー製品事業統括本部シニアセールスコンサルタント海老坂恵

untitled

How to Use the PowerPoint Template

Null

Oracle Direct Seminar <Insert Picture Here> 試験対策ポイント解説 Bronze DBA11g 日本オラクル株式会社

Null

以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらな

MaxGauge_診断分析プロセス

OWI(Oracle Wait Interface)の概要

以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらな

Slide 1

Enterprise Manager 10gによるデータベース・パフォーマンスチューニング

第 7 章 ユーザー データ用表領域の管理 この章では 表や索引を格納するユーザー データ用表領域の作成や 作成後のメンテナンスに ついて解説します 1. ユーザー データ用表領域の管理概要 2. ユーザー データ用表領域作成時の考慮事項 3. ユーザー データ用表領域の作成 4. ユーザー データ

Oracle 入門 ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルアップの一助とし

Agenda Oracle Database の概要 Oracle Databaseの内部構造 Oracle Databaseの処理の仕組み Oracle Database の管理 メモリの管理 領域の管理 Oracle Database の運用ポイント ( 概要 ) データベースの起動と停止 デー

Slide 1

PowerPoint プレゼンテーション

以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらな

これは何? ORACLE の内部状態を示す情報の一つである 待機イベントについて解説します 待機イベントを知ることで 一歩進んだパフォーマンスチューニングが出来ます また 待機イベントという切り口を通して ORACLE のアーキテクチャに対する理解を深めていきます なお ORACLE のバージョンは

第 5 章 結合 結合のパフォーマンスに影響を与える結合の種類と 表の結合順序について内部動作を交えて 説明します 1. 結合処理のチューニング概要 2. 結合の種類 3. 結合順序 4. 結合処理のチューニングポイント 5. 結合関連のヒント

第 3 章 メディア障害とバックアップ リカバリ この章では メディア障害の発生に備えたバックアップ方法と 障害時の基本的なリカバリ方法につい て説明します 1. メディア リカバリ概要 2. ファイルの多重化 3. アーカイブ モードの設定 4. バックアップ概要 5. 一貫性バックアップ ( オ

PA4

はじめに コースの概要と目的 Oracle をより効率的に使用するための SQL のチューニング方法について説明します また 索引の有無 SQL の 記述方法がパフォーマンスにどのように影響するのかを実習を通して理解します 受講対象者 アプリケーション開発者 / データベース管理者の方 前提条件 S

OracleDBA(パフォーマンスチューニング(SQL編) - コピー

スライド 1

以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらな

第 3 章代表的なチューニングポイント 3 Q. ストアド プロシージャを使用した SQL 共有率の向上 A. ストアド プロシージャを使用した場合 同じストアド プロシージャを実行する複数のユーザーが 同じ共有 PL/SQL 領域を使用します また ストアド プロシージャは解析済みで格納されている

以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらな

Agenda パフォーマンス チューニングとは ボトルネック箇所の特定 代表的なチューニング項目 メモリ割り当てのチューニング ディスクI/Oのチューニング SQL 文のチューニング Copyright 2010, Oracle. All rights reserved. 2

PowerPoint Presentation

アジェンダ Oracle サーバの見える化はなぜ必要? WebSAMApplicationNavigator で簡単 安心に監視を実現 Oracle 監視の導入コスト 2 NEC Corporation 2009

以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらな

以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらな

スライド 1

Oracle Database 10g Release 2を使用したデータベース・パフォーマンス

以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらな

ORACLE TUNING PACK 11G

以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらな

Oracle Web CacheによるOracle WebCenter Spacesパフォーマンスの向上

~ アドレス収集くん ~ セキュリティ対策御説明資料

自己管理型データベース: 自動SGAメモリー管理

Oracleデータベースを使用したEMC Symmetrix DMX-4

Oracle Database 12c Release 1 ( ) CoreTech Seminar

How to Use the PowerPoint Template

untitled

Slide 1

バッチ処理にバインド変数はもうやめません? バッチ処理にバインド変数はもうやめません?

ここからはじめる、Oracle データベース入門・アーキテクチャー編

本当は難しくない! Oracle Database の負荷テスト 日本オラクル株式会社製品戦略統括本部プリンシパルセールスコンサルタント中島良樹

以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらな

OracleDBA(パフォーマンスチューニング(SQL編) - コピー

意外と簡単!?Oracle Database 10g Release2 - データベース構築から運用まで - データベースの運用 - チューニング編 (Windows 版 ) Creation Date: Nov 2, 2005 Last Update: Nov 2, 2005 Version: 1

Slide 1

Microsoft Word - nvsi_050090jp_oracle10g_vlm.doc

スライド 1

untitled

Oracle SQL Developer Data Modeler

はじめに NEC と日本オラクル社は NEC のブレードサーバーシステム SIGMABLADE-H を利用し Linux プラットフォーム上で OracleRAC11g Release2 との組み合わせで線形な性能向上が可能であることを実証しました 本資料ではその検証結果について述べます 今回は 検

データセンターの効率的な資源活用のためのデータ収集・照会システムの設計


ホワイト ペーパー EMC VFCache により Microsoft SQL Server を高速化 EMC VFCache EMC VNX Microsoft SQL Server 2008 VFCache による SQL Server のパフォーマンスの大幅な向上 VNX によるデータ保護 E

以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらな

Slide 1

意外と簡単!? Oracle Database 11g -バックアップ・リカバリ編-

Oracle Data Pumpのパラレル機能

< 写真欄 > 11g R2 Real Application Clusters スキルチェック ポイント解説

以 下 の 事 項 は 弊 社 の 一 般 的 な 製 品 の 方 向 性 に 関 する 概 要 を 説 明 するものです また 情 報 提 供 を 唯 一 の 目 的 とするものであり いかなる 契 約 にも 組 み 込 むことは できません 以 下 の 事 項 は マテリアルやコード 機 能 を

アーカイブ機能インストールマニュアル

検証事例 富士通株式会社

データベース暗号化ツール「D’Amo」性能検証

意外と簡単

ソフト活用事例③自動Rawデータ管理システム

Slide 1

OPENSQUARE

以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらな

Oracle SQL Developerの移行機能を使用したOracle Databaseへの移行

目次 1. はじめに SSL 通信を使用する上での課題 SSL アクセラレーターによる解決 SSL アクセラレーターの導入例 SSL アクセラレーターの効果... 6 富士通の SSL アクセラレーター装置のラインナップ... 8

Oracle Tuning Pack

Oracle Database 11g Oracle Real Application Testing

(Microsoft PowerPoint - goupGold\224z\225z\227p.ppt)

アーカイブ機能インストールマニュアル

Slide 1

Oracle Database 監視製品の使い分け 2017 年 10 月日本電気株式会社クラウドプラットフォーム事業部 CLUSTERPROグループ

Oracle Direct 無償支援サービス ヒアリング・シート利用手順

MySQL研修コース & 資格のご案内

PHP 開発ツール Zend Studio PHP アフ リケーションサーハ ー Zend Server OSC Tokyo/Spring /02/28 株式会社イグアスソリューション事業部

CLUSTERPROXSingleServerSafe SingleServerSafe ご紹介 2007 年 10 月

Silk Central Connect 15.5 リリースノート

PowerPoint プレゼンテーション

スライド 1

CLUSTERPRO MC ProcessSaver 1.2 for Windows 導入ガイド 第 4 版 2014 年 3 月 日本電気株式会社

Web 環境におけるレイヤー別負荷の 2 違い DB サーバ AP サーバ 後ろのレイヤーほど負荷が高く ボトルネックになりやすい

Microsoft Word DB_management_win_1.0.doc

Oracle Direct Seminar <Insert Picture Here> もうアプリ修正は必要ない! 画期的な SQL チューニング手法 日本オラクル株式会社

Transcription:

Oracle Direct Seminar <Insert Picture Here> オラクルコンサルタントが語る性能分析の真髄 Part2 日本オラクル株式会社

Agenda はじめに 目的とゴール Part1の振り返り AWRを使用した性能分析 AWR 概要 AWRに格納される情報 AWR レポートにおける分析アプローチ AWR 確認ポイント Case Study AWRとアーキテクチャの関係 まとめ Part2のポイント まとめ Copyright 2012, Oracle. All rights reserved. 2

<Insert Picture Here> はじめに Copyright 2012, Oracle. All rights reserved. 3

はじめに 本シリーズ目的 性能分析の重要性を理解する 性能分析の具体的な手法を習得する Part2 のゴール AWR レポートのどのセクションでどのような情報を確認するか理解する AWR レポートの内容と Oracle 内部アーキテクチャを結びつけることができる Copyright 2012, Oracle. All rights reserved. 4

<Insert Picture Here> Part 1 の振り返り Copyright 2012, Oracle. All rights reserved. 5

性能分析とは? 性能分析の種類として以下の 2 パターンが挙げられます Reactive な性能分析 システムを利用しているサービスのレスポンス遅延 スループット低下などの性能問題が発生した際に それら性能問題が発生している原因 ( ボトルネック ) を特定する 問題が発生してから対応するという 事後的な性能分析 Proactive な性能分析 ( 能動的な性能分析 ) システムを利用しているサービスにおいて レスポンス遅延 スループット低下などの性能問題やリソース不足による予期せぬ障害を未然に防ぐために 定期的に実施する 問題が発生する前に対応するという 事前的な性能分析 Copyright 2012, Oracle. All rights reserved. 6

性能分析とは? 2 つの性能分析が重要な理由 人の健康に例えると Reactive な通院 なんだか体調が悪いな Proactive な通院 月に一回の定期検診だ インフルエンザなので 薬を出しましょう! 悪くなりそうな所がないかをチェックしましょう! 人 を システム 通院 を 性能分析 に置き換えると性能分析では 2 つのパターンが重要であることがわかります Copyright 2012, Oracle. All rights reserved. 7

性能分析の手法 Reactive な性能分析 なんだか性能が出ないなぁ 性能が出ない原因を分析し 解決しましょう! 正しくないアプローチ 正しいアプローチ 性能が出ないトラブルのため 落ち着いて対応できない 1. 状況把握 取得する情報を決定する 性能が改善する可能性のある策を手当たり次第に実施 2. 考察 分析 分析結果を元に原因追究 問題解決方法の考察 3. 未解決 3. 解決 Copyright 2012, Oracle. All rights reserved. 8

性能分析の手法 Proactive な性能分析 月に一回の性能分析だ 問題が発生した時の為に事前に性能分析しておきましょう チェックポイント 問題が発生する前に事前に性能分析しておきましょう ベースライン活用 パフォーマンスを比較するために 正常に動作している情報を取得 ベースラインによって 障害時に正常時との違いを比較して 問題点を把握することが可能 キャパシティ プランニング 普段から定期的に性能分析を行うことで 将来的なリソースの枯渇を予測し 将来的なリソース不足に備えて 事前に準備することが可能 Copyright 2012, Oracle. All rights reserved. 9

性能分析における必要情報性能分析を実施するのに必要な情報 特定のシステムだけでなく システム全体の性能情報を取得 Web システム ネットワークが狭い? メモリ CPU が足りない? Web サーバー アプリケーションサーバー AP Server の負荷は? データベース インターネット ファイアーウォール HTML HTML Java SQL ネットワークの負荷は? リクエストが十分受け付けられない? DB の負荷は? 各レイヤー毎に網羅的なリソース情報 (CPU メモリ Disk ネットワーク DB) の取得 今回の焦点 Copyright 2012, Oracle. All rights reserved. 10

<Insert Picture Here> AWR レポートを使用した性能分析 Copyright 2012, Oracle. All rights reserved. 11

AWR レポートを使用した性能分析 Proactive な通院 定期健診後 月に一回の定期検診だ 検診結果はどう見ればよいのだろう? 悪くなりそうな所がないかをチェックしましょう! 定期健診の結果をお返しします Proactive に定期健診を受けた後 重要なのは検診結果を理解し 現在の健康状態を知ることです AWR レポートを使用した性能分析では 何を理解すればシステムの状態を理解できるのでしょうか? Copyright 2012, Oracle. All rights reserved. 12

AWR レポートを使用した性能分析 AWR(Automatic Workload Repository) - 概要 - DB 内部の統計情報 ( スナップショット ) を取得する機能 ある 2 点間で取得した DB 内部の統計情報 ( スナップショット ) の差分を元に その間のパフォーマンス統計データをレポート出力可能 A B MMON MMON スナップショット A スナップショット B AB 間の AWR レポート AWR を使用するには DiagnosticPack ライセンスが必要です Copyright 2012, Oracle. All rights reserved. 13

Oracle Database に特化した性能分析情報スナップショット管理 スナップショットの管理方法は 2 つ EM CASE1 PL/SQL(DBMS_WORKLOAD_REPOSITORY) 手動でスナップショットを取得し 性能分析を実施したい begin DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT(); end; CASE2 パフォーマンス テストを実施するため 自動スナップショット取得間隔をデフォルトの 60 分から 10 分に変更し 性能分析を実施したい begin DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(11520,10); end; CASE3 SYSAUX 表領域が圧迫されてきたため スナップショットID1000-2000のスナップショット削除を実施したい 60 分 SGA MMON MODIFY_SNAPSHOT_SETTINGS 8 日間 SYSAUX スナップショット 1 スナップショット 2 スナップショット 3 スナップショット 4 スナップショット 5 AWR CREATE_SNAPSHOT begin DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(1000,2000); end; MMON DROP_SNAPSHOT_RANGE Copyright 2012, Oracle. All rights reserved. 14

Oracle Database に特化した性能分析情報 AWR レポートの作成 AWR レポートの生成方法は 2 つ EM SQL 期間比較 スナップショット A $ORACLE_HOME/rdbms/admin/awrrpt.sql 異なる期間の間での AWR レポートを比較することにより 詳細なパフォーマンスを分析することが可能です ベースラインとの比較をすることも可能 A B C AB 間の AWR レポート D スナップショット B MMON MMON MMON MMON スナップショット A スナップショット B スナップショット C スナップショット D AB 間の AWR レポート CD 間の AWR レポート Copyright 2012, Oracle. All rights reserved. 15

AWR に格納される情報 AWR に格納される情報には 主に下記があります データベース セグメントのアクセス情報 セグメント使用量 I/O 情報など 時間モデルの情報 (10g からの新しい統計情報 ) どの処理でどのくらい時間を消費したかの情報 V$SYS_TIME_MODEL や V$SESS_TIME_MODEL 動的パフォーマンス ビューから収集 システム セッションの統計 V$SYSSTAT や V$SESSTAT 動的パフォーマンス ビューから収集 負荷の高い SQL の情報 実行時間や CPU を消費した時間などに基づく 最新のセッション アクティビティの履歴を表す ASH 統計 1 秒毎にサンプリングしている アクティブなセッション情報 Copyright 2012, Oracle. All rights reserved. 16

AWR に格納される情報 AWR レポートの項目には 以下の情報が格納されます Main Report 1. Report Summary 2. 待機イベント統計 3. SQL 4. インスタンス統計 5. I/O 統計 6. バッファ プール統計 7. アドバイザ統計 8. Wait Statistics 9. Undo 統計 10. ラッチ統計 11. セグメント統計 12. ディクショナリ キャッシュ統計 13. ライブラリ キャッシュ統計 14. メモリー統計 15. ストリーム統計 16. リソース制限統計 17. init.ora パラメータ ( 初期化パラメータ ) More RAC Statistics 18. RACに関する追加情報レポート 19. グローバル エンキュー統計 20. グローバルCR 統計 21. 実行済のグローバル カレント統計 22. グローバル キャッシュの送信統計 Copyright 2012, Oracle. All rights reserved. 17

<Insert Picture Here> AWR レポートにおける分析アプローチ Copyright 2012, Oracle. All rights reserved. 18

AWR 確認ポイントまず確認すべきポイント AWR には たくさんの情報が格納されますが まず確認ポイントとして下記があります 確認ポイント 1Load Profile DB の処理量を表示します 2Instance Efficiency Oracle インスタンスの使用効率を表示します 3Top5 Timed Events 処理時間の長い上位 5 番目までのイベントを表示します 4SQL セクション 各処理における SQL 文のランキング表示します Copyright 2012, Oracle. All rights reserved. 19

AWR 確認ポイント 1Load Profile Load Profile を確認すると AWR 取得時の時間帯における DB の処理傾向を把握することができます ポイント 通常時 : Redo サイズや ディスク読み込みがどの程度発生しているか等の確認 障害時 : 通常時の処理負荷と障害発生時の処理負荷の比較 Redo size : 生成されたREDOサイズ (Byte) Physical reads : ディスクから直接読み出したブロック数 Physical writes : ディスクへ直接書き出したブロック数 Parses : 解析コール数 Hard parses : コストの高い解析コール数 Logons : ログオン数 Executes : SQL 文を実行するコール数 Transactions : トランザクション数 SQL の実行回数や DB CPU から システムの処理負荷を確認します 定常時の性能分析では 普段システムにどの程度処理が流れているのかを確認し 障害時の性能分析時に処理負荷を比較します Copyright 2012, Oracle. All rights reserved. 20

AWR 確認ポイント 2Instance Efficiency AWR 取得時の処理における Oracle インスタンス使用効率を把握することが可能です 通常時 : バッファヒット率や ソフトパースの割合等を確認 障害時 : 通常時とのヒット率の比較 Buffer Nowait % :DBバッファに要求を出したときに 即座に使用可能だった割合 Redo NoWait % :redo logに要求を出したときに 即座に使用可能だった割合 Buffer Hit % :DBバッファキャッシュから読みとった割合 Soft Parse % : 全ての解析のうち再利用可能なものの割合 Non-Parse CPU % :1-( 解析 CPU 時間 / 全 CPU 時間 ) ポイント OLTP 系の処理であれば Buffer Hit% Library Hit% は 90% 程度あることを目安とします Buffer Hit% が低い場合は その分 IO 処理が多い傾向があります また Library Hit% と Soft Parse% は依存関係にあり Library Hit% が低い場合は Hard Parse が占める割合が多くなります Copyright 2012, Oracle. All rights reserved. 21

AWR 確認ポイント 3Top5 Timed Event AWR 取得時の処理における上位 5 位までの待機イベントを把握することが可能です 通常時 : 通常負荷時の上位待機イベントを確認 障害時 : 障害発生時の上位待機イベントを確認可能 通常時の待機イベントと比較 Event : イベント名 Waits : イベントのために待機した合計回数 Time(s) : イベントの合計待機時間および合計 CPU 時間 ( 秒 ) % Total Ela Time : 全体に対する このイベントおよびCPU 時間の割合 ( 各イベント待機時間 / 合計処理時間 ) ポイント Top5 待機イベントにて CPUTime が上位にある場合は Oracle の処理として効率的に CPU が利用できているという観点から ほとんどのケースは特に問題ありません 一方で CPU Time が下位の場合は待機イベントが多いことを意味します Copyright 2012, Oracle. All rights reserved. 22

AWR 確認ポイント 4SQL セクション ~SQL ordered by Gets AWR 取得時の処理における各 SQL セクションを把握することが可能です SQL ordered by Gets は合計アクセスバッファ数が多い SQL のランキング (N 位以上 ) を示しています 通常時 : 普段論理読み込みが多い SQL の把握が可能 また それらがどの程度の実行回数を占めているのか等も確認 障害時 : 通常時の論理読み込みの多い SQL と比較し 傾向が変化していないか 実行回数等が増えていないか比較 ポイント Gets per Exec : アクセスされたバッファ数 / 実行回数 % Total : アクセスされたバッファの割合 CPU Time(s) : このSQL 文実行に対する累積 CPU 時間 ( 秒 )< 新 > Elapsd Time(s): このSQL 文の累積実行時間 ( 秒 )< 新 > Hash value : 共有プール内のSQLテキストのハッシュ値 定常時のバッファ読み込みブロック数と 異常時のバッファ読み込み数を比較して 読み込みブロック数と SQL 実行時間の関係性を確認します Copyright 2012, Oracle. All rights reserved. 23

AWR 確認ポイント 4SQL セクション ~SQL ordered by Reads AWR 取得時の処理における各 SQL セクションを把握することが可能です SQL ordered by Reads は合計 Disk アクセス数が多い SQL のランキング (N 位以上 ) を示しています 通常時 : 普段物理読み込みが多い SQL の把握が可能 また それらがどの程度の実行回数や 1 回における処理時間等も確認 障害時 : 通常時の物理読み込みの多い SQL と比較し 傾向が変化していないか 実行回数や処理時間が増加していないか比較 ポイント Reads per Exec: ディスクへのアクセス回数 /SQL 文の実行回数 % Total : アクセスされたバッファの割合 CPU Time(s) : この SQL 文実行に対する累積 CPU 時間 ( 秒 )< 新 > Elapsd Time(s): この SQL 文の累積実行時間 ( 秒 )< 新 > Hash Value : 共有プール内の SQL テキストのハッシュ値 定常時のディスク読み込み数と 異常時のディスク読み込み数を比較して ディスクへのアクセスが頻発していないかどうかを確認します Copyright 2012, Oracle. All rights reserved. 24

Case Study 概要 AWR レポートにおける分析アプローチ A 社では プロアクティブな性能分析を行うために 日頃から AWR を取得しています ある日 アプリ側から お客様から画面のレスポンスが遅くなった と 言われたのですが DB 側で問題はありませんか? アプリ側では問題は発見できなかったので DB 側を調査して いただけませんか? とリクエストを頂きました Case Study のポイント AWR を使用して どのように性能分析を進めますか? 遅くなったなぁ Copyright 2012, Oracle. All rights reserved. 25

Case Study AWR レポートにおける分析アプローチ確認すべきポイントの 1 つである Top 5 Timed Events で待機イベント db_file_sequential_read が多発していることがわかりました 1Load Profile 2Instance Efficiency 3Top5 Timed Events 4SQL セクション アセスメント Top 5 wait event から待機イベント db file sequential read が多発 物理読み込みの多いセグメントは IO_NECK_TAB_IX と呼ばれる INDEX であり IO 待機が発生している 特定セグメントでの IO 待機が発生しているということは Copyright 2012, Oracle. All rights reserved. 26

Case Study オラクルコンサルの分析アプローチのポイント ポイント Summary 物理読み込みの多いセグメント と分析を進められたのは Oracle のアーキテクチャを理解しているため? db file sequential read が 多発しているということは? < SQL 文 > の発行 サーバープロセス 共有プール ライブラリ キャッシュ SQL 文と実行計画 ディクショナリ キャッシュデータ ディクショナリ情報 メモリ (SGA) DBバッファ キャッシュ REDO ログ バッファ 変更履歴 X Y COMMIT DBWn CKPT LGWR データ ファイル 制御ファイル REDO ログ ファイル 分析を進めるためには Oracle のアーキテクチャの理解が重要です Copyright 2012, Oracle. All rights reserved. 27

<Insert Picture Here> AWR とアーキテクチャの関係 Copyright 2012, Oracle. All rights reserved. 28

1 検索要求 ユーザ プロセス Select 行 1 Oracle 内部アーキテクチャと AWR レポート Select 時の動き 10 8 結果を返す 2 検索要求を受け取り SQL 文の構文チェック サーバ プロセス PGA 7 ソートが必要な場合 PGA で行う DB バッファキャッシュ SGA REDO ログバッファ 3Parse 結果が存在するかチェック 5 該当ブロックが存在するかチェック 行 1 行 2 行 3 10 20 30 6 データファイルを読込む 共有プール 4 実行計画を作成 格納 ( オプティマイザ ) 実行計画 データブロック UNDO 行 1 行 2 行 3 10 20 30 データファイル REDO ログファイル 制御ファイル Copyright 2012, Oracle. All rights reserved. 29

1 検索要求 ユーザ プロセス Select 行 1 Oracle 内部アーキテクチャと AWR レポート Select 時の AWR(1/6) 10 8 結果を返す 2 検索要求を受け取り SQL 文の構文チェック サーバ プロセス PGA 7 ソートが必要な場合 PGA が行う DB バッファキャッシュ SGA REDO ログバッファ 3Parse 結果が存在するかチェック 5 該当ブロックが存在するかチェック SQL が実行されるので 実行回数がカウントされます - Load Profile:Executes データブロック 6データファイルを読込む - Instance Activity Stats:execute count UNDO - SQL ordered by Executions etc 行 1 行 2 行 3 10 20 30 共有プール 4 実行計画を作成 格納 ( オプティマイザ ) 実行計画 行 1 行 2 行 3 10 20 30 データファイル REDO ログファイル 制御ファイル Copyright 2012, Oracle. All rights reserved. 30

Oracle 内部アーキテクチャと AWR レポート Select 時の AWR(1/6) アプローチ SQL が発行される度に増加するため SQL の発行回数の妥当性や傾向変化を把握することができます また 先ほどの select 実行時のアーキテクチャより 構文エラーとなる SQL が発行された際にも Execute 値は増加するため Instance Activity Stats : parse count (failures) も合わせて確認します Load Profile からは個別 SQL の詳細な実行回数はつかめません リカーシブルコールも含んでしまうためです 詳細な傾向把握には SQL order by ~ を確認する必要があります Copyright 2012, Oracle. All rights reserved. 31

1 検索要求 ユーザ プロセス Select Oracle 内部アーキテクチャと AWR レポート Select 時の AWR(2/6) 2 検索要求を受け取り SQL 文の構文チェック サーバ プロセス PGA DB バッファキャッシュ SGA REDO ログバッファ 3Parse 結果が存在するかチェック 5 該当ブロックが存在するかチェック 行 2 20 行 1 10 7ソートが必要な行 3 30 場合 PGAで行う 8 結果を返す 6データファイル Parser により実行 SQL が Parse されます を読込む (Parse 結果が既に共有プールに存在する場合 soft parse 存在しない場合 hard parse) - Load Profile:Parses 共有プール 4 実行計画を作成 格納 ( オプティマイザ ) - Instance Efficiency Percentages データブロック (Target 100%) UNDO : Soft Parse %/Latch Hit % 行 1 10 - SQL ordered by Parse Calls etc 行 2 20 行 3 30 行 1 10 実行計画 - Instance Activity Stats: parse count (total)/ parse time cpu/ parse time elapsed データファイル REDO ログファイル 制御ファイル Copyright 2012, Oracle. All rights reserved. 32

1 検索要求 ユーザ プロセス Select 行 1 Oracle 内部アーキテクチャと AWR レポート Select 時の AWR(3/6) 10 8 結果を返す 2 検索要求を受け取り SQL 文の構文チェック サーバ プロセス PGA 7 ソートが必要な場合 PGA で行う DB バッファキャッシュ SGA REDO ログバッファ 3Parse 結果が存在するかチェック 5 該当ブロックが存在するかチェック データブロック 6データファイルを読込む UNDO 共有プール 4 実行計画を作成 格納 ( オプティマイザ ) Parse 結果が共有プールへキャッシュされていない際は Hard parse が行われます - Load Profile: Hard parses 実行計画 - Instance Activity Stats: parse count 行 1 (hard) 10 / parse time cpu / parse time elapsed - SQL ordered by Parse Calls 行 2 etc 20 行 3 30 行 1 行 2 行 3 - Instance Efficiency Percentages (Target 100%) : Parse CPU to Parse Elapsd % - Time Model Statistics:hard parse elapsed time 10 20 30 データファイル REDO ログファイル 制御ファイル Copyright 2012, Oracle. All rights reserved. 33

Oracle 内部アーキテクチャと AWR レポート Select 時の AWR(2,3/6) アプローチ これらの値は Soft Parse / Hard Parse 処理頻度や処理時間を基に算出されています その為 Soft Parse/Hard Parse の割合は適切であるか SQL の実行時間 (Elapse time) における Parse 処理時間の割合は適切であるかといった点を確認したりします 実行 SQL がバインド化されているにも関わらず Hard Parse が多い場合には Cardinality Feedback や Adaptive Cursor Sharing 機能による影響も考慮する必要があります ( ) ( ) 詳細説明は オラクルコンサルが語る新しいチューニング & 運用アプローチ で紹介しております Copyright 2012, Oracle. All rights reserved. 34

1 検索要求 ユーザ プロセス Select 行 1 Oracle 内部アーキテクチャと AWR レポート Select 時の AWR(4/6) 10 8 結果を返す 2 検索要求を受け取り SQL 文の構文チェック サーバ プロセス PGA 7 ソートが必要な場合 PGA で行う DB バッファキャッシュ SGA REDO ログバッファ 3Parse 結果が存在するかチェック 5 該当ブロックが存在するかチェック データブロック UNDO - Buffer Pool Statistics:Buffer Gets/Buffer Busy Waits 行 1 行 2 行 3 10 20 30 行 1 行 2 行 3 10 20 30 6データファイルを読込む バッファ キャッシュに取得対象となるブロックが存在するかを確認します ( 存在すればそのまま読込みを実施 しなければDiskからブロックを読込みます ) 共有プール 4 実行計画を作成 格納 ( オプティマイザ ) 実行計画 - Instance Efficiency Percentages (Target 100%) : Buffer Hit % / Buffer Nowait % - Buffer Pool Advisory - SQL ordered by Gets etc データファイル REDO ログファイル 制御ファイル Copyright 2012, Oracle. All rights reserved. 35

Oracle 内部アーキテクチャと AWR レポート Select 時の AWR(4/6) アプローチ 前述の通り Buffer Hit % が高くとも Buffer Nowait % が低い場合にはバッファキャッシュでの待機が発生している可能性が大きいです そのような場合には Buffer wait Statistics などを確認して どのブロックでバッファ待機が発生しているのか を調査する必要があります Oracle のブロック管理アーキテクチャがわからないと バッファ待機が発生していても競合解消策が立てられないです 発生事象と対応策を結びつけるためにはアーキテクチャが大切です Copyright 2012, Oracle. All rights reserved. 36

行 1 Oracle 内部アーキテクチャと AWR レポート Select 時の AWR(5/6) バッファ キャッシュに取得対象となるブロックが存在しなければ Diskから対象ブロックの読み込みを行ないます DBバッファキャッシュ REDOログバッファ 1 検索要求 ユーザ プロセス Select 10 8 結果を返す 2 検索要求を受け取り SQL 文の構文チェック - Load Profile: Physical reads サーバ プロセス - Instance Activity Stats: physical readsなど - Segments PGA by Physical Reads 行 1 - SQL ordered by Physical Reads etc 行 2 7 ソートが必要な場合 PGA で行う SGA 3Parse 結果が存在するかチェック 5 該当ブロックが存在するかチェック 行 3 10 20 30 6 データファイルを読込む 共有プール 4 実行計画を作成 格納 ( オプティマイザ ) 実行計画 データブロック UNDO 行 1 行 2 行 3 10 20 30 データファイル REDO ログファイル 制御ファイル Copyright 2012, Oracle. All rights reserved. 37

Oracle 内部アーキテクチャと AWR レポート Select 時の AWR(5/6) アプローチ バッファキャッシュヒット率が想定より低い場合には Segments by Physical Reads などから物理ブロック読み込みの多いセグメントを調査し 妥当性を判断します KEEP 句を利用して読み込みブロックをバッファキャッシュに強制的に載せる際にはバッファキャッシュを構成するブロックの傾向が大きく変わる可能性がある為 他の SQL への影響を考慮する必要があります 11gR2 から実装された Database Smart Flash Cache 機能により Disk アクセスよりも高速な SSD をバッファキャッシュの拡張領域として利用することが可能になりました 新機能もアーキテクチャから把握しておくことが大切です Copyright 2012, Oracle. All rights reserved. 38

1 検索要求 ユーザ プロセス Select 行 1 Oracle 内部アーキテクチャと AWR レポート Select 時の AWR(6/6) 10 8 結果を返す 2 検索要求を受け取り SQL 文の構文チェック サーバ プロセス PGA 7 ソートが必要な場合 PGA が行う DB バッファキャッシュ SGA REDO ログバッファ 3Parse 結果が存在するかチェック 5 該当ブロックが存在するかチェック しますが PGA 内で完了しない場合はデータブロック Diskでソートを行います UNDO 行 1 10 - Instance Activity Stats: sorts (disk) 行 2 / 20 sorts (memory) / sorts (rows) etc 行 3 30 行 1 行 2 行 3 10 20 30 6 データファイルを読込む 共有プール 4 実行計画を作成 格納 ( オプティマイザ ) 実行計画 SQL 文に応じて取得結果のソートを行います メモリ領域 (PGA) でソートを実施しようと - Instance Efficiency Percentages (Target 100%) : In-memory Sort % データファイル REDO ログファイル 制御ファイル Copyright 2012, Oracle. All rights reserved. 39

Oracle 内部アーキテクチャと AWR レポート Select 時の AWR(6/6) アプローチ メモリ内ソートでは PGA (MTS では共有プール or ラージプール ) が利用されますが PGA 領域にも限りがある為 システム特性に合わせたソート処理傾向を把握する必要があります 場合によっては INDEX を上手く利用することで ソート処理を避けられるケースもあります INDEX の構造をアーキテクチャと紐付けて理解しておくことで 発生事象と対応策が結びつきます Copyright 2012, Oracle. All rights reserved. 40

AWR レポートにおける分析アプローチ 性能分析を進めるにあたり以下が重要です AWR レポートの項目を理解しているだけではなく Oracle のアーキテクチャと関連させて理解すること AWR とアーキテクチャを結び付けて考えることができると より詳細な性能分析が可能 < SQL 文 > の発行 サーバープロセス 共有プール ライブラリ キャッシュ SQL 文と実行計画 ディクショナリ キャッシュデータ ディクショナリ情報 メモリ (SGA) DBバッファ キャッシュ REDO ログ バッファ 変更履歴 X Y COMMIT DBWn CKPT LGWR データ ファイル 制御ファイル REDO ログ ファイル Copyright 2012, Oracle. All rights reserved. 41

<Insert Picture Here> まとめ Copyright 2012, Oracle. All rights reserved. 42

Part2 のポイント ポイント1 AWRレポートのどのセクションでどのような情報を確認するか理解すること まず見るべき項目として以下を確認する 1. Load Profile 2. Instance Efficiency 3. Top5 Timed Events 4. SQLセクション ポイント 2 AWR レポートの内容と Oracle 内部アーキテクチャを結びつけて 性能分析を進めること Copyright 2012, Oracle. All rights reserved. 43

まとめ 本シリーズ目的 性能分析の重要性を理解する 性能分析の具体的な手法を習得する Part2 のゴール AWR レポートのどのセクションでどのような情報を確認するか理解すること AWR レポートの内容と Oracle 内部アーキテクチャを結びつけること Copyright 2012, Oracle. All rights reserved. 44

OTN セミナーオンデマンド コンテンツに対するご意見 ご感想を是非お寄せください OTN オンデマンド感想 http://blogs.oracle.com/oracle4engineer/entry/otn_ondemand_questionnaire 上記に簡単なアンケート入力フォームをご用意しております セミナー講師 / 資料作成者にフィードバックし コンテンツのより一層の改善に役立てさせていただきます 是非ご協力をよろしくお願いいたします Copyright 2012, Oracle. All rights reserved. 45

OTN セミナーオンデマンド日本オラクルのエンジニアが作成したセミナー資料 動画ダウンロードサイト 掲載コンテンツカテゴリ ( 一部抜粋 ) Database 基礎 Database 現場テクニック Database スペシャリストが語る Java WebLogic Server/ アプリケーション グリッド EPM/BI 技術情報サーバーストレージ 100 以上のコンテンツをログイン不要でダウンロードし放題 データベースからハードウェアまで充実のラインナップ 毎月 旬なトピックの新作コンテンツが続々登場 例えばこんな使い方 製品概要を効率的につかむ 基礎を体系的に学ぶ / 学ばせる 時間や場所を選ばず ( オンデマンド ) に受講 スマートフォンで通勤中にも受講可能 毎月チェック! コンテンツ一覧はこちら http://www.oracle.com/technetwork/jp/ondemand/index.html 新作 & おすすめコンテンツ情報はこちら http://oracletech.jp/seminar/recommended/000073.html OTN オンデマンド Copyright 2012, Oracle. All rights reserved. 46

オラクルエンジニア通信オラクル製品に関わるエンジニアの方のための技術情報サイト 技術資料 インストールガイド 設定チュートリアル etc. 欲しい資料への最短ルート アクセスランキング 他のエンジニアは何を見ているのか? 人気資料のランキングは毎月更新 特集テーマ Pick UP 性能管理やチューニングなど月間テーマを掘り下げて詳細にご説明 技術コラム SQL スクリプト 索引メンテナンス etc. 当たり前の運用 / 機能が見違える!? http://blogs.oracle.com/oracle4engineer/ オラクルエンジニア通信 Copyright 2012, Oracle. All rights reserved. 47

oracletech.jp IT エンジニアの皆様に向けて旬な情報を楽しくお届け 製品 / 技術情報 Oracle Database っていくら? オプション機能も見積れる簡単ツールが大活躍 セミナー 基礎から最新技術までお勧めセミナーで自分にあった学習方法が見つかる スキルアップ ORACLE MASTER! 試験頻出分野の模擬問題と解説を好評連載中 Viva! Developer 全国で活躍しているエンジニアにスポットライト きらりと輝くスキルと視点を盗もう http://oracletech.jp/ oracletech Copyright 2012, Oracle. All rights reserved. 48

あなたにいちばん近いオラクル Oracle Direct まずはお問合せください Oracle Direct システムの検討 構築から運用まで IT プロジェクト全般の相談窓口としてご支援いたします ステム構成やライセンス / 購入方法などお気軽にお問い合わせ下さい Web 問い合わせフォーム 専用お問い合わせフォームにてご相談内容を承ります http://www.oracle.co.jp/inq_pl/inquiry/quest?rid=28 フリーダイヤル 0120-155-096 フォームの入力にはログインが必要となります こちらから詳細確認のお電話を差し上げる場合がありますので ご登録の連絡先が最新のものになっているかご確認下さい 月曜 ~ 金曜 9:00~12:00 13:00~18:00 ( 祝日および年末年始除く ) Copyright 2012, Oracle. All rights reserved. 49

Copyright 2012, Oracle. All rights reserved.

Copyright 2012, Oracle. All rights reserved. 51