Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

SQL Tuning Uygulamaları: SQLT ve SQLHC Araçlarının Kullanımı Bora YÜRET Oracle Veritabanı Yöneticisi T.C. Çalışma ve Sosyal Güvenlik Bakanlığı.

Benzer bir sunumlar


... konulu sunumlar: "SQL Tuning Uygulamaları: SQLT ve SQLHC Araçlarının Kullanımı Bora YÜRET Oracle Veritabanı Yöneticisi T.C. Çalışma ve Sosyal Güvenlik Bakanlığı."— Sunum transkripti:

1 SQL Tuning Uygulamaları: SQLT ve SQLHC Araçlarının Kullanımı Bora YÜRET Oracle Veritabanı Yöneticisi T.C. Çalışma ve Sosyal Güvenlik Bakanlığı

2 Sunum Konuları • SQLT ile tanışma • SQLXTRACT ve SQLTXECUTE metodları ile SQL incelenmesi • Test Ortamı Oluşturulması ve Test Senaryolarının Çalıştırılması • XPLORE metodu ile bir iyileştirme çalışması • SQLHC Kullanımı

3 SQLTXPLAIN (SQLT) Nedir? • SQLTXPLAIN (SQLT), Carlos Sierra tarafından kodlanmış, problemli çalışan SQL’leri inceleme aracıdır. • Add-on (Metalink Doc ID ) • Oracle 10g/11g/12c versiyonlarında çalışıyor. • Linux / Unix / Windows ortamlarında çalışıyor. • Single Instance, RAC, Exadata ortamlarında çalışıyor. • Kurulumu ve kullanımı kolay • Ücretsiz

4 SQLT Kullanım Faydaları • Tek bir SQL için SQL Tuning teşhisi yapıyor. • SQL için 100’ün üzerinde HC(Health Check) gerçekleştiriyor ve sonuçlarını Observation olarak raporluyor. • Otomatik Test Case oluşturma. • Ana faydası, SQL Tuning için gereken bilgi toplama işlemlerini hızlandırması.

5 SQLT Nasıl Çalışır? • SQL’i incelemek için ana metod sağlıyor. • Input olarak bir SQL sorgusu giriyor, output olarak bir zip dosyası çıkıyor. • Zip dosyasında bir HTML dosyası ve diğer dosyalar var: AWR, ADDM, ASH, 10053, 10046, TKPROF, vb. • SQL Tuning TC(Test Case)’leri otomatik oluşturup zip dosyasına ekliyor. • SQLT kendi şemalarına (2 adet) kuruluyor ve diğer kullanıcılara kullanım hakkı rol üzerinden veriliyor.

6 SQLT Kurulumu • My Oracle Support’da no’lu dökümana gidiyoruz. • sqlt.zip dosyasını indiriyoruz. • Unzip ettikten sonra SYS olarak sqlt/install/sqcreate.sql scriptini çalıştırıyoruz. • Gerekli kurulum parametrelerini sağlıyoruz.

7 SQLT Kurulum Parametreleri • Opsiyonel Connect Identifier • SQLTXPLAIN kullanıcısı için şifre • Default Tablespace • Temporary Tablespace • SQLT için ana uygulama kullanıcısı • Oracle lisanslama bilgisi [ Tuning | Diagnostics | None ]

8 SQLT Uninstall Etmek • SYS olarak bağlanıp sqlt/install/sqdrop.sql scriptini çalıştırıyoruz.

9 Demo • SQLT kurulumunu gerçekleştirelim.

10 SQLT Ana Metodları • Ana metodlardan istediğimizi seçip kullanabiliriz. Input olarak SQL_ID ya da direk olarak SQL’i sağlıyoruz. • SQLT kullanmak isteyen kullanıcıya SQLT_USER_ROLE rolü verilmelidir. - SQLT XTRACT - SQLT XECUTE - SQLT XTRXEC - SQLT XPLAIN - SQLT XTRSBY - SQLT XPREXT - SQLT XPREXC

11 SQLT Ana Metodları

12 Ana HTML Raporu İçerikleri (1/3) • Observations • SQL text • Parametreler • Cursor sharing • SQL Tuning Advisor (STA) report • Execution plans

13 Ana HTML Raporu İçerikleri(2/3) • Plan stability • Active Session History (ASH) • SQL performans metrikleri • SQL Monitor • Segment ve session istatistikleri • Tablolar

