目次 従来の Oracle Database チューニング機能 新機能 リアルタイム SQL 監視 活用例その 1 活用例その 2 まとめ 参考情報 無償技術サービス Oracle Direct Concierge SQL Server からの移行アセスメント MySQL からの移行相談 Postg

Similar documents
untitled

Slide 1

30 分で理解する ORACLE MASTER ORACLE MASTER 概要 取得メリット 最新動向 勉強方法について Copyright 2011, Oracle. All rights reserved. 2

PowerPoint プレゼンテーション

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

PA4

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

ORACLE TUNING PACK 11G

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

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

Slide 1

Agenda パラレル実行の概要と効果 11g R1までのパラレル実行にまつわる懸念点 簡単設定で解決!! Oracle Database 11g R2のパラレル化 まとめ 2

Slide 1

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

Microsoft PowerPoint _SQLDeveloper.ppt [互換モード]

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

PowerPoint Presentation

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

目次 はじめに... 2 無料トライアルのサインアップ方法... 3 トライアル環境へのアクセス 参考情報

untitled

アジェンダ ORACLE MASTER Oracle Database 11g 概要 Gold DBA11g 試験紹介 ポイント解説 無償技術サービス Oracle Direct Concierge SQL Server からの移行アセスメント MySQL からの移行相談 PostgreSQL から

untitled

Slide 1

アジェンダ Oracle GoldenGate 概要 Oracle GoldenGate 活用ポイント Trigger Delete Cascade 設定テーブルの競合 ASM インスタンスへの接続 Bounded Recovery まとめ 2

MaxGauge_診断分析プロセス

Agenda Windows ServerとOracle Databaseについて 最低限知っておいてほしい セキュリティ面でのポイント Windowsユーザー向け.NET 開発者向け Copyright 2011, Oracle. All rights reserved. 2

Slide 1

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

ファイル、メールからの情報漏えいを防ぐための Oracle Information Rights Management 11g

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

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

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

OWI(Oracle Wait Interface)の概要

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

KSforWindowsServerのご紹介

untitled

スライド 1

Oracle Direct Seminar <Insert Picture Here> システム管理者必見! ~ 乱立する DB と OS のユーザー / 権限管理の改善方法 日本オラクル株式会社 Fusion Middleware 事業統括本部 Security SC 部大森潤

Oracle Database 11g Oracle Real Application Testing

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

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

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

クラウド時代のインフラ構成/変更管理とコンプライアンス管理

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

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

Slide 1

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

Slide 1

Oracle Tuning Pack

Slide 1

意外と簡単

Silk Central Connect 15.5 リリースノート

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

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

Slide 1

Oracle on Windows

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

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 Cloud Adapter for Oracle RightNow Cloud Service

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows 日本語版 : インストール・ガイド

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

Microsoft Word - MOPatch-1.doc

Slide 1

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

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

Oracle Direct Seminar <Insert Picture Here> こんなに簡単! Oracle Database の負荷テスト 日本オラクル株式会社

Oracle SQL Developer Data Modeler

Oracle Enterprise Manager 10g R2 Grid Control: データベース管理の新機能

Oracle Direct Seminar <Insert Picture Here> 試験対策ポイント解説 11g SQL 基礎 Ⅰ 日本オラクル株式会社

Oracle Data Pumpのパラレル機能

Oracle White Paper

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

PowerPoint プレゼンテーション

製品組み込み手順書 Oracle Tuxedo (Linux版)  

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

PSQL v12 新機能のご紹介 ~ 認証要件変更に伴う運用の見直し ~ 株式会社エージーテック 2015 年 1 月 13 日

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


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

Microsoft Word - PDFHS _ doc

Oracle Database 12c Release 1 ( ) CoreTech Seminar

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows : インストール・ガイド

Oracle Application Expressの機能の最大活用-インタラクティブ・レポート

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

ORACLE PARTITIONING

InfiniDB最小推奨仕様ガイド

共通フィルタの条件を設定する 迷惑メール検知 (SpamAssassin) の設定 迷惑メール検知 (SpamAssassin) とは.

富士通Interstage Application Server V10でのOracle Business Intelligence の動作検証

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

