OWI(Oracle Wait Interface)の概要

Similar documents
MaxGauge_診断分析プロセス

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

OWI(Oracle Wait Interface)のコンセプトと実用ツールMaxGaugeの紹介

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

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

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

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

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

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

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

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

Microsoft Word - nvsi_050090jp_oracle10g_vlm.doc

稼働率100%を目指す、OracleDB予兆監視

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

PA4

Null

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

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

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

Null

検証事例 富士通株式会社

How to Use the PowerPoint Template

スライド 1

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

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

PowerPoint Presentation

スライド 1

Slide 1

検証事例 富士通株式会社

平成20年度成果報告書

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

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

Oracle Real Application Clusters 10g: 第4世代

OWI(Oracle Wait Interface)の概要

ORACLE TUNING PACK 11G

untitled

Slide 1

意外と簡単

PowerPoint プレゼンテーション

PowerPoint Presentation

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

Oracle Data Pumpのパラレル機能

Oracle Database 12c

Recovery Managerのバックアップおよびリカバリの最適化

PowerPoint プレゼンテーション

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

Oracle TimesTenについて

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

— intra-mart Accel Platform セットアップガイド (WebSphere編)   第7版  

Oracle Enterprise Manager 10g System Monitoring Plug-In for IBM WebSphere Application Server

Microsoft PowerPoint - Lite10g_SyncArchitecture.ppt

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

Oracle Tuning Pack

CLUSTERPRO MC ProcessSaver 2.3 for Windows 導入ガイド 第 5 版 2018 年 6 月 日本電気株式会社

Vantage Analyzer 機能検証結果報告書

スライド 1

Microsoft Word - JP-AppLabs-MySQL_Update.doc

プレポスト【問題】

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

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

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


PassSureExam Best Exam Questions & Valid Exam Torrent & Pass for Sure

Microsoft Word - nvsi_080188jp_r1_netvault_oracle_rac_backup_complemental_guide_j_174x217.doc

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

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

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

intra-mart Accel Platform

ダンプ取得機能強化サポートオプション Enterprise Edition

g g Oracle 10g g C C C C C C C g g g C C C C C C C C 2 3

Oracle Advanced Compression:ディスクの節約とデータベースの高速化を可能にする包括的な圧縮機能

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

新バージョン! Zabbix 2.2 と検証結果のご紹介 SRA OSS, Inc. 日本支社山本博之 Copyright 2013 SRA OSS, Inc. Japan All rights reserved. 1

Oracle Database 12c Release 1 ( ) CoreTech Seminar

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

Slide 1

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

Oracle Database 11g Oracle Real Application Testing

富士通製プラットフォーム 「PRIMEPOWER/PRIMERGY」及び、富士通製ミドルウェア 「Interstage」とVantage Analyzer 動作検証完了報告書

自己紹介 1982 年 4 月に日商エレクトロニクス株式会社入社 Sybase を使った銀行系システムの開発 保守を担当 Oracle データベースを使ったアプリケーション設計 開発 保守 およびパフォーマンス チューニングなどのコンサルティング業務を担当 Oracle データベースのデータ移行 再

Oracle Database In-Memory 高可用性ベスト・プラクティス

9 WEB監視

1

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

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

ORACLE PARTITIONING

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

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

プレゼンテーション

Microsoft Word DB_management_win_1.0.doc

Microsoft Word - PDFHS _ doc

Oracle Database 11g:管理性の概要

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

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

PowerPoint プレゼンテーション

How to Use the PowerPoint Template

今週の進捗

組込み Linux の起動高速化 株式会社富士通コンピュータテクノロジーズ 亀山英司 1218ka01 Copyright 2013 FUJITSU COMPUTER TECHNOLOGIES LIMITED

【Cosminexus V9】クラウドサービスプラットフォーム Cosminexus

pg_monz 監視アイテム一覧 :Template App PostgreSQL Template App PostgreSQL アプリケーション LLD アイテムトリガー監視タイプ更新間隔ヒストリトレンドデフォルト説明ステータス pg.get pgsql.get.pg.bgwriter Zabb