14 Ana HTML Raporu İçerikleri(3/3) • İndeksler • CBO istatistikleri • Objeler ve bağımlılıkları • Policy’ler • Metadata

15 HTML Raporu İncelenmesi

16 Demo • SQLT XTRACT ve SQLT XECUTE metodlarını aşağıdaki sorguyla çalıştırarak oluşan çıktıyı inceleyelim. select country_name, sum(AMOUNT_SOLD) from sh.sales s, sh.customers c, sh.countries co where s.cust_id=c.cust_id and co.country_id=c.country_id and country_name in ( 'Ireland','Denmark','Poland','United Kingdom', 'Germany','France','Spain','The Netherlands','Italy') group by country_name order by sum(AMOUNT_SOLD);

17 Test Ortamı Oluşturulması • Genellikle problemli SQL ile ilgili iyileştirme çalışmalarımızı çalışan diğer SQL’leri etkilememek için production veritabanı üzerinde yapmak istemeyiz. • Optimizer parametrelerini değiştirme, SQL hintleri, indeks ekleme/çıkarma gibi çalışmaları bu kapsamda sayabiliriz.

18 Test Ortamı Oluşturulması • Bu durumda production veritabanıyla aynı objelere, aynı obje istatistiklerine, hatta aynı sistem istatistiklerine sahip bir test veritabanına ihtiyacımız olacak. • Bu objeleri taşıma, obje istatistiklerini taşıma, sistem istatistiklerini taşıma ve gerekirse veriyi taşıma işlemlerini SQLT otomatik olarak yapıyor.

19 Test Ortamı Oluşturulması • Test Case oluşturmak için SQLT XTRACT ya da XECUTE metodlarını çalıştırmamız sonucu oluşan sqlt_sNNNNN_tc.zip dosyasını kullanabiliriz. • Bu dizindeki xpress.sql dosyasını çalıştırarak test case oluşturmaya başlayabiliriz.

20 Demo • Production veritabanımızdaki bir SQL’in Test Case’ini test veritabanında oluşturalım ve çeşitli parametre değişikliklerinin sorgu üzerindeki etkilerini test edelim.

21 XPLORE Metodu • Her CBO parametresinin ya da bug fix değişikliğinin execution plan üzerindeki etkisini araştırır. • Tüm CBO (275 civarı) parametre değişikliklerinin sorgumuza etkisini test eden bir brute-force saldırısına benzetebiliriz. • Exadata’ya özgü parametreleri de, ortamımız Exadata ise teste katabiliriz.

22 XPLORE Metodu • XPLORE metodunun çalıştırılabilmesi için daha önceden bir test case oluşturmuş olmamız gerekir. • Sqlt/utl/xplore dizinindeki install.sql scripti ile başlatıyoruz. • Input olarak test case kullanıcımızı vereceğiz, output olarak biz zip dosyası verecek. • Zip dosyasındaki HTML dosyasında CBO parametre değişikliklerinin sonuçlarını görebileceğiz.

23 Demo • XPLORE metodu ile SQL’imizde iyileştirme yapıp yapamayacağımızı test edelim.

24 SQLHC Nedir? • SQLHC (SQL Health Check) stand-alone bir sql scriptidir. • SQLT’nin light versiyonu diyebiliriz. • SQLT kurma imkanımızın olmadığı durumlarda, kurulum gerektirmeyen ama çıktıları daha sınırlı bu scripti kullanabiliriz. • SQLT gibi tek bir SQL üzerinde çalışmaktadır.

25 SQLHC Kullanımı • Metalink nolu dökümandan indirebiliriz. • SYS olarak bağlanıp sqlhc.sql scriptini çalıştırıyoruz. • Input olarak SQL ID giriyoruz. • SQLT gibi tek bir SQL üzerinde çalışmaktadır.

26 Demo • SQLHC aracını bir SQL için çalıştırarak oluşan çıktıları inceleyelim.

27 Kaynak • Blog: Stelios Charalambides 20 Mart 2013 Apress • Kitap: Oracle SQL Tuning with Oracle SQLTXPLAIN

28 Teşekkürler Katılımınız için TEŞEKKÜRLER İletişim:


"SQL Tuning Uygulamaları: SQLT ve SQLHC Araçlarının Kullanımı Bora YÜRET Oracle Veritabanı Yöneticisi T.C. Çalışma ve Sosyal Güvenlik Bakanlığı." indir ppt

Benzer bir sunumlar


Google Reklamları