Online Baidu to appear this phenomenon reason, said seems to be quite reasonable, so copy come over:
when you debug a procedure, function, or package, the company's firewall kills the session connection if there is no action for a long time. This time the database does not actively release the resources of the session, if the procedure, function or package debug again, it will produce a wait. Because the firewall killed by the session is still running the last debug, there will be a lock. Only wait until the database reclaims the last debug session resource or the DBA manually kill the session.
Method of Manual Kill session:
1.SELECT * from V$db_object_cache WHERE name=upper (' procedure_name ') and locks!= ' 0 '; Note: procedure_name is the name of the stored procedure.
2.SELECT SID from v$access WHERE object= ' procedure_name ';
3.SELECT sid,serial#,paddr from v$session WHERE sid= ' SID ';
4.ALTER SYSTEM KILL SESSION ' sid,serial# ' IMMEDIATE;
or select vs. SID, vs. serial#, vs. Paddr, ' ALTER SYSTEM KILL SESSION ' | | Vs. SID | | ', ' | | Vs. serial# | | "' IMMEDIATE; ' From V$access va, v$session vs where 1 = 1 and Va. SID = vs. SID and Va. OBJECT = Upper (' sza_pa_bgt_adj_common_pub ')
This article from "11768293" blog, declined reprint!
Oracle Package compilation, when calling or debugging packages when the problem is stuck