Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

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

Benzer bir sunumlar


... konulu sunumlar: "SQL PERFORMANCE ANALYZER. Gündem:  SQL Performance Analyzer (SPA) Nedir?  SPA Neden gereklidir?  SPA çalışma mantığı  DEMO  Script ile  Enterprise."— 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 1 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.

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 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 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; / 6- Trace dosyalarından SQL Tuning Set oluşturulur

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 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’)); 9- 10g deki istatistik bilgileri DBLINK kullanılarak elde edilir

17 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'); 10- 9i ve 10g den elde edilen değerler karşılaştırılır

18

19 -- 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 11- HTML rapor elde edilir

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. Gündem:  SQL Performance Analyzer (SPA) Nedir?  SPA Neden gereklidir?  SPA çalışma mantığı  DEMO  Script ile  Enterprise." indir ppt

Benzer bir sunumlar


Google Reklamları