スライド 1

Similar documents
untitled

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

PA4

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

目次 1 集計関数 / 分析関数とは 2 集計関数 / 分析関数のパフォーマンス効果 3 ケーススタディグループ小計やクロス集計を計算するランキングを表示する前月比較を表示する累計を計算する移動平均を計算する構成比を計算する Oracle8i SQL Oracle8i Oracle Oracle C

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

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

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

Slide 1

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

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

MaxGauge_診断分析プロセス

PowerPoint Presentation

PowerPoint Presentation

PostgreSQL SQL チューニング入門 ~ Explaining Explain より ~ 2012 年 11 月 30 日 株式会社アシスト 田中健一朗

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

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

OWI(Oracle Wait Interface)の概要

Oracle Database Connect 2017 JPOUG

Oracle Database 19c の注目ポイント 年 07 月 23 日株式会社コーソル渡部亮太 Copyright 2019 CO-Sol Inc. All Rights Reserved. 1

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

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

untitled

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

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

A. 前ページからの続きです DBMS_SPACE.UNUSED_SPACE の各パラメータの意味 segment_owner = オブジェクトの所有者 segment_name = オブジェクト名 segment_type = オブジェクトタイプ total_blocks = セグメント合計ブロッ

How to Use the PowerPoint Template

Null

Slide 1

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

このドキュメントに記載されている情報 (URL 等のインターネット Web サイトに関する情報を含む ) は 将来予告なしに変更することがあります このドキュメントに記載された内容は情報提供のみを目的としており 明示または黙示に関わらず これらの情報についてマイクロソフトはいかなる責任も負わないもの

Null

Slide 1

Oracle9i

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

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

Agenda

PowerPoint Presentation

Null

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

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

橡ExCtrlPDF.PDF

Slide 1

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

perf_tool.PDF

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

はじめに Oracle のチューニングポイントは 待機イベントを減らすこと!! 待機イベントの解消 = パフォーマンス向上 2

Microsoft Word - nvsi_050090jp_oracle10g_vlm.doc

1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058

How to Use the PowerPoint Template

Microsoft PowerPoint pptx

Slide 1

PowerPoint Presentation

Oracle Database 11g × Hitachi Storage Solutionsのベストプラクティス

PowerPoint Presentation

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

スライド 1

Slide 1

はじめに コース概要と目的 Oracle を使用した開発 管理を行う上でのファースト ステップとして リレーショナル データベース管理ソフトウェアである Oracle の役割 基本機能 基本アーキテクチャを幅広く理解することを目的としています 受講対象者 これから Oracle を使用する方 データ

Slide 1

復習 (SQL 文 ) 3/6 復習 (SQL 文 ) 4/6 表の作成 CREATE TABLE...; 表の削除 DROP TABLE テーブル名 ; 表内のデータが全て消えてしまう. 表内のデータを得る SELECT 列名 FROM 表名...; 表にデータを挿入する. INSERT INTO

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

PowerPoint Presentation

SQL 基礎 (6) JOIN 句 - データの結合 作成日 : 2016/02/22 作成者 : 西村 更新履歴 更新日 更新概要 作業者 2016/02/22 新規作成 西村 はじめに この資料では 下記のような JOIN によるテーブル ( データ ) の結合について簡単に説明します INNE

Windowsユーザーの為のOracle Database セキュリティ入門

How to Use the PowerPoint Template

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

領域サイズの見積方法

日本オラクル株式会社

n n n ( ) n Oracle 16 PostgreSQL 3 MySQL

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

Sequel のすすめ 私が SQL を嫌いな理由 とみたまさひろ RubyHiroba Sequel のすすめ - 私が SQL を嫌いな理由 Powered by Rabbit 2.0.7

imt_817_tuning_11_1822.PDF

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

オラクルのバックアップとリカバリの必須要件

Slide 1

ShikumiBunkakai_2011_10_29

Oracle Data Pumpのパラレル機能

Oracle XML DB によるスケーラビリティおよびパフォーマンス検証 - MML v.3.0

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

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

PowerPoint Presentation

Visual Basic Oracle Database 11 Release 1

Oracle Text 概要


1. IEEE Xplore 1.1. IEEE Xplore Institute of electrical and Electronics Engineers (IEEE) Institution of Electrical Engineers (IEE) 12, IEEE Xpl

Null

リアルタイムSQL監視

