Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

SQL PERFORMANCE ANALYZER

Benzer bir sunumlar


... konulu sunumlar: "SQL PERFORMANCE ANALYZER"— Sunum transkripti:

1 SQL PERFORMANCE ANALYZER

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

3 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

4 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.

5 SPA Çalışma Mantığı

6 Senaryo: 9i den 10g ye Upgrade

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

8 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;

9 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;

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

11 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' ;

12 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; /

13 Enterprise Manager üzerinde SPA

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

15 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’);

16 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’));

17 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');

18

19 11- HTML rapor elde edilir
-- spool reports to files set heading off long longchunksize 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

20

21 TEŞEKKÜRLER Talip Hakan ÖZTÜRK Bilgisayar Mühendisi
Oracle Certified Professional 10g Oracle Certified Associate 10g Oracle Certified SQL Expert


"SQL PERFORMANCE ANALYZER" indir ppt

Benzer bir sunumlar


Google Reklamları