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

Similar documents
スライド 1

PA4


1 発病のとき

untitled

PowerPoint プレゼンテーション

MaxGauge_診断分析プロセス



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

n n n ( ) n Oracle 16 PostgreSQL 3 MySQL

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

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

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

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

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

Slide 1

Microsoft PowerPoint - 講義補助資料2017.pptx

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

橡ExCtrlPDF.PDF

データベースS

tkk0408nari

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

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

プレポスト【問題】

PowerPoint Presentation

Microsoft PowerPoint - 第5章補足-DB2組み込みSQL.ppt

1

Basic descriptive statistics

クエリの作成が楽になるUDF

Microsoft Word - Android_SQLite講座_画面800×1280


: ORDER BY

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

今週の進捗


Microsoft PowerPoint - db03-5.ppt

Microsoft Word - J-jdev_dba_db_developers.doc

PowerPoint プレゼンテーション

Taro php.jtdc

SQLite データベース IS04 組み込み 1

How to Use the PowerPoint Template

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

,, create table drop table alter table

Microsoft Word - Lab5d-DB2組み込みSQL.doc

eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索

Oracle活用実践演習コース

標準化 補足資料

0

Oracle Database Connect 2017 JPOUG

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

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

スライド 1

Chapter Two

PowerPoint Presentation

OPENSQUARE

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

Chapter Two

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

Exam : 1z0-882 日本語 (JPN) Title : Oracle Certified Professional, MySQL 5.6 Developer Vendor : Oracle Version : DEMO 1 / 4 Get Latest & Valid 1z0-882-JP

第 1 章 条件分岐 この章では 条件に応じて処理を分岐する方法について説明します 1. CASE 式で複雑な条件分岐を実現 2. 関数を使用した条件分岐 3. MERGE 文による条件に応じた DML の実行

1 ex01.sql ex01.sql ; user_id from (select user_id ;) user_id * select select (3+4)*7, SIN(PI()/2) ; (1) select < > from < > ; :, * user_id user_name

SET 80 MENU SET 2 3 MENU SET SET 5 MF// / MODE PLAY ON/OFF DISP T W ACCESS CARD 4 1PLAY ON/OFF C

電磁波セキュリティガイドライン概要

第 2 章 問合せの基本操作 この章では データベースから情報を検索する際に使用する SELECT コマンド および SELECT コマンドと 同時に使用する句について説明します 1. 問合せとは 2. 基本的な問合せ 3. 列の別名 4. 重複行を一意にする 5. 検索行の絞込み 6. 文字パター

PowerPoint Presentation

Microsoft Word - PHP_SQLServer2012

gm3280-d_j.indd

1,.,,,., RDBM, SQL. OSS,, SQL,,.