Transcription:

日本エクセム株式会社 1

目次 OWI とは? OWI ベース診断 / 分析 Oracle アーキテクチャーと OWI OWI の構成要素 システム性能管理の必要性 2

QUIZ 以下はある期間の STATSPACK レポートの一部です データベース処理で遅延が発生しているでしょうか 性能低下現象が発生している場合 どのように診断 / 分析を行い どのような改善ポイントを提案すべきでしょうか 3

プロセスの状態と OWI 3 4 5 6 3 のサイクルで処理する 1 CPU を必要としない状態 2 作業要求が入って CPU を使い始める 3 CPU を使って 作業中 4 次の処理を進めるため必要なリソースを要求 5 CPU を使って処理を進めたいが 何らかの理由でリソースの獲得待ち状態 一部の待機はアイドル ( スリープ ) 状態になる 6 リソースが獲得できて 次の処理を進めるため CPU を使い始める 7 アイドル ( スリープ ) 状態になる 4

プロセスの状態と OWI SQL> select event, p1, p2, p3, wait_time time from v$session where sid = 146; EVENT P1 P2 P3 WAIT_TIME ------------------------------ ---------- ---------- ---------- ---------- db file scattered read 5 9548 5 3 SQL> select event#, name, parameter1, parameter2, parameter3, wait_class 2 from v$event_name where name = 'db file scattered read'; EVENT# NAME PARAMETER1 PARAMETER2 PARAMETER3 WAIT_CLASS ---------- ------------------------------ --------------- --------------- --------------- -------------- 117 db file scattered read file# block# blocks User I/O 5

OWI とは? Oracle Wait Interface = データベース内部処理の待機時間を基にした パフォーマンスボトルネック分析のための新メソッド Oracle DB のパフォーマンスを Oracle が吐き出す待機イベントを中心に管理しよう!!! データベース内の各処理工程にセットされたタイマーを元に 各ステップでのリソース獲得の待ち時間に着目し レスポンスタイムを定義 処理時間 ( 応答時間 ) = サービス時間 (CPU 使用時間 )+ 待機時間 レスポンスタイムの最小化 = 待ち時間の最小化 6

OWI の誕生 Oracle Wait Interface の歴史 Oracle7から導入 Oracleが時間ベースの性能管理を開始 Oracle 開発者が こつこつと待機イベント ( 時間計測用のイベント ) を増やす 2000 年 11 月のOracle magazine(us) にてWait Event-based チューニング手法として紹介される Oracle11gでは 961 個もの待機イベントがサポートされる なぜひろまらなかったのか? 当初は マニュアルにも載らなかった Oracleのコア開発者での内部で利用されていた Oracle7 Oracle8 では イベント数が少なかった 以前はハードウェアに負荷がかかりすぎ 実用的ではなかった 文献がほとんどなかった 7

比率ベース診断 / 分析 Ratio-Based: システムリソースの使用率などの統計比率を基にしたチューニング方法 バッファキャッシュヒット率が90% 以上に保っているか? データディクショナリーのキャッシュヒットミスレートが 10% 以下になっているか? これらの指標を外れると? システムのどこかに問題があるかもしれない しかし 個別セッションのパフォーマンスのンスの良し悪しを示すものではない 人的リソースの消費 時間の消費 Buffer Cache Hit Ratio は? とりあえず バッファキャッシュを 管理コストの増大 サービスレベルの低下 トラブル 増やしてみよう 管理者 ビジネスチャンスの損失しまった ぜんぜん改善されない どうしよう!!! 8

OWI ベース診断 / 分析 各処理の待機時間より プロセスのボトルネック現象に焦点を合わせたチューニング Oracle 内部の処理待ち時間 ( 応答時間 ) に基づく チューニング効果が絶対的な数値として 予測 計測できる ドリルダウンを行う形で ボトルネックを発見できる 待機情報 ボトルネックとなるセッション ボトルネックとなる SQL やリソース レスポンスタイムに注力し チューニングを行うことができる ResponseTime = ServiceTime + WaitTime = CPU used by this session + ΣTIME_WAITED = CPU work time + parse CPU time + recursive CPU time + ΣTIME_WAITED = CPU 実働時間 + 構文解析 CPU 利用 + 処理制御 CPU 時間 + 実行待ち時間 チューニングポイント!! 9

