Berkant KARDUMAN

Teknoloji günlüğü

Parametre Değeri(BIND Data)

Parametre Değerlinin Bulunması

Başka oturumlar tarafından çalıştırılmış sorgularla ilgili bilgileri almak için V$SQL,V$SQLAREA görünümleri kullanılıyor.

İncelemek istediğiniz sorguyu

select SQL_ID, SQL_TEXT,SQL_FULLTEXT,BIND_DATA from v$sql s
where
s.SQL_TEXT like '%BLA_TABLE%'

BIND_DATA kolonu bu sorgu çalıştırılırken kullanıcının girdiği parametrelerle ilgili bilgi içerir.

Burda bilmemiz gereken birşey var. Bu kolon bazı durumlarda veri içermez. Örneğin parametre tipi LOB ise parametre ile ilgili bilgiler buraya yansıtılmıyor.

Daha sonrasında BIND_DATA kolonundaki veriyi raw data olarak görebiliyoruz.

Bu data örneğin

BEDA0B20030058231BE30008FF40B40B090B78740B0910360D18BC65C0C0021603C2084440B40B090778740B0901010140B40B090B78740B09183C3C05E69EC0C00216033E6466C0021602C102C0021602C148F0602000270154

Şeklinde görünebiliyor.

Şifreyi çözmek için kafa yormamıza gerek yok.

BIND_DATA değerini okunur halde görmek için DBMS_SQLTUNE.EXTRACT_BINDS fonksyionunu kullanabiliriz.

İşte kullanımı

select * from table (DBMS_SQLTUNE.EXTRACT_BINDS(&bindData))


Bu sorgu bize tablo olarak değişken ile ilgili bilgileri veriyor.

En çok işimize yarayacak kolonlar

 name,position,datatype_string,value_string,max_length




Loading