dml_locks这个参数呢,主要是用来规定TM锁的总数,实际上这个参数可以设置为0,表示我们要取消数据库获得TM表级锁的能力,这时候数据库的数据封锁粒度实际只有一级,就是行级(TX)。这样设置之后,其实数据行的updte修改仍能进行,但是会话只能是获得了TX锁,而不能获得任何的TM锁,由于在更新数据库的时候没有任何TM锁的保护,所以数据库中任何的DDL语句都是不能执行的(ORA-00069: cannot acquire lock -- table locks disabled for my_table)
当然这样做的虽然可以提高数据库的性能,但是也会带来一些小小的麻烦。
为了不在全局使这样的改变生效,我们还可以针对table来让他生效
alter table my_table disable table lock;
alter table my_table enable table lock;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12361284/viewspace-601/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12361284/viewspace-601/