ORADEBUG Nedir?
ORADEBUG Nedir?
ORADEBUG, SQL*Plus üzerinden icra edilen ve işlemlerin (process) internal bilgilerini dışarı almak için kullandığımız bir araçtır.
ORADEBUG komutlarının listesini aşağıdaki gibi görebiliriz. Şimdi en çok kullandığımız oradebug komutlarına göz atalım.
SQL> oradebug help
Bind değişkenlerle birlikte SQL cümlelerin trace ini oluşturmak;
1- Önce izlenilecek işlemin (process) PID numarası set edilir.
SQL> oradebug setospid 32318 Oracle pid: 29, Unix process pid: 32318, image: [email protected] (TNS V1-V3)
veya kendimizide izlemek isteyebiliriz
SQL> oradebug setmypid
2- 10046 trace başlatılır.
SQL> oradebug EVENT 10046 trace name context forever, level 12
3- Trace dosyası incelenir.
# vi /oracle/diag/rdbms/dbarge/TEST11G/trace/TEST11G_ora_32318.trc
İşlem (Process) istatistiklerini izlemek;
1- V$PROCESS görüntüsü içinde PID alanı 11 olan LGWR işleminin istatistiklerini izlemek için setorapid komutu ile işlem set edilir.
SQL> oradebug setorapid 11 Oracle pid: 11, Unix process pid: 16944, image: [email protected](LGWR)
2- LGWR işlemi için istatistikler toplanır.
SQL> oradebug procstat
3- Toplanan istatistikler trace dosyasına yazılır.
SQL> oradebug TRACEFILE_NAME /oracle/diag/rdbms/dbarge/TEST11G/trace/TEST11G_lgwr_16944.trc
Kullanılan semaforları ve paylaşımlı bellek segmentlerini listelemek;
SQL> oradebug ipc
Bir işlemin hata kümesinin dump dosyasını oluşturmak;
SQL> oradebug setospid 11301
SQL> oradebug event immediate trace name errorstack level 3