慎用 ddl_lock_timeout。

ddl_lock_timeout允许DDL等待DML操作结束。ddl_lock_timeout可以手工设置等待的时间。
不过这个操作的风险对于存在大并发DML操作的表是有很大风险的。
DDL操作基本都在表级别获得类型为6的TM表锁,这个锁的级别为最高级别。
因为ORACEL里查询是不需要对表增加TM锁的,所以不会导致查询HANG起,但是其他的操作,如DML操作,DDL操作,都会HANG起。
ORACLE起初设计的如果表上存在DML操作,那么DDL的时候立马返回一个错误“资源正忙”,最大的原因可能也是考虑到如果不立即返回错误,任由DDL的会话等待高级锁,那么可能会引发灾难,因为锁的排队性,会导致其他会话被DDL的会话HANG住,如果又是大并发,那么瞬间可能撑爆你应用的连接池。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22034023/viewspace-714222/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22034023/viewspace-714222/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值