ora-04021 锁问题求解! 实在搞不定了 求救

lsqkeke 2006-11-09 06:48:39
问题描述:

我对数据库中的一个表加了两个字段后,需要重编译失效的存储过程.
但与此表无关的两个函数却编译不通过,报 ora04021错误,等待锁定对象:函数名 发生超时错误.
而我查看该函数引用的对象,全部有效.
通过: sys 用户 执行
select b.sid,b.serial#,b.machine,b.terminal,b.program,b.process,b.status from v$lock a , v$session b where a.SID = b.SID
查出 b.sid,b.serial#
2 1
5 1
但这不是用户会话,无法用: alter system kill session '5,1'; 杀掉

我甚至用sys登录 sqlplus 将数据库用户下的所有session kill 掉,
然后该函数仍旧编译不通过, 并且也删除不掉,报出同样的 ora-04021 错误

我实在没语言了 !


大家 帮忙先啊
...全文
921 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
多壮志 2006-11-09
如果是Kill session,最好的方法,我的是登录Oem,然后直接在会话窗体中kill 掉。百分之百可以。
回复
mayongzhi 2006-11-09
登录ORACLE管理平台在会话中查找锁表的进程的系统pid ,如果是UNIX 则kill 该pid -9
如果是windows 则ntsd -c q -p PID 来强制关闭进程。
回复
相关推荐
发帖
基础和管理
创建于2007-09-28

1.7w+

社区成员

Oracle 基础和管理
申请成为版主
帖子事件
创建了帖子
2006-11-09 06:48
社区公告
暂无公告