OWI ベース.vs. 比率ベース イメージ 課題 車で自宅から会社までの 1 時間所要 出社時間を短縮する方法は? 比率ベース改善案 現状の調査より A 地域での平均スピードは40km/hでした 道路を拡充して平均スピードを60km/h 以上に上げることを推奨します OWI ベース改善案 自宅から会社に着くまでの所要時間を分析してみました 走行時間 : 15 分 信号による待機 : 10 分 道路幅の減少の渋滞待機 : 5 分 混雑時間帯による渋滞待機 : 30 分 上記分析から 混雑時間帯による渋滞待機をもっとも改善すべきで 信号による待機の回避方法も検討すべきです ですので 1 出社時間帯の変更 及び 2 信号の少ない他の道路へのルート変更 を推奨します 最大 40 分の出社時間を節約できます 10

OWI ベース.vs. 比率ベース 区分比率ベース OWI ベース ベースデータシステム全般の統計比率に基づく 各セッション (SQL) で発生する待機イベント ( 処理の応答時間 ) に基づく チューニングポイント ( ボトルネック箇所 ) 初期化パラメータ 初期化パラメータ 表領域のパラメータ テーブルのパラメータ セグメントの再編成 セグメントのパーティション化 運用時間帯 AP(SQL) 索引の調整... 兆候検知 ( 予兆監視 ) 性能改善効果の定量化 ( 時間ベース性能管理 ) 不 不 可 可 セッション診断 / 分析不可 SQL 診断 / 分析不可 時系列分析不適適 11

AP 処理の流れ : ボトルネック箇所 SGA client 接続 SERVER Process Shared Pool Buffer Cache バッファキャッシュ 1 2 3 4 Log Buffer 5 6 7 8 9 a b REDO PGA Memory ロック a b Session info Sort Area メモリ SQL 解析 8 9 Hash Area I/O DBWR LGWR コミット 12

Oracle アーキテクチャーと性能統計 13

SELECT 処理と待機イベント 14

UPDATE 処理と待機イベント 15

OWI の構成要素 すべてのセッションは処理を行うためにはリソースが必要であり 各セッションがCPUを使用していないときは 何かしらの待ちが発生している状態となる データファイルからのデータブロック読み書きでのタブロック読み書きでの I/O 待ち メモリの獲得待ち 他処理との連携待ち データベース処理にて 発生した待機イベントが オラクルの動的ビューへ格納される V$EVENT_NAME V$SESSION_WAIT V$SESSION_EVENT V$SYSTEM_EVENTEVENT... V$SESSION_WAIT データベースでの様々な処理での待機イベントを格納 16

OWI の構成要素 項目定義備考 V$EVENT_NAME インスタンスで定義している待機イベントの情報イベントの数 正確な名称 待機クラスの参照 V$SYSTEM_EVNET インスタンスの起動後 全セッションで発生した待機イベントの累計統計値 ( インスタンス単位 ) インスタンスの全般的な安定度を判断 デルタ情報を算出して特定時間帯の状態を診断 / 分析ができる Staspack 機能 V$SESSION_EVENT 現在接続されている全セッションについての 各セッション別待機イベントの累計統計値 接続中のセッションについて 各イベント別統計情報の把握ができる V$SESSION_WAIT 各セッションが現在待機しているイベント リソースの詳細情報を 参照時のリアルタイムで提供, 累積データではなくリアルタイムのデータであるため 短い間隔のクエリーで繰り返し参照することで 待機イベントの状況の把握に有効 V$SYSTEM_WAIT_CLASS 10g, インスタンスの起動後発生した待機クラスの累積情報 待機イベントのクラス単位で インスタンスの安定度の把握に有効 V$SESSION_WAIT_CLASS 10g, 現在接続されている全セッションについて セッションレベルの待機クラスの累積情報 待機イベントのクラス単位で セッションの待機状況の把握に有効 V$SESSION_WAIT_HISTORY 10g, 直近の 10 個の待機イベントの情報直近のセッションの履歴情報の把握に有効 V$EVENT_HISTOGRAM 10g, インスタンスの起動後の待機イベントのヒストグラム提供 各バケット ( 待機時間の区間 ) 別の待機イベントの把握に適切 V$ACTIVE_SESSION_HISTORY 10g, アクティブセッションの履歴の情報 1 秒単位でのセッションのスナップショットを保存しているため 各セッションの待機イベントなどの情報の追跡に適切 10046 Trace Event SQL トレース 待機イベント バインド変数などの 履歴情報を含め 途切れの無い情報の把握や SQL/ 待機イベント / バイン 情報を提供 ド変数の連携分析に適切 17