AIP2016 Oracleバックアップ・復旧ガイド

Oracle Database 11g Oracle Real Application Testing

Slide 1

Microsoft Word - nvsi_080188jp_r1_netvault_oracle_rac_backup_complemental_guide_j_174x217.doc

Oracle8簡単チューニング for Windows NT

Oracleの領域管理~トラブル防止のテクニック~

#odddtky Oracle DBA & Developer Days 2014 for your Skill 使える実践的なノウハウがここにある 津島博士のパフォーマンス講座 SQL チューニングの基礎 日本オラクル株式会社データベース事業統括製品戦略統括本部データベースエンジニアリング本部 担

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

NEC Storage series NAS Device

tkk0408nari

Oracle Database 12c Release 1 ( ) CoreTech Seminar

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

Transcription:

! ~Oracle Database を監視しよう ~ Session by Shinnosuke Akita 2014.02.00

Self Introduction Shinnosuke Akita Oracle DBA をやっています 今の現場は DB 設計もやっています 入社 2 年目 休日はランニングと家族サービス たまに小説も書いたり 勉強会にでかけたり 大衆酒場めぐりがマイブーム

Today s Agenda 悪玉 SQLを探し出せ! 突然データベースが遅くなったら? 本当にSQLが悪いのか? 被害者と加害者 SQLチューニングの基礎 Tips 紹介

データベースが突然遅くなった! エンドユーザに早く報告しなければならないだが 糸口が掴めない いったいどうすれば

いったい何が原因になり得るのか? SQL のプランが悪くなった? OS の問題? ディスク IO の問題? ネットワークの問題 (RAC の場合 )

アラートログにでも出てくれればいいが 正常に動いてはいるのなら 何も出してくれない 様々な要素をどう効率よく確認するかが解決を早くする!

Jonathan Lewis 氏に聞いてみた この問題は難しく 必ずしも同じパターンでいつも対応できるものではない だが 一般論としてお話はできる Oracle Ace トラブルシューティングや SQL オプティマイザが専門

一般的な確認順 OS CPU の確認 SQL の確認 スナップショットの確認 Top コマンドなどで OS の CPU を確認する 現在動いている SQL を確認する 現状のスナップショットを取得し いつもの状態と比較する

SQL を探してみる まずは 現状動いている SQL を見てみましょう select SID,USERNAME,PROGRAM,COMMAND,SQL_ID, STATUS,EVENT,P1,P2,P3,WAIT_TIME,SECONDS_IN_WAIT,last_call_et from v$session where status = 'ACTIVE' and USERNAME IS NOT NULL; 何度か叩いてみましょう 続けて出てくる SQL_ID があったら そいつが怪しいです

V$SESSION SID セッションのID USERNAME PROGRAM COMMAND SQL_ID STATUS EVENT SQLを実行したユーザの名前 SQLを実行したプログラム SQLを実行したコマンド SQLに振られたID アクティブかインアクティブか 今回はアクティブしか見ない待機をしている場合 何が理由で待機をしているか P1,P2,P3 EVENT の補足情報 (EVENT によって内容が変わる ) WAIT_TIME SECONDS_IN_WAIT LAST_CALL_ET 待機時間 -1 は 1/100 秒未満 現在の待機が開始されるまでの時間 セッションがアクティブになってからの時間

SQL_ID を探したら SQL をみてみましょう select sql_text from v$sqltext Where sql_id = XXXXXXX order by piece ; SQL_ID から SQL テキストを導き出します

実行計画を見てみる SQL がどのように実行されているかを見てみます まずは どんな実行計画があるか見てみましょう select sql_id, plan_hash_value, executions, optimizer_cost, application_wait_time,concurrency_wait_time,cluster_wait_time,user_io_w ait_time,plsql_exec_time,java_exec_time,buffer_gets,physical_read_bytes from v$sql Where sql_id = XXXXXXX ;

V$SQL SID_ID PLAN_HASH_VALUE EXECUTIONS SQL に振られた ID 実行計画の値 実行回数 OPTIMIZER_COST オプティマイザが計算したコスト ( 実行負荷 ) XXXX_WAIT_TIME XXXX による待機時間 (5 つの総計が処理時間 ) BUFFER_GETS PHYSICAL_READ_BYTES 論理読み込み数 物理読み込み数

本当に SQL が悪いのか?

遅い SQL が悪いとも限らない バッチ処理で時間がかかる SQL そもそも処理量が多い ( 分析系 ) ハードパース処理 普段の状態との比較をする必要がある

普段の状態をどう調べるか 普段の状態 現在の状態 Statspack AWR スナップショット間のデータベースの状態を確認できる デフォルトで 1 時間に 1 回取得する スナップショット間のデータベースの状態を確認できる 期間比較やアドバイス機能あり ( 有償 ) v$session ASH (Active Session History) Enterprise Manager 現在データベースにあるセッション情報を確認できる データベースにあるセッション情報の履歴を確認できる ( 有償 ) パフォーマンスタブで現在のデータベースの状態を確認できる ( 有償 )

被害者と加害者 注意すべきなのは 待機しているセッションは 被害者 であること 被害者を無くするのではなく 加害者 をどうするか考えるのが重要

待機イベント 待機イベントとは プロセスが SQL を処理するために (CPU を使わずに ) 待たなくてはいけない出来事のこと I/O やロック競合などの情報を確認できる 図 )buffer busy wait の例

待機イベント例 (1) db file sequencial read ファイル読み込み ( 単一ブロック ) による待機 サッポロラガーがあるかメニュー確認しているファイル読込 ) で店員さんを待たせている 待機させられている

待機イベント例 (2) free buffer waits バッファキャッシュに空きが無くて待機している 3 人で来たが 2 席しか空いていない

SQL チューニングの基礎 どうやってチューニングするのか? チューニングにはどのような方法があるのだろうか?

SQL チューニングの基礎 実行計画の取得 まずは事前準備 権限の取得 (sysdbaにて実行) GRANT PLUSTRACE to USERS; PLAN_TABLEの作成 ( なければ ) @?/rdbms/admin/utlxplan.sql

SQL チューニングの基礎 実行計画の取得 フォーマット設定 SQL> set lines 200 SQL> col plan_plus_exp format a200 SQL> set pages 0 SQL> set autotrace on; SQL 実行 select num from test2 where num = 1;

SQL チューニングの基礎 実行計画の中身 (1) 実行計画 ---------------------------------------------------------- Plan hash value: 2520579295 ------------------------------------------------------------------------------ Id Operation Name Rows Bytes Cost (%CPU) Time ------------------------------------------------------------------------------ 0 SELECT STATEMENT 1 4 1 (0) 00:00:01 * 1 INDEX RANGE SCAN TEST2_IX1 1 4 1 (0) 00:00:01 ------------------------------------------------------------------------------ Predicate Information (identified by operation id): --------------------------------------------------- 1 - access("num"=1)

SQL チューニングの基礎 実行計画の中身 (2) 統計 ---------------------------------------------------------- 1 recursive calls 0 db block gets 2 consistent gets 0 physical reads 0 redo size 283 bytes sent via SQL*Net to client 388 bytes received via SQL*Net from client 1 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 0 rows processed

SQL チューニングの基礎 主な問題 インデックスが無い 使用されない 表の結合と絞り込みの問題 ライブラリキャッシュが有効に使われていない インデックスを貼る 外部表で条件がある場合等 SQL 記述ルールとバインド変数化

SQL チューニングの基礎 ケース 1) ID OPERATION OPTIONS OBJECT_NAME OPT COST ---- -------------------- --------------- ---------------------- --- ---------- 0 SELECT STATEMENT CHO 1 NESTED LOOPS 125 2 VIEW 116 3 SORT UNIQUE 116 4 TABLE ACCESS FULL ORDERS ANA 40 5 TABLE ACCESS BY INDEX ROWID EMPLOYEES ANA 1 6 INDEX UNIQUE SCAN EMP_EMP_ID_PK ANA < チェックポイント > インデックスが使用されていない データを絞り込んでから JOIN していない

SQL チューニングの基礎 ケース 2) ID OPERATION OPTIONS OBJECT_NAME OPT COST ---- -------------------- --------------- ---------------------- --- ---------- 0 SELECT STATEMENT CHO 2 1 FAST DUAL 2 < チェックポイント > dual は内部的に発行する SQL が大量に発行される

SQL チューニングの基礎 解決のヒント SQL を書きなおす ヒント句を使う SQL 実行計画管理 (SPM) を使う SQL チューニングアドバイザ ( 有償 )

ORA-3113