HO…−†[…t†QŁ\1


「諸雑公文書」整理の中間報告

ITdumpsFree Get free valid exam dumps and pass your exam test with confidence

自己紹介 長田悠吾 (Yugo Nagata) SRA OSS, Inc. 日本支社 PostgreSQL 技術支援 コンサルティング PostgreSQL インターナル講座講師 研究開発 Copyright 2018 SRA OSS, Inc. Japan All right

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

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

PLAY PLAY MENU SET PREVIEW DISP MF/ / T W REC OFF PLAY MODE 5 SET 3 MENU SET PREVIEW/ PREVIEW DISP MF/ / T W REC OFF PLAY MODE C 1

ビークル分析重複閲読者率集計 調査回設定 3 調査回選択 分析対象の調査回を選択します 設定 > ボタンを押下すると 指定した調査回が確定されます 3 次画面へ遷移 地区 > ボタンを押下すると

Microsoft Word - sample_adv-programming.docx

PostgreSQL 9.4 評価検証報告 SRA OSS, Inc. 日本支社高塚遙 :55 ~ 16:30 PostgreSQL 9.4 最新情報セミナー Copyright 2014 SRA OSS, Inc. Japan All rights reserved. 1

PowerPoint Presentation

Advantage CA-Easytrieve Plus

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

Slide 1

検証事例 富士通株式会社

Agenda

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

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

Wiki Wiki Wiki...

WEBシステムのセキュリティ技術

m

32

Microsoft PowerPoint pptx

Oracle9i

dbMAGIC Ver8.2 SQLガイド

アルファテック ( ビージェーソフト ) 製品 FlexNet ライセンスログ解析ツール ユーザガイド 本書は アルファテック ( ビージェーソフト ) 製品の FlexNet ネットワークライセンス使用ユーザ向けのライセンスログ解析ツールのユーザガイドです


1

タイトルを1~2行で入力 (長文の場合はフォントサイズを縮小)

OWI(Oracle Wait Interface)の概要

Transcription:

チューニング検討 体感的に遅い SQL を特定出来 Y N 一定期間の統計から抽出す N Y SQL トレース &TKPROF STATSPACK EXPLAIN PLAN コマンド 現在の状況から抽出する N Y AUTOTRACE 動的パフォーマンスヴュー V$SQL V$SQL_TEXT V$SQLL_PLAN 1

2) V$ 表 ( 動的パフォーマンスヴュー ) 1 使用するヴュー V$SQL 2 検証 SQL 後頁 5. 検証プログラム仕様 参照 3 抽出基準 STATSPACK 同様に以下を抽出基準とする 1. 物 1. 実行時間の長い SQL を抽出する 2. バッファ読込みブロックの多い SQL を抽出する 3. 実行回数の多い SQL の抽出 1. 実行時間の長い SQL を抽出する 実行時間の長い順に SQL を列挙し それぞれ構文解析 実行回数 バッファ読取バイト数 1 回実行あたりのバッファとディスク読込みバイト数等を検証する sql_text,parse_calls,executions,buffer_gets,disk_reads, trunc(buffer_gets/executions,2) buffer_per_run,trunc(disk_reads/executions,2) disk_per_run, cpu_time,elapsed_time from v$sql 実行時間の長い (ELAPSED_TIME) ものから順に出力している where executions > 0 and rownum <= 8 order by elapsed_time desc; SQL_TEXT, PARSE_CALLS EXECUTIONSBUFFER_GDISK_READS BUFFER_PERDISK_PER_EXE CPU_TIME ELAPSED_TIME lock table sys.mon_mods$ in exclusive mode nowait 5 5 28 1 5.6 0.2 12706 27545 count(*) from sys.job$ where (next_date > sysdate) and (next_date < 90 0 90 1 1 0.01 26940 26940 where NO =2order by NO 17 17 1428 0 84 0 26657 26657 lock table sys.col_usage$ in exclusive mode nowait 61 61 30 0 0.49 0 26590 26590 intcol#,type,flags,lo bcol,objcol,extracol, schemaoid, elemnum from opqtype$ where obj# = :1 order by 3 3 75 3 25 1 18464 25700 obj# from oid$ where user#=:1 and 2 1 41 3 20.5 1.5 14994 25275 file# from file$ where ts#=:1 2 2 17 2 8.5 1 5490 24800 where NO =6order by NO 16 16 1344 0 84 0 24755 24755 where NO =5order by NO 16 16 1344 0 84 0 24721 24721 検証用に用意した SQL の実行時間がワースト 8 に アスタリスクを使用して検索しているので解析効率が悪く実行時間が 2

( 赤枠のところ ) 登場している アスタリスクを使用し重複行の排除 (distinct) をしているので負荷と アスタリスクを使用して検索しているので解析効率が悪く実行時間が長くパフォーマンスのネックとなる事が判る 解析呼び出し (PARSE_CALL) を 90 回も繰り返しており構文解析のキャッシュ ( ライブラリキャッシュ ) を再利用出来ていないので効率が悪 2. バッファ読込みブロックの多いSQLを抽出する 上記 1. 同様にバッファ読込みブロックの多い順に抽出する sql_text,parse_calls,executions,buffer_gets,disk_reads, trunc(buffer_gets/executions,2) buffer_per_run,trunc(disk_reads/executions,2) disk_per_run, cpu_time,elapsed_time from v$sql バッファからの読込み回数の多い順 where buffer_gets > 0 and rownum <= 8 order by buffer_gets desc; SQL 文 PARSE_CALLS EXECUTIONSBUFFER_GDISK_READS BUFFER_PERDISK_PER_EXE CPU_TIME ELAPSED_TIME 134 134 11256 0 84 0 191963 206010 where NO =7order by NO 118 118 9947 0 84.29 0.7 185049 251486 where NO =2order by NO 17 17 1428 0 84 0 26657 26657 pos#,intcol#,col#,sp 214 55 1396 0 6.52 0 62015 62015 con#,type#,condlen 111 43 1363 1 12.27 0 68590 170949 16 16 1344 0 84 0 24755 24755 /*+ rule */ 16 16 1344 0 84 0 24721 24721 bucket_cnt, row_cnt, cache_cnt, null_cnt, timestamp#, 439 12 1299 38 2.95 0.08 111887 901151 実行回数が多い分バッファからの読込み回数も多く負荷となっている事が判る ただし ディスクからの読込みは 0 であり これは 概ねディスク読込みは 0 となっており 最初の読込み以外はバッファキャッシュから読まれている事を意味しており最も負荷の高いディスクからの読込みがネックとはなっていない 3. 実行回数の多い SQL の抽出 sql_text,parse_calls,executions,buffer_gets,disk_reads, trunc(buffer_gets/executions,2) buffer_per_run,trunc(disk_reads/executions,2) disk_per_run, cpu_time,elapsed_time from v$sql 3

where executions > 0 and rownum <= 実行回数 8 (EXECUTIONS) が多いものを order by executions desc; SQL_TEXT, PARSE_CALLS EXECUTIONSBUFFER_GDISK_READS BUFFER_PERDISK_PER_EXE CPU_TIME ELAPSED_TIME where NO =1order by NO 48 48 4032 0 84 0 86770 88480 FROM menber where NO =1order 48 48 144 0 3 0 47576 47576 pos#,intcol#,col#,sp are1,bo#,spare2 from icol$ where 5 42 254 7 6.04 0.16 24457 67951 4

name,intcol#,segcol #,type#,length,nvl(p recision#,0),decode( type#,2,nvl(scale,- 127/*MAXSB1MIN AL*/),178,scale,179,scale,180,scale,181,scale,182,scale,183,scale,231,scale,0),n ull$,fixedstorage,nvl (deflength,0),default $,rowid,col#,propert y, nvl(charsetid,0),nvl( charsetform,0),spar e1,spare2,nvl(spare 3,0) from col$ 6 32 249 5 7.78 0.15 56608 142969 where NO =7order by NO 30 30 2520 0 84 0 48728 48728 i.obj#,i.ts#,i.file#,i.blo ck#,i.intcols,i.type#,i.flags,i.property,i.pct free$,i.initrans,i.max trans,i.blevel,i.leafcn t,i.distkey,i.lblkkey,i. dblkkey,i.clufac,i.col s,i.analyzetime,i.sam plesize,i.dataobj#,nv l(i.degree,1),nvl(i.ins tances,1),i.rowcnt,m od(i.pctthres$,256),i.indmethod#,i.trunc cnt,nvl(c.unicols,0), nvl(c.deferrable#+c. valid#,0),nvl(i.spare 1,i.intcols),i.spare4,i. spare2,i.spare6,dec ode(i.pctthres$,null, null,mod(trunc(i.pct thres$/256),256)),is t.cachedblk,ist.cach ehit,ist.logicalread from ind$ i, ind_stats$ ist, ( enabled, min(cols) unicols,min(to_numb er(bitand(defer,1))) deferrable#,min(to_ number(bitand(defe r,4))) valid# from 7 30 495 17 16.5 0.56 106761 277985 5

t.ts#,t.file#,t.block#, nvl(t.bobj#,0),nvl(t.t ab#,0),t.intcols,nvl(t. clucols,0),t.audit$,t.f lags,t.pctfree$,t.pct used$,t.initrans,t.ma xtrans,t.rowcnt,t.blk cnt,t.empcnt,t.avgs pc,t.chncnt,t.avgrln, t.analyzetime,t.sam plesize,t.cols,t.prop erty,nvl(t.degree,1), nvl(t.instances,1),t.a vgspc_flb,t.flbcnt,t.k ernelcols,nvl(t.trigfl ag, 0),nvl(t.spare1,0),nvl (t.spare2,0),t.spare4,t.spare6,ts.cachedb lk,ts.cachehit,ts.logi calread from tab$ t, tab_stats$ ts where 5 30 289 30 9.63 1 81880 422601 FROM menber where NO =7order 30 30 90 0 3 0 29166 67598 6