OWI の構成要素 18

OWI の構成要素 :V$SYSTEM_EVENT 19

OWI の構成要素 :V$SESSION_EVENT 20

OWI の構成要素 :V$SESSION_WAIT V$SESSION Oracle Database リファレンス 10g リリース 2(10.2) より 21

OWI の構成要素 :V$SYSTEM_WAIT_CLASS 22

OWI の構成要素 :V$SYSTEM_WAIT_CLASS 23

OWI の構成要素 :V$SESSION_WAIT_HISTORY 24

OWI の構成要素 :V$EVENT_HISTOGRAM 25

OWI の構成要素 : 性能統計 26

OWI の構成要素 : 性能統計 27

OWI の構成要素 :V$ACTIVE_SESSION_HISTORY プロセスの処理に関わるデータを記録し 事後に確認できる手法を提供する一連のインタフェースとその診断 / 分析メソッドに発展 28

OWI のレファレンス MaxGauge イベントヘルプより 29

時間経過による性能低下 30

OWI 診断 / 分析プロセス システム性能低下認識 システムレベル分析 : トレンド アラート等 診断 / 分析対象の時間帯を特定 トップダウンアプローチ 概要分析 : アクティブセッション / 滞留 /CPU 詳細領域分析 :I/O メモリー ロック 上位 SQL... セッション診断 / 分析 SQL 診断 / 分析 必要時 正常時との比較分析 ログ外部情報確認 31

QUIZ 解説 enq: SQ - contention イベント概要 SQ ロックは低い値の CACHE 属性を持ったシーケンスを同時に大量に発行した時に発生します シーケンスは低負荷でユニークな値を取得できることを目的にしているため 一定区間の値をメモリにキャッシュしておきます ただし ディクししショナリの更新が行なわれる際 複数のセッションで1 つのセッションだけがシーケンスプールを再度キャッシュできることが保証されているため その際はほかのセッションは enq: SQ - contention イベントで待機することになります 診断 / 分析ポイント 該当イベントによる待機が 上位待機で上がっている場合又はインスタンスレベルで 1 秒 / 秒 を超える場合 シーケンス値の取得で相当のボトルネックが発生している状況です 最初にどのシーケンスでのロックなのかを確認しましょう 次に該当シーケンスの CACHE 値を確認します デフォルトで作成されたシーケンスは 20 のCACHE 属性を持つため 20 回発行されると再度ディクショナリを更新し 次の20 個のシーケンスをメモリにキャッシュしなければなりません トランザクションが同時かつ大量に発生する表のキーとしてシーケンスを採用する場合は CACHE 属性の値が小さすぎるとボトルネックの原因になるので 十分大きく設定する必要があります 改善策 最後に 該当シーケンスの利用頻度を考慮し 現状の CACHE より大きく調整します 32

QUIZ 解説 該当シーケンスの CACHE 属性を 20 10000 に変更することで 1831 秒 (1849 18) (99% 短縮 ) の滞留がなくなりました また シーケンスでのボトルネックが解消されて 他の待機が新たに上位にランクアップされたが CPU 使用時間に比べて気にするほどの現象ではないと考えられます 33