Enqueue bir
oracle shared memory (paylaşımlı memory) birimidir.enqueue ile database
kaynaklarına gelen erişimler serileşitirlir.Bir proses Kaynağa erişirken,
yapacağı işlemi bitirinceye kadar bu kaynağı lock konumunda tutar. Yani başka
proseslerin erişmesine izin vermez. Gelen diğer proseslerde bu lock durumunun bitmesini bekler.Lock
oluşturan prosesin yaptığımı işleme görede lock tipi şekillenir. Kaynak locklı
durumda iken gelen prosesler bir kuyruğa girerler. İşte bu tip locklara enqueue
lock denir. Genel olarak gösterimi “enq: .. contention” gibidir.Biz bu
yazımızda en yaygın görülen aşağıdaki enqueue tipleri detaylı inceleyeceğiz ve
diğer enque tiplerini de tanımlayacağız.
TX à Transaction Locks
TM à DML Locks
ST à Space Management
Enqueue
Bekleme Parametreleri
P1:Enqueue
adı ve bekleyen prosesin beklediği mode.Aşağıdaki sql ile v$session_wait view
den enque tipini öğrenebilirsiniz.
SELECT sid,
CHR (BITAND (p1, -16777216) / 16777215)
|| CHR (BITAND (p1, 16711680) / 65535)
"Name",
(BITAND
(p1, 65535)) "Mode"
FROM v$session_wait
WHERE event = 'enqueue';
P2:Lock
Kaynağını belirtir. V$lock tablosundaki ID1 kolonu ile aynıdır.v$lock.id1
P3:Lock
Kaynağını belirtir. V$lock tablosundaki ID2 kolonu ile aynıdır.v$lock.id2