在对指定表做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
oracle数据库分行级锁和表级锁。用select * from table-name for update完成行级锁。用delete或update完成表级锁。你锁定的资源 别人会等待你的提交语句或回退语句完成以后再继续进行。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)