Agenda Overview 災害対策方法検討 実現可能となるソリューション リアルタイム性 運用管理面に優れたOracle Data Guard 柔軟な構成を可能にするOracle GoldenGate Oracle 標準機能で利用可能な基本スタンバイ データベース 2

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

雲の中のWebアプリケーション監視術!~いまなら間に合うクラウド時代の性能監視入門~

How to Use the PowerPoint Template

ebasestandard/ ebasejr. ネットワークドライブ共有サービス Version5.0~ ebase 株式会社

Microsoft Word - nvsi_080188jp_r1_netvault_oracle_rac_backup_complemental_guide_j_174x217.doc

自己管理型データベース: アプリケーションおよびSQLチューニング・ガイド

CLUSTERPROXSingleServerSafe SingleServerSafe ご紹介 2007 年 10 月

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

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

FUJITSU Software Systemwalker for Oracle V15 (15.1) 紹介資料

Transcription:

Oracle Direct Seminar <Insert Picture Here> 複雑な SQL チューニングもラクにする!SQL 監視機能とは 日本オラクル株式会社 2010 年 4 月 7 日

目次 従来の Oracle Database チューニング機能 新機能 リアルタイム SQL 監視 活用例その 1 活用例その 2 まとめ 参考情報 無償技術サービス Oracle Direct Concierge SQL Server からの移行アセスメント MySQL からの移行相談 PostgreSQL からの移行相談 Access からの移行アセスメント Oracle Database バージョンアップ支援 Oracle Developer/2000 Web アップグレード相談 パフォーマンス クリニック Oracle Database 構成相談 Oracle Database 高可用性診断 システム連携アセスメント システムセキュリティ診断 簡易業務診断 http://www.oracle.com/lang/jp/direct/services.html Copyright 2011, Oracle. All rights reserved. 2

従来の Oracle Database チューニング機能 Copyright 2011, Oracle. All rights reserved. 3

Oracle Database の代表的なチューニング方法 カテゴリー インスタンスのチューニング チューニング方法 メモリー割り当ての変更 初期化パラメーターの変更 SQL の並列実行 オブジェクトのチューニング 索引の作成 パーティショニング マテリアライズド ビューの作成 表の圧縮 SQL のチューニング バインド変数の使用 SQL 文の修正 SQL プロファイルの作成 ハードウェアの増強 CPU/ メモリーの増強 I/O 帯域の増強 サーバーの追加 Copyright 2011, Oracle. All rights reserved. 4

Oracle Enterprise Manager によるチューニング カテゴリーチューニング方法オラクル製品 ( の機能 ) インスタンスのチューニングメモリー割り当ての変更 ADDM メモリアドバイザ 初期化パラメーターの変更 SQL の並列実行 ADDM パラレルクエリ インメモリー パラレルクエリ オブジェクトのチューニング 索引の作成 チューニングアドバイザ アクセスアドバイザ パーティショニング マテリアライズド ビューの作成 表の圧縮 SQL のチューニングバインド変数の使用 ADDM ハードウェアの増強 SQL 文の修正 SQL プロファイルの作成 CPU/ メモリーの増強 I/O 帯域の増強 サーバーの追加 アクセスアドバイザ アクセスアドバイザ 圧縮アドバイザ (DBMS_COMPRESSION パッケージ ) チューニングアドバイザ チューニングアドバイザ 自動ストレージ管理 (ASM) を利用したストレージ追加 Real Appication Clusters 赤太字 Oracle Enterprise Manager で提供される機能 Copyright 2011, Oracle. All rights reserved. 5

オラクルの運用管理ソリューション Oracle Enterprise Manager ビジネス ユーザー ビジネス サービス エンタープライズ アプリケーション ミドルウェア データベース システムライフサイクル全体の効率化 プロアクティブな監視 深い診断と問題解決へのアドバイス オペレーションの自動化による効率化 構成情報の管理 サービスレベル管理 仮想化環境への対応 オペレーティング システム 仮想化層 Copyright 2011, Oracle. All rights reserved. 6

