Τετάρτη 3 Αυγούστου 2016

Κλειδώματα αντικειμένων της βάσης (Library cache Lock)


Στο άρθρο αυτό θα μιλήσουμε για το πως μπορεί κάποιος να εντωπίσει κλειδώματα σε αντικείμενα (procedures, functions, tables) σε μια βάση Oracle. Τα κλειδώματα αυτά εμφανίζονται όταν κάποιο compile ενός αντικειμένου στην βάση έχει κολλήσει. Βλέπουμε με τα παρακάτω queries ποιος το κλειδώνει και προσπαθούμε να επιλύσουμε το κλείδωμα.

SQL>select decode(lob.kglobtyp, 0, 'NEXT OBJECT', 1, 'INDEX', 2, 'TABLE', 3,
'CLUSTER',4, 'VIEW', 5, 'SYNONYM', 6, 'SEQUENCE',7, 'PROCEDURE', 8,
'FUNCTION', 9, 'PACKAGE',11, 'PACKAGE BODY', 12, 'TRIGGER',13, 'TYPE',
14, 'TYPE BODY',19, 'TABLE PARTITION', 20, 'INDEX PARTITION', 21, 'LOB',
22, 'LIBRARY', 23, 'DIRECTORY', 24, 'QUEUE',28, 'JAVA SOURCE', 29, 'JAVA
CLASS', 30, 'JAVA RESOURCE',32, 'INDEXTYPE', 33, 'OPERATOR',34, 'TABLE
SUBPARTITION', 35, 'INDEX SUBPARTITION',40, 'LOB PARTITION', 41, 'LOB
SUBPARTITION', 42, 'MATERIALIZED VIEW', 43, 'DIMENSION', 44,
'CONTEXT', 46, 'RULE SET', 47, 'RESOURCE PLAN', 48, 'CONSUMER
GROUP',51, 'SUBSCRIPTION', 52, 'LOCATION', 55, 'XML SCHEMA', 56, 'JAVA
DATA',57, 'SECURITY PROFILE', 59, 'RULE', 62, 'EVALUATION
CONTEXT','UNDEFINED') object_type, lob.KGLNAOBJ object_name,
pn.KGLPNMOD lock_mode_held, pn.KGLPNREQ lock_mode_requested,
ses.sid, ses.serial#,ses.username
from x$kglpn pn, v$session ses, x$kglob lob, v$session_wait vsw
where pn.KGLPNUSE = ses.saddr and pn.KGLPNHDL = lob.KGLHDADR
and lob.kglhdadr = vsw.p1raw and vsw.event = 'library cache pin'
order by lock_mode_held desc/



SQL>select distinct ses.ksusenum sid, ses.ksuseser serial#, ses.ksuudlna
username,KSUSEMNM module,ob.kglnaown obj_owner, ob.kglnaobj obj_name
,lk.kgllkcnt lck_cnt, lk.kgllkmod lock_mode, lk.kgllkreq lock_req, w.state, w.event,
w.wait_Time, w.seconds_in_Wait
from x$kgllk lk, x$kglob ob,x$ksuse ses , v$session_wait w
where lk.kgllkhdl in (select kgllkhdl from x$kgllk where kgllkreq >0 )
and ob.kglhdadr = lk.kgllkhdl and lk.kgllkuse = ses.addr and w.sid = ses.indx
order by seconds_in_wait desc

0 σχόλια:

Δημοσίευση σχολίου