oracle‘s package,function,proceture编译时无响应(解决)

时间:2021-08-28 06:20:41

在对Procedure、Function或Package进行Debug时,如果长时间没有操作,公司的防火墙会杀掉会话连接。这个时候数据库不会主动的释放会话的资源,如果再次对Procedure、Function或Package进行Debug的话,就会产生等待。因为被防火墙杀掉的会话还在运行着上次的Debug,会有锁的存在。只用等到数据库回收上次Debug的会话资源或者DBA手动将会话KILL掉。以下是手动KILL会话的方法:

1、得到所有的会话的信息

1、select * FROM V$SESSION B where b.SCHEMANAME <> 'SYS'

ps:执行语句 之后会有一个action字段(sessionname)和 osuser(用户)

可以看自己用户下的session。

2、杀死会话

2、ALTER SYSTEM KILL SESSION 'SID,SERIAL#' IMMEDIATE;

PS:此处的sid与SERIAL#====可以在第一部中查找到

然后就可以执行了,搞了半天