従来の SQL チューニング v$session など複数の表を検索して問題のあるセッションを特定 SQL> select username, event, sid from v$session このセッションから長時間実行されている SQL を v$sql などから特定 SQL> select sql_id, elapsed_time/1000000, executions, disk_reads from v$sql Statspack レポートを取得し 実行時間の長かった SQL を特定 SQL> @?/rdbms/admin/spreport.sql begin snap に値を入力してください : Statspack レポート例 特定した SQL の実行計画を表示し 問題のある場所を探して対処策を模索 SQL> select * from table(dbms_xplan.display_cursor 実行計画表示例 : 情報取得に多くの工数が必要 チューニング方法を見つけるまでに時間がかかりやすい チューニング効果を事前に見極めるのが困難 Copyright 2011, Oracle. All rights reserved. 7

Oracle Enterprise Manager による SQL チューニング 長時間実行されている SQL を特定 自動的に診断された結果を参照 アドバイザにより SQL のチューニング方法を分析 チューニング実施 アドバイスに従ってチューニング実施 情報収集の負担が無い ( データベースが自動収集 ) 自動診断やアドバイザにより迅速にチューニング方法を決定 自動的に見積もられたチューニング効果を見て判断可能 Copyright 2011, Oracle. All rights reserved. 8

Active Session History Active Session History (ASH) セッションの状況を待機イベント別にグラフィカルに表示 調べたい時間帯を選択すると 選択した 5 分間の上位 SQL や上位セッションを表示 Copyright 2011, Oracle. All rights reserved. 9

自動データベース診断モニター (ADDM) 自動データベース診断モニター (ADDM) AWR( 自動ワークロードリポジトリ ) のデータを定期的に自動診断 パフォーマンスについての診断結果を表示 対処方法をアドバイス 負荷の高い SQL を検出 SGA の領域不足を検出 問題解決のための具体的な設定方法をアドバイス Copyright 2011, Oracle. All rights reserved. 10

自動データベース診断モニター (ADDM) 行ロック待ちがパフォーマンスに影響を与えており アプリケーションのロジックを見直す必要がある ブロックしているセッションも検索可能 Copyright 2011, Oracle. All rights reserved. 11

自動データベース診断モニター (ADDM) リテラルの使用によりハード解析が多く発生 アドバイスは バインド変数を使用する または CURSOR_SHARING を FORCE に設定する Copyright 2011, Oracle. All rights reserved. 12

チューニングアドバイザ / アクセスアドバイザ 失効 欠落している統計の収集 SQL プロファイルの作成 推奨 索引の作成 AWR ADDM 高負荷な SQL 文 SQL チューニング アドバイザ SQL 文の再構成 パーティションの作成 フィルタリング / ランキング 複数の SQL 文 推奨 索引の作成 SQL アクセス アドバイザ マテリアライズド ビューの作成 Copyright 2011, Oracle. All rights reserved. 13

チューニングアドバイザ / アクセスアドバイザチューニングのアドバイスの例 上位 SQL から時間のかかっている SQL を特定し チューニングアドバイザを実行 SQL のチューニング方法についてアドバイスを取得 (11g では自動チューニングも可能 ) Copyright 2009, Oracle. All rights reserved. 14

新機能 リアルタイム SQL 監視 Copyright 2011, Oracle. All rights reserved. 15

より高度な SQL チューニングの手法 たとえば 一定のチューニングができたが さらに高い性能目標を満たすためにより細かいチューニングをほどこしたい 分析のため 実行計画の各ステップで何にどれくらい時間を使っているかを知りたい 細かいチューニングの後 どれくらい効果が出たかを詳しく確認したい SQL トレースによる分析 インスタンスのチューニング メモリー割り当ての変更 初期化パラメーターの変更 SQL の並列実行 ( パラレルクエリー ) オブジェクトのチューニング 索引の作成 パーティショニング マテリアライズド ビューの作成 表の圧縮 SQL チューニング バインド変数の使用 SQL 文の修正 SQL プロファイルの作成 ハードウェアの増強 CPU/ メモリーの増強 IO 帯域の増強 サーバーの追加 Copyright 2011, Oracle. All rights reserved. 16

より高度な SQL チューニングの手法 SQL トレースについて SQL 文が実際に実行された際の統計情報の出力 実行計画 の値は Oracle Database が実行前に見積もったもの 実行時に実際にどのようになったかは SQL トレースから確認することができる EM 画面あるいは DBMS_MONITOR パッケージを使用して取得 SQL 全体 また実行ステップごとに以下の情報が取得される 解析 実行 フェッチの各フェーズを行った回数 CPU 時間 経過時間 物理読取り 論理読取りでそれぞれ読み込んだブロック数 処理した行数 ライブラリ キャッシュ ミスの回数など TKPROF トレースファイルを整形するユーティリティ Copyright 2011, Oracle. All rights reserved. 17

より高度な SQL チューニングの手法 SQL トレースファイルの例 ( 整形後 ) TKPROF: Release 11.1.0.6.0 - Production on 金 3 月 26 16:49:21 2010 ( 略 ) call count cpu elapsed disk query current rows ------- ------ -------- ---------- ---------- ---------- ---------- ---------- Parse 1 0.00 0.06 0 0 0 0 Execute 1 0.00 0.00 0 0 0 0 Fetch 6 49.76 217.56 107265 108648 0 66 ------- ------ -------- ---------- ---------- ---------- ---------- ---------- total 8 49.77 217.62 107265 108648 0 66 Rows Row Source Operation ------- --------------------------------------------------- 66 HASH GROUP BY (cr=108648 pr=107265 pw=107265 time=0 us cost=74184 size=149310 card=1422) 8127334 HASH JOIN (cr=108648 pr=107265 pw=107265 time=2287676 us cost=73633 size=846531420 card=8062204) 102000 TABLE ACCESS FULL ITEM (cr=7387 pr=7383 pw=7383 time=19963 us cost=2019 size=5712000 card=102000) 8127334 HASH JOIN (cr=101261 pr=99882 pw=99882 time=2110269 us cost=47733 size=398239366 card=8127334) 73049 TABLE ACCESS FULL DATE_DIM (cr=1373 pr=0 pw=0 time=417 us cost=377 size=730490 card=73049) 8127334 TABLE ACCESS FULL STORE_SALES (cr=99888 pr=99882 pw=99882 time=1922464 us cost=27571 size=316966026 card=8127334) Elapsed times include waiting on following events: Event waited on Times Max. Wait Total Waited ---------------------------------------- Waited ---------- ------------ SQL*Net message to client 6 0.00 0.00 direct path read 951 0.04 0.64 SQL*Net message from client 5 0.00 0.01 Copyright 2011, Oracle. All rights reserved. 18

より高度な SQL チューニングの手法 SQL トレースによる分析の課題 分析に時間がかかりやすい グラフィカルではないので直感的に判断することが難しい パラレル実行の場合 I/O の偏りを判別するのも大変 再現待ちで時間が費やされる SQL トレースの設定後 問題のある SQL を再現しないといけない 再現するまで数時間 ~ 数日待つことも 不定期に起こる問題の場合はより困難 OS 統計は別途取得する必要がある vmstat など グラフ化する作業の手間もかかる オーバーヘッドに注意する必要がある トレースファイルへの大量の I/O が発生するため Copyright 2011, Oracle. All rights reserved. 19

リアルタイム SQL 監視 リアルタイム SQL 監視 とは 実行中の SQL を自動で監視し 詳細な統計を取得 EM のグラフィカルなレポート画面から分析ができる Oracle Database 11g からの新機能 Tuning Pack で提供 特長 GUI から簡単にボトルネックを突き止められる 再現待ちや特別な設定をせずすぐに分析を始められる レポートをエクスポートして外部で参照可能 オーバーヘッドがほとんどない Copyright 2011, Oracle. All rights reserved. 20

特長 1: GUI からのボトルネック分析 分析する SQL の特定 時間のかかっている SQL が自動的に監視されリストされる ( 経過時間等でソート可能 ) この SQL 実行全体の統計 実行計画のステップごとの統計など Copyright 2011, Oracle. All rights reserved. 21

特長 1: GUI からのボトルネック分析 SQL の実行状況の詳細確認 (1) SQL 実行全体の期間 ( 経過時間 ) のほか DB 時間や待機イベントの内訳を把握できる バッファ読取りより I/O バイト数が大幅に多い場合は ストレージがボトルネックになる傾向あり Copyright 2011, Oracle. All rights reserved. 22

特長 1: GUI からのボトルネック分析 SQL の実行状況の詳細確認 (2) 各ステップごとのメモリ (PGA) 一時表領域の使用状況 各ステップごとの実行タイミングや実行時間など ( ここでは ITEM 表 DATE_DIM 表 STORE_SALES 表の順に読み取りながら結合している ) 実行計画で予想された行数と実際に返された行数の比較も容易 各ステップごとの待機イベントの発生個所やその内訳も簡単にわかる Copyright 2011, Oracle. All rights reserved. 23

特長 1: GUI からのボトルネック特定パラレルクエリの実行状況 パラレルクエリの場合はパラレル度に関する情報も表示される パラレルサーバーごとの統計を表示するビューが現れる 全スレーブプロセスで DB 時間や I/O 量などが均等であることをグラフィカルに確認できる Copyright 2011, Oracle. All rights reserved. 24

特長 1: GUI からのボトルネック特定実行中のデータ参照 ( 今ここ! マーク ) 現在実行中であることを示すマーク 今ここ! 進行状況がわかるため あとどれくらいで ( バッチなどの ) 処理が終了するか 見当をつけられる Copyright 2011, Oracle. All rights reserved. 25

特長 1: GUI からのボトルネック特定 SQL 全文とバインド変数の参照 SQL_ID 横の i マークをクリックすると SQL 全文に加え 実行時にバインド変数に入っていた値も参照可能 (Oracle Database 11g R2 以降 ) Copyright 2011, Oracle. All rights reserved. 26

特長 1: GUI からのボトルネック特定時系列グラフ 時系列のデータもシームレスに分析可能 チューニング前後で CPU がきちんと使われるようになったか IO スループットが改善したか などを素早くチェック Copyright 2011, Oracle. All rights reserved. 27

特長 2: 再現待ちや特別な設定が不要 SQL 監視は自動的に実行される 自動実行される条件 5 秒以上のCPU 時間またはI/O 時間を消費しているSQL または パラレル実行されているSQL 手動実行する方法 ヒント句 /*+MONITOR*/ [ 参考 ] Oracle Database パフォーマンス チューニング ガイド 10.4 リアルタイム SQL 監視 http://download.oracle.com/docs/cd/e16338_01/server.112/b56312/instance_tune.htm#cacgeeif Copyright 2011, Oracle. All rights reserved. 28

特長 3: HTML でのエクスポート HTML ファイルにエクスポートすることで環境に直接アクセスできない場所でも分析可能 ローカル ( ブラウザを起動しているマシン ) に HTML で保存可能 Copyright 2011, Oracle. All rights reserved. 29

特長 4: オーバーヘッドがほとんどない 監視情報は V$ 表に保存される V$SQL_MONITOR, V$SQL_PLAN_MONITOR (11gで追加) V$SQLのサブセット 単一実行の統計 ( 複数実行の累積や平均ではない ) ディスクI/Oを伴うSQLトレースと違い SGA 上に格納される SQL> select sql_id, sql_exec_start, last_refresh_time, sql_exec_id, sid, fetches from v$sql_monitor where sql_id= 42nv7jt4dcz81 ; SQL_ID SQL_EXEC LAST_REF SQL_EXEC_ID SID FETCHES -------------- -------- -------- ----------- ------ -------- 42nv7jt4dcz81 10-04-01 10-04-01 16777216 170 6 Copyright 2011, Oracle. All rights reserved. 30

期待される導入効果 開発 テスト時からのチューニング精度の向上 カットオーバー後に発生した性能問題の迅速な解決 長時間かかる SQL( バッチなど ) への正確な対処 V$ 表や Statspack による切り分け SQL トレース設定 OS スクリプト作成 再現待ち 集めた情報の整形 分析 従来のチューニング リアルタイム SQL 監視を使用したチューニング SQL 監視結果の分析 時間 Copyright 2011, Oracle. All rights reserved. 31

活用例その 1 Copyright 2011, Oracle. All rights reserved. 32

障害発生! データベーストラブル対応 24 時 データ投入のバッチジョブが明け方になっても終わらない ジョブコントローラーからアラート通知 後続のバッチジョブも控えている 朝 9 時までに解決しないとオンライン業務に影響が出る 原因は? すぐに解決するか?? バッチを停止するか? 完了するまで待つか? ジョブコントローラー Copyright 2011, Oracle. All rights reserved. 33

いままでなら 問題の切り分け 分析用の情報を取得 障害対処用のスクリプトを準備していなければ 作成する時間も必要 $sqlplus / as sysdba SQL>@lockchk.sql KROWN で発見したハング時の情報取得スクリプトを利用 3 分間隔で 3 回取得 $vmstat $iostat OS 側の情報も取得 データベース全体か バッチ処理セッションの問題かを分析 各情報を関連付けるのが大変 量も多い時間は過ぎていく Copyright 2011, Oracle. All rights reserved. 34

いままでなら ( 参考 ) ハング時に取得する情報 --- begin [lockchk10.sql] --- define spoolfile = &1 spool &spoolfile alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS'; alter session set timed_statistics = true; alter session set max_dump_file_size = UNLIMITED; set feedback on set term on set wrap on set trimspool on set pagesize 1000 set linesize 2000 set numwidth 10 set echo on Select to_char(sysdate) start_time from dual; alter session set events 'immediate trace name systemstate level 10'; alter session set events 'immediate trace name hanganalyze level 3'; column host_name format a20 tru ; select instance_name, host_name, version, status, startup_time from v$instance; select * from v$session; select * from v$process select * from v$bgprocess; select * from v$lock; select * from v$locked_object; select * from v$session_wait; select * from v$latch; select * from v$latchholder; select * from v$rowcache; set echo off Prompt; Prompt Output file name is:; define spoolfile Prompt;Prompt ALERT.LOG and TRACE FILES are located in:; column host_name format a12 tru column name format a20 tru column value format a60 tru select distinct i.host_name, p.name, p.value from v$instance i, v$parameter p where p.name like '%_dump_dest' and p.name!= 'core_dump_dest'; select to_char(sysdate) end_time from dual; spool off exit --- end [lockchk10sql] --- Copyright 2011, Oracle. All rights reserved. 35

いままでなら 実行中の SQL 確認と対処の判断 SID112 SID122 SID116 採番テーブルのロック待機のセッションを複数発見 ロックを獲得しているセッションを特定 採番テーブルをUpdate 後 commitしないまま 待機イベントdb file scattered readが発生している この SQL と実行計画を確認 採番テーブル update V$ 表への SQL を書くだけでも時間がかかる しかも SQL*Plus ではフォーマットも考えないと見づらい Insert-Select 文であることが判明 処理を止めてしまう? 処理完了を待つ? どうする? 処理が終わらないと他の待機セッションもそのまま 再発防止のため SQL はどうチューニングしたらよいのだろう? 詳細をとっておきたいけれど SQL トレースを仕掛けるような余裕もなさそう SID97 insert into order_detail select id, c_name from もう時間が Copyright 2011, Oracle. All rights reserved. 36

Oracle Enterprise Manager を使えば 問題の切り分け データベースの状態をおおまかに把握 複数セッションで待機が発生している OS 側のリソースは問題ないようだが Oracle プロセスが CPU を使っている Copyright 2011, Oracle. All rights reserved. 37

Oracle Enterprise Manager を使えば 問題の切り分け アクティブセッションの状態を確認 行ロック待機を表す Application が多い この待機は複数の SCOTT のセッションで発生しており 同一の UPDATE 文で待っているらしきことが一目でわかる Copyright 2011, Oracle. All rights reserved. 38

Oracle Enterprise Manager を使えば 問題の切り分け セッション ID126 の処理がブロック原因になっている セッション ID126 の詳細は?( 次ページ ) ブロックされているセッション Copyright 2011, Oracle. All rights reserved. 39

Oracle Enterprise Manager を使えば 問題の切り分け リアルタイムでグラフィカルな情報により情報取得 分析にかかる時間を大幅に短縮 セッション ID126 の処理は INSERT で待機イベントは db file scattered read( 全表検索 ) だ Copyright 2011, Oracle. All rights reserved. 40

Oracle Enterprise Manager を使えば 対処方法の判断 SQL 監視 タブをみると 確かに実行中の SQL が一つある 元の表からの select が 94% まで進んでいるので このまま進めることにしよう いまどれくらい進んでいるか? が簡単にわかるため冷静に素早く対処することができた Copyright 2011, Oracle. All rights reserved. 41

Oracle Enterprise Manager を使えば 再発防止策の調査 実行 この insert 文に対してチューニング アドバイザを実行したところ 索引の作成 が最も効果があるとのアドバイス チューニングアドバイザ 実行計画を比較すると 3 倍以上の効果が見込めることがわかる 一次対応完了後 チューニングも行うことができた Copyright 2011, Oracle. All rights reserved. 42

活用例その 2 Copyright 2011, Oracle. All rights reserved. 43

チューニングの効果を知りたい SQL の並列実行 ( パラレル クエリー ) によりチューニング Oracle Database 11g R2 では インメモリ パラレル クエリー が登場 通常のパラレル クエリーでは 高速化するもののディスク I/O がボトルネックとして残ることが多い TABLE ACCESS FULL 時に direct path read が大量発生 インメモリ パラレル クエリー を使用することで ディスク I/O が劇的に減り CPU 使用率が向上し SQL の高速化を実現 どうやって効果を確認するか? 実行計画 待機イベント パーティションごとの I/O CPU 統計 Copyright 2011, Oracle. All rights reserved. 44

[ 参考 ] インメモリー パラレル クエリーについて 9X 40X インメモリー パラレル クエリーの詳細については Oracle GRID Centerにて公開されているホワイトペーパーおよび検証報告をご参照ください http://www.oracle.co.jp/solutions/grid_center/nec/index.html http://www.oracle.co.jp/solutions/grid_center/nssol/index.html

チューニング前 ( シリアル クエリー ) 表のフルスキャンにより 13GB の I/O が発生 db file scattered read が待機イベントのほとんどを占めている 16 スレッド (4 コア 2CPU HT) 利用できるのにもかかわらず 1 スレッド分も使い切れていない I/O スループットはわずか 30MB/s ほど Copyright 2011, Oracle. All rights reserved. 46

チューニング後 ( パラレル クエリー ) パラレル化されている パラレル化されたことで所要時間が改善されたしかし 引き続き 13GB のディスク I/O が direct path read を発生させて ボトルネックになっている シリアル クエリーと比較して CPU 使用効率は改善 ( 平均 5 スレッドほど ) しているが ストレージのボトルネックにより まだ空きリソースがある 今回のストレージの最大性能である 350MB/s ほどに達している Copyright 2011, Oracle. All rights reserved. 47

チューニング後 ( インメモリ パラレル クエリー ) インメモリ パラレル クエリにより I/O が無くなった! I/O が無くなったため I/O スループットのグラフも空に Copyright 2011, Oracle. All rights reserved. 48

まとめ Copyright 2011, Oracle. All rights reserved. 49

まとめ リアルタイム SQL 監視 実行中の SQL を自動で監視し 詳細な統計を取得 EM のグラフィカルなレポート画面から分析ができる 開発 テスト時からのチューニング精度の向上 カットオーバー後に発生した性能問題の迅速な解決 長時間かかる SQL( バッチなど ) への正確な対処 Copyright 2011, Oracle. All rights reserved. 50

参考情報 Copyright 2011, Oracle. All rights reserved. 51

参考情報 Oracle Database パフォーマンス チューニング ガイド 10.4 リアルタイム SQL 監視 http://download.oracle.com/docs/cd/e16338_01/server.112/b 56312/instance_tune.htm#CACGEEIF Oracle Database 11g: リアルタイム SQL 監視 http://www.oracle.com/technology/global/jp/products/manage ability/database/sqlmonitor.html サンプルのアクティブレポートを見ることができます チュートリアル http://www.oracle.com/technology/global/jp/obe/11gr2_db_pro d/manage/sqlmonitor/sqlmonitor.htm Copyright 2011, Oracle. All rights reserved. 52

OTN ダイセミでスキルアップ!! 一般的な技術問題解決方法などを知りたい! セミナ資料など技術コンテンツがほしい! Oracle Technology Network(OTN) を御活用下さい http://forums.oracle.com/forums/main.jspa?categoryid=484 一般的技術問題解決には OTN 掲示版の データベース一般 をご活用ください OTN 掲示版は 基本的に Oracle ユーザー有志からの回答となるため 100% 回答があるとは限りません ただ 過去の履歴を見ると 質問の大多数に関してなんらかの回答が書き込まれております http://www.oracle.com/technetwork/jp/testcontent/index-086873-ja.html 過去のセミナ資料 動画コンテンツは OTN の OTN セミナーオンデマンドコンテンツ へ ダイセミ事務局にダイセミ資料を請求頂いても お受けできない可能性がございますので予めご了承ください ダイセミ資料は OTN コンテンツオンデマンドか セミナ実施時間内にダウンロード頂くようお願い致します Copyright 2011, Oracle. All rights reserved. 53

OTN セミナーオンデマンドコンテンツダイセミで実施された技術コンテンツを動画で配信中!! ダイセミのライブ感はそのままに お好きな時間で受講頂けます 最新情報つぶやき中 oracletechnetjp 人気コンテンツは? お勧め情報 公開予告など OTN オンデマンド 掲載のコンテンツ内容は予告なく変更になる可能性があります 期間限定での配信コンテンツも含まれております お早めにダウンロード頂くことをお勧めいたします Copyright 2011, Oracle. All rights reserved. 54

Oracle エンジニアのための技術情報サイトオラクルエンジニア通信 http://blogs.oracle.com/oracle4engineer/ 技術資料 ダイセミの過去資料や製品ホワイトペーパー スキルアップ資料などを多様な方法で検索できます キーワード検索 レベル別 カテゴリ別 製品 機能別 コラム オラクル製品に関する技術コラムを毎週お届けします 決してニッチではなく 誰もが明日から使える技術の あ そうだったんだ! をお届けします オラクルエンジニア通信 こんな資料が人気です 6 か月ぶりに資料ダウンロードランキングの首位が交代! 新王者は Oracle Database 構築資料でした 最新情報つぶやき中 oracletechnetjp データベースの性能管理手法について Statspack 派も Enterprise Manager 派も目からウロコの技術特集公開中 Copyright 2011, Oracle. All rights reserved. 55

IT プロジェクト全般に渡る無償支援サービス Oracle Direct Concierge サービス パフォーマンス診断サービス Webシステムボトルネック診断サービス データベースパフォーマンス診断サービス 移行支援サービス SQL Serverからの移行支援サービス DB2からの移行支援サービス Sybaseからの移行支援サービス MySQLからの移行支援サービス Postgre SQLからの移行支援サービス Accessからの移行支援サービス Oracle Application ServerからWeblogicへ移行支援サービス NEW NEW システム構成診断サービス Oracle Database 構成相談サービス サーバー統合支援サービス 仮想化アセスメントサービス メインフレーム資産活用相談サービス BI EE アセスメントサービス 簡易業務診断サービス バージョンアップ支援サービス Oracle Database バージョンアップ支援サービス Weblogic Server バージョンアップ支援サービス Oracle Developer/2000(Froms/Reports) Web アップグレード相談サービス NEW オラクル社のエンジニアが直接ご支援しますお気軽にご活用ください! オラクル無償支援 検索 Copyright 2011, Oracle. All rights reserved. 56

1 日 5 組限定! 製品無償評価サービス 提供シナリオ一例 データベースチューニング 無停止アップグレード アプリケーション性能 負荷検証 Webシステム障害解析 インストールすることなく すぐに体験いただけます サービスご提供までの流れ 1. お問合せフォームより 製品評価サービス希望 と必要事項を明記し送信下さい 2. 弊社より接続方法手順書およびハンズオン手順書を送付致します 3. 当日は 弊社サーバー環境でインターネット越しに製品を体感頂けます Web 問い合わせフォーム サービスご提供には事前予約が必要です ダイデモ をキーワードに検索することで申し込みホームページにアクセスできます http://www.oracle.com/jp/direct/services/didemo-195748-ja.html Copyright 2011, Oracle. All rights reserved. 57

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

日本オラクル株式会社無断転載を禁ずこの文書はあくまでも参考資料であり 掲載されている情報は予告なしに変更されることがあります 日本オラクル社は本書の内容に関していかなる保証もいたしません また 本書の内容に関連したいかなる損害についても責任を負いかねます Oracle と Java は Oracle Corporation 及びその子会社 関連会社の米国及びその他の国における登録商標です 文中の社名 商品名等は各社の商標または登録商標である場合があります 本プレゼンテーションは 情報提供を唯一の目的とするものであり いかなる契約書または合意書に組み込むことはできません Copyright 2011, Oracle. All rights reserved. 59