If the BLOCKING_SESSION isn't working well enough for you or doesn't exist in your DB version, then
you can use X$KGLLK directly to find sessions blocking/with interest in your lock

1) V$SESSION_WAIT.PARAMETER1 is the lib cache object handle we are trying to lock (@sw.sql)

  -> V$EVENT_NAME PARAMETER1 shows that ( @sed "library cache lock" )

2) Query X$KGLLK by matching X$KGLLK.KGLHDADR to V$SESSION_WAIT.PARAMETER1

  -> find the "holder" sid

3) Use sw, snapper on the SID holding the lock to see what its doing


