Posted in SQL

Session locks

set serveroutput on
BEGIN
   dbms_output.enable(1000000);
  for do_loop in (select session_id, a.object_id, xidsqn, oracle_username, b.owner owner,
   b.object_name object_name, b.object_type object_type
  FROM v$locked_object a, dba_objects b
    WHERE xidsqn != 0
    and b.object_id = a.object_id)
   loop
   dbms_output.put_line('.');
  dbms_output.put_line('Blocking Session : '||do_loop.session_id);
  dbms_output.put_line('Object (Owner/Name): '||do_loop.owner||'.'||do_loop.object_name);
  dbms_output.put_line('Object Type : '||do_loop.object_type);
  for next_loop in (select sid from v$lock
   where id2 = do_loop.xidsqn
   and sid != do_loop.session_id)
   LOOP
   dbms_output.put_line('Sessions being blocked : '||next_loop.sid);
   end loop;
   end loop;
   END;
   /
Advertisements

Author:

I am an Oracle DBA with experience in Maximum Availability technology such as RAC, Data Guard, Grid Control and ASM. I worked with version 9i through 12c on a number of operating systems. Next to that I have an extensive experience with PL/SQL, Oracle eBusiness Suite and shell scripting. Specialties: Oracle RAC & ASM (Configuration/Monitoring/Tuning) Oracle Data Guard (Configuration/Monitoring/Tuning) EM12c (Installation / troubleshooting) SQL & PLSQL *nix Shell scripting

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.