joomla templates Data Warehouse Türkiye

Wed09072011

Last update07:32:32 PM GMT

Back Kategoriler Oracle PLSQL SQL İzleme Yöntemleri(TRACE Kullanımı)
Çarşamba, 27 Ekim 2010 12:36

SQL İzleme Yöntemleri(TRACE Kullanımı)

Yazan&Gönderen  Yusuf Arslan
Bu Öğeyi Derecelendir
(0 Oylar)

TRACE, bir sorgunun, batch işlemin veya tüm sistemin ölçümü için kullanılabilecek bir yöntemdir. Sistem üzerindeki darboğazların oluştuğu noktaların tespiti için yararlı olan geniş kapsamlı bir yöntemdir. TRACE4;
Sorguyu çalıştırır, çalışan sorguyla ilgili olarak istatistik üretir,
Uygulama geliştiricilerin sorgunun her bir bölümünü analiz etmesine yardımcı olur.
TRACE ile yapılan izlemede, user_dump_dest initora parametresi ilen belirtilen dizine ora_nnnnn.trc söz diziminde bir trace dosyası oluşturulur.
TRACE’in bulunulan session’dan başlatılması mümkün olduğu gibi, bir başka session’ın çalışması da izlenebilir.


Bulunulan session için TRACE işlemi :

SQL> alter system set timed_statistics=true;
SQL> alter session set max_dump_file_size=20000;
SQL> show parameter user_dump

NAME TYPE VALUE

---------------- ------- --------------------

user_dump_dest string /usr/oracle10/rdbms/log/udump

SQL> alter session set SQL_TRACE true;
SQL> select MUSTERI_ADI from MUSTERI where MUSTERI_NO=1;
…..

SQL> select * from dual;
SQL> alter session set SQL_TRACE false;

Dump dosyasının oluştuğu dizinde, ilgili trace dosyasının içeriği incelenir.

Dump file /usr/oracle10/rdbms/log/udump/tst1_ora_1105.trc

=====================

PARSING IN CURSOR #1 len=32 dep=0 uid=0 oct=42 lid=0 tim=164924072960 hv=789637826 ad='7b4fa270'

alter session set sql_trace true
END OF STMT
EXEC #1:c=1952,e=2048,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=4,tim=164924072960

*** SESSION ID:(1633.1093) 2007-05-16 13:55:46.154

=====================

PARSING IN CURSOR #5 len=28 dep=0 uid=0 oct=3 lid=0 tim=164932504576 hv=4187904027 ad='7b29b108'

select MUSTERI_ADI from MUSTERI where MUSTERI_NO=1;

Başka session için TRACE işlemi :

İzlenmesi istenen sesssion’a ait SID ve SERIAL# bilgileri elde edilir (Örnek olarak TEST kullanıcısı seçilmiştir).

SQL> alter system set timed_statistics=true;
SQL> alter session set max_dump_file_size=20000; -- OS block
SQL> select SID, SERIAL# from v$session where username=’TEST’;

SID SERIAL#

---------- ----------

163 110

Elde edilen bu SID ve SERIAL# değerleri, aşağıdaki şekilde kullanılarak trace başlatılır.
SQL>execute dbms_system.set_sql_trace_in_session('163','110',true);

Trace’in sonlandırılması için aynı komut, false parametresi ile çalıştırılır (Aşağıdaki komu işletilmezse izlenen kullanıcının o session’dan çıkana kadar yapacağı sonraki işlemler de aynı trace dosyasına eklenir).
SQL>execute dbms_system.set_sql_trace_in_session('163','110',false);

Dump dosyasının oluştuğu dizinde, ilgili trace dosyasının içeriği incelenir.

Dump file /usr/oracle10/rdbms/log/udump/tst1_ora_1105.trc

=====================

PARSING IN CURSOR #1 len=32 dep=0 uid=0 oct=42 lid=0 tim=164924072960 hv=789637826 ad='7b4fa270'

alter session set sql_trace true

END OF STMT

EXEC #1:c=1952,e=2048,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=4,tim=164924072960

*** SESSION ID:(1633.1093) 2007-05-16 13:55:46.154

=====================

PARSING IN CURSOR #5 len=28 dep=0 uid=0 oct=3 lid=0 tim=164932504576 hv=4187904027 ad='7b29b108'

select MUSTERI_ADI from MUSTERI where MUSTERI_NO=1;

 

Son Düzenleme Pazartesi, 14 Şubat 2011 14:02
Yusuf Arslan

Yusuf Arslan

Oracle Open Source

Tokat/Reşadiye doğumluyum.İlk-orta-lise hayatını Amasya/Suluova ilçesinde geçirdim.Sakarya Üniversitesi Bilgisayar Mühendisliği bölümünü bitirdikten sonra kariyerime Turkcell  İş Zekası Test Uzmanı olarak devam etmekteyim. 

Website: arslanyusuf.blogspot.com/ E-posta: Bu e-Posta adresi istek dışı postalardan korunmaktadır, görüntülüyebilmek için JavaScript etkinleştirilmelidir

Login to post comments