永发信息网

oracle Update语句卡死,详细情况见下文

答案:2  悬赏:20  手机版
解决时间 2021-11-30 00:08
  • 提问者网友:niaiwoma
  • 2021-11-28 23:51
oracle Update语句卡死,详细情况见下文
最佳答案
  • 五星知识达人网友:雾月
  • 2021-11-29 00:57
按你的描述,应该就是锁表了,并不是卡死。检查是否for update 的操作。
我不知道你是什么检查锁表的,检查锁表时是否有用户名作为条件了?不加条件试试。
怀疑有可能是你操作数据库用户这张表对其他用户进行授权了,被授权的用户进行删除,如果限制了username可能会查不到。
常规查询锁表方法如下:
查出锁定表的sid, serial#,os_user_name, machine_name, terminal,锁的type,mode
SELECT s.sid, s.serial#, s.username, s.schemaname, s.osuser, s.process, s.machine,
s.terminal, s.logon_time, l.type
FROM v$session s, v$lock l
WHERe s.sid = l.sid
AND s.username IS NOT NULL
ORDER BY sid;
这个语句将查找到数据库中所有的DML语句产生的锁,还可以发现,
任何DML语句其实产生了两个锁,一个是表锁,一个是行锁。
--杀掉进程 sid,serial#
例如锁表进程的sid = 210 , serial# = 11562,执行如下命令。
alter system kill session'210,11562';
希望对你有帮助,欢迎采纳!
全部回答
  • 1楼网友:轻雾山林
  • 2021-11-29 01:54
尝试用事务进行操作试试
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