问题现象:

在pl/sql编译包或者是存储过程procedure等,编译一直未响应。

问题原因:

ORACLE 存储过程或包被锁,编译不了

问题解决方法:

第一步:查找存储过程被哪些session锁住而无法编译

select * FROM dba_ddl_locks where name =upper('heb_sdb_pay_opr_pkg');

第二步:通过第一步得到的session_id,得到sid和serial#

select t.sid,t.serial# from v$session t where t.sid=&session_id;

第三步:kill 相关session

alter system kill session 'sid,serial#'

结束被锁的表

问题现象:

后台数据库操作某一个表时发现一直出于假死状态,可能是该表被某一用户锁定。

问题解决步骤:

第一步:查询哪些表被用户锁住

SELECT object_name, machine, s.sid, s.serial#

FROM gv$locked_object l, dba_objects o, gv$session s

WHERE l.object_id = o.object_id

AND l.session_id = s.sid;

第二步:找到被锁的表,解锁

--alter system kill session 'sid, serial#';

ALTER system kill session '23, 1647';

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