ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 慎用 ddl_lock_timeout。

慎用 ddl_lock_timeout。

原创 Linux操作系统 作者:wei-xh 时间:2011-12-30 11:14:04 0 删除 编辑
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/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 索引的块分裂
请登录后发表评论 登录
全部评论
Oracle ACE组成员,DBGeeK用户组发起人。曾在DTCC、ORACLE技术嘉年华、Gdevops等公开场合做过数据库技术专题分享,2017年应Oracle邀请在世界最大的数据库会议OOW上做技术分享。组织翻译了《拨云见日,解密Oracle ASM内核》一书。

注册时间:2009-07-04

  • 博文量
    422
  • 访问量
    2285819