SQL PERFORMANCE ANALYZER

Slides:



Advertisements
Benzer bir sunumlar
SQL Tuning Uygulamaları: SQLT ve SQLHC Araçlarının Kullanımı
Advertisements

Chapter 16: Sınıflar ve Veri Soyutlama (Classes and Data Abstraction )
T sql-diğer komutlar Metin Akbulut.
4 SQL- Yapısal Sorgulama Dili
SQL Temelleri Bilgisayar Mühendisleri Odası
Microsoft İş Zekası Yol Haritası
TURKISH ORACLE USER GROUP
Performance Tuning Performans Düzenleme Teknikleri.
Gerekli olduğunda insanlara ulaşın Yer Uzantıları Reach prospective customers at important moment with location extensions. Location Extentions.
H.Tonguç Yılmaz - Unutulmuş Özellikler: Oracle Veritabanına Yaptığınız Yatırımı Sonuna Kadar Kullanın TROUG Oracle Day 2011 etkinliği.
04/02/10 Django Web Uygulamaları Geliştirmede Çağdaş bir Yaklaşım.
© 2011 VMware Inc. All rights reserved Confidential VMware Corporate Overview Engin METİN VMware Kıdemli Sistem Mühendisi
VERİ TABANI YÖNETİMİ Ders 11: PL/SQL’e Giriş
SQL Structured Query Language (Yapısal sorgulama dili)
VTYS 2012 Mehmet Emin KORKUSUZ Ders - 06.
Google Display Network Targeting options.
Twinning Project TR 08 IB EN 03 Project over view & activities Integrated Permitting and Inspection in Turkey Cesar Seoanez – Resident Twinning Advisor.
Chapter 3: SQL.
VERİ TABANI YÖNETİMİ Ders 10: Oracle Nesneleri
Analyzer. De-risking Business Change Increasing Productivity Track usage proficiency and process improvement Admin set the best practice capture Set the.
Bölüm 7 - Diziler İçerik 7.1 Giriş 7.2 Diziler 7.3 Dizileri Tanımlama 7.4 Dizileri Kullanan Örnekler 7.5 Referanslar ve Referans Parametreler.
Veritabanı Yöneticisi
SQL Sorgu Örnekleri.
Javascript Kullanım Şekilleri.
VTYS 2012 Mehmet Emin KORKUSUZ Ders - 04.
Vbnet access bağlantısı, ekleme, güncelleme, silme
VeriTabanı Uygulama. Tabloları yaratmak için MySQL komutları.
MySQL, SQL ve PHP Öğr.Gör.Şükrü KAYA.
Veritabanı Temel Kavramlar ve
Iletisim Icin : Blog : E - Mail :
Departman ve Personel Tablosu Soruları
IE478 - Production Systems Design-Practice
ÖRNEKLER. musteri Id adi soyadi mus_satis Id barkod adet Urunlar barkod urun_adi kodu fiyati Stok_hareket tarih barkod gelen giden.
Bilgisayar Mühendisliği Bölümü
VeriTabanı Uygulama.
SQL Sibel SOMYÜREK.
SQL Komutları (2) Uzm. Murat YAZICI.
FONKSİYONLAR İbrahim Onur Sığırcı.
RAISE RECORD/CURSOR TRIGGER
VERİTABANI MİMARİSİ Talip Hakan ÖZTÜRK Bank ASYA – ORACLE DBA
VERİTABANI MİMARİSİ Talip Hakan ÖZTÜRK BANKASYA – ORACLE DBA
Bilgisayar Mühendisliği Bölümü
Veritabanı geliştiricileri için Oracle 11g yeni özellikleri
GRANT RESOURCE TO ayse; GRANT CONNECT TO ayse;
Veri Tabanı Yönetim Sistemleri 2 Ders 5 PL/SQL'e Giriş
Create Directory:  Server’daki bir directory’e alias atamak ve bu alias üzerinden bu directory’e db’deki bir dosyayı yazmak veya dosyayı buradan db’ye.
DISASTER RECOVERY SOLUTION
Bilgisayar Mühendisliği Bölümü
SİSTEM VERİTABANLARI. Sistem veritabanlarını tanıma. Kendi Login’imizi oluşturma Neler İşleyeceğiz?
Update UPDATE tablo_ismi SET sutun1=‘deger1’ WHERE sutun=deger.
GÜVENL İ K. Sunucu Seviyesinde Güvenlik Master Veritabanı (Kullanıcının gerekli yetkileri var mı?) Authentication Mod ◦ Windows Authentication Mod  Varsayılan.
Veri Tabanı Yönetimi Dersi 8. Laboratuvarı Arş. Gör. Pınar CİHAN.
S ORGU / DML / DDL KOMUTLARı İbrahim Onur Sığırcı.
EurobankTekfen SQL Server DBA Turgay Sahtiyan.
Bilgisayar Mühendisliği Bölümü
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Veri Tabanı Yönetimi Dersi 8. Laboratuvarı
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
14.DERS Örnekler, Sorular BUKET DOĞAN.
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Sorgu / dml / ddl komutları
RAISE RECORD/CURSOR TRIGGER
News You Can Use Homework A Peek at Our Week Upcoming Events
802.1CBdb draft text contribution
WHAT DOK LEVEL IS THE TASK? WHAT DOK LEVEL IS THE TASK?
Sunum transkripti:

SQL PERFORMANCE ANALYZER

Gündem: SQL Performance Analyzer (SPA) Nedir? SPA Neden gereklidir? SPA çalışma mantığı DEMO Script ile Enterprise Manager ile

SQL Performance Analyzer Nedir? 11g ile gelen bir özelliktir. Donanım değişikliği, işletim sistemine veya DB ye uygulanan upgrade,patch gibi işlemler, SQL Tuning, DB Parametre değişiklikleri v.s işlemlerde sql sorgu performansının test edildiği bir üründür. 1

SPA Neden Gereklidir? Execution planı değişen sqlleri tespit etmek, Performans istatistikleri değişen sqlleri tespit etmek, Son kullanıcı etkilenmeden gerekli önlemleri almak.

SPA Çalışma Mantığı

Senaryo: 9i den 10g ye Upgrade

Real Application Testing Now Available for Earlier Releases BUGS Real Application Testing Now Available for Earlier Releases [ID 560977.1]

1- SQL trace dosyaları oluşturulur. ALTER SESSION SET tracefile_identifier=taliptrace; ALTER SESSION SET SQL_TRACE=TRUE; ALTER SESSION SET EVENTS '10046 trace name context forever, level 12'; ALTER SESSION SET SQL_TRACE=FALSE;

2- Trace dosyaları sadece object id leri tuttuğundan dolayı mapping_table oluşturulur. create table mapping_table as select object_id id, owner, substr(object_name, 1, 30) name from dba_objects where object_type NOT IN ('CONSUMER GROUP', 'EVALUATION CONTEXT', 'FUNCTION', 'INDEXTYPE', 'JAVA CLASS', 'JAVA DATA', 'JAVA RESOURCE', 'LIBRARY', 'LOB', 'OPERATOR', 'PACKAGE', 'PACKAGE BODY', 'PROCEDURE', 'QUEUE', 'RESOURCE PLAN', 'SYNONYM', 'TRIGGER', 'TYPE', 'TYPE BODY') union all select user_id id, username owner, null name from dba_users;

3- Trace dosyaları ve mapping _table 11g ye import edilir

4- Trace dosyalarının kopyalanacağı DIRECTORY oluşturulur create or replace directory talipdir as 'C:\trace'; --as sysdba grant read,write on directory talipdir to talip; --as sysdba 5- 10g ye bağlanacağımız DBLINK oluşturulur CREATE PUBLIC DATABASE LINK taliplink CONNECT TO talip IDENTIFIED BY "talip" USING 'ORA10G' ;

6- Trace dosyalarından SQL Tuning Set oluşturulur declare mycur dbms_sqltune.sqlset_cursor; begin dbms_sqltune.create_sqlset(‘STS'); open mycur for select value(p) from table(dbms_sqltune.select_sql_trace( directory => ‘TALIPDIR', file_name => '%taliptrace', mapping_table_name => 'MAPPING_TABLE', select_mode => dbms_sqltune.SINGLE_EXECUTION)) p; dbms_sqltune.load_sqlset( sqlset_name => ‘STS', populate_cursor => mycur, commit_rows => 1000); close mycur; end; /

Enterprise Manager üzerinde SPA

7- SPA Task oluşturulur dbms_sqlpa.create_analysis_task( task_name => ‘SPA_TASK’, description => ‘Experiment for 9i to 10gR2 upgrade’, sqlset_name => ‘STS’);

8- 9i deki istatistik bilgileri STS den elde edilir dbms_sqlpa.execute_analysis_task( task_name => ‘SPA_TASK’, execution_name => ‘version1’, execution_type => ‘CONVERT SQLSET’, execution_desc => ‘9i sql trial generated from STS’);

9- 10g deki istatistik bilgileri DBLINK kullanılarak elde edilir dbms_sqlpa.execute_analysis_task( task_name => ‘SPA_TASK’, execution_name => ‘version2’, execution_type => ‘TEST EXECUTE’, execution_desc => ‘remote test-execute trial on 10g db’, execution_params => dbms_advisor.arglist( ‘DATABASE_LINK’, ‘TALIPLINK’));

10- 9i ve 10g den elde edilen değerler karşılaştırılır dbms_sqlpa.execute_analysis_task( task_name => ‘SPA_TASK', execution_name => ‘version3', execution_type => ‘COMPARE PERFORMANCE’, execution_params => dbms_advisor.arglist( 'COMPARISON_METRIC', 'CPU_TIME', 'EXECUTION_NAME1', ‘version1', 'EXECUTION_NAME2', ‘version2'), execution_desc => 'Compare 9i SQL Trace Performance ' || 'to 10g Test-Execute for CPU_TIME');

11- HTML rapor elde edilir -- spool reports to files set heading off long 1000000000 longchunksize 10000 echo off; set linesize 1000 trimspool on; -- summary report for CPU_TIME metric spool cpu_summary.html select xmltype(dbms_sqlpa.report_analysis_task( ‘SPA_TASK', /* task_name */ 'html', /* type */ 'typical', /* level */ 'summary', /* section */ null, /* object_id */ 100, /* top_sql */ ‘version3') /* execution_name */ ).getclobval(0,0) from dual; spool off

TEŞEKKÜRLER Talip Hakan ÖZTÜRK Bilgisayar Mühendisi Oracle Certified Professional 10g Oracle Certified Associate 10g Oracle Certified SQL Expert talip_hakan_ozturk@hotmail.com http://taliphakanozturk.wordpress.com http://forum.ceturk.com/oracle