oracle表在什么情况下会被锁住

oracle表在什么情况下会被锁住,第1张

在对指定表做append *** 作,其他再做truncate时候,会产生锁表,如下验证步骤,

1、创建测试表,

create table test_lock(id number, value varchar2(200))

2、执行append语句;并且不做提交,insert /*+append*/ into test_lock values(1,1)

3、再次执行清表语句,truncate table test_lock报锁表错误,

4、查看锁表语句,发现被锁表,

select b.object_name, t.*

from v$locked_object t, user_objects b

where t.object_id = b.object_id

原因如下:

系统资源不足;进程运行推进的次序不合适;资源分配不当。

如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6705042.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存