- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
rebuild index online的锁机制浅析.doc
一般都说,rebuild index online不阻塞DML操作,这是相对于rebuild index来说的,加上了online,只是在rebuild的期间不阻塞DML,但是在开始和结束阶段还是可能阻塞其他进程的DML的,要弄清楚到底是 阻塞还是不阻塞,何处阻塞,为什么阻塞,还是要从锁的角度来分析。本文实验环境为Oracle 。
Oracle中的锁,一共有6两种模式:
0:none 1:null 空 2:Row-S 行共享(RS):共享表锁,sub share 3:Row-X 行独占(RX):用于行的修改,sub exclusive 4:Share 共享锁(S):阻止其他DML操作,share 5:S/Row-X 共享行独占(SRX):阻止其他事务操作,share/sub exclusive 6:exclusive 独占(X):独立访问使用,exclusive 我 们知道,DML操作一般要加两个锁,一个是对表加模式为3的TM锁,一个是对数据行的模式为6的TX锁。只要操作的不是同一行数据,是互不阻塞的。但是 rebuild index online在开始和结束的时候是需要对表加一个模式为4的TM锁的,这个可以很容易通过实验观察到,实验中的测试表t是通过create table t as select * from all_objects生成,并且多次执行insert into t select * from t产生较多的数据,以便延迟rebuild的时间来观察系统中锁的情况:
session 1:
SQL delete from t where object_id=28;1 row deleted.
session 2:
SQL alter index ix_t rebuild online;
Session 2被阻塞,会话挂起,这时查询v$lock,可以得到如下结果:
SQL select sid,type,id1,id2,lmode,request from v$lock where type in(DL,TM,TX);SID TY ID1 ID2 LMODE REQUEST---------- -- ---------- ---------- ---------- ----------1643 DL 10599 0 3 01643 DL 10599 0 3 01622 TM 10599 0 3 01643 TM 10599 0 2 41643 TM 10607 0 4 01622 TX 655398 1361 6 0
从 上面的结果可以知道,1622是session 1,1643是session 2,session 2一共出现了4个锁,两个DL锁,一个针对表t的TM锁,一个是online rebuild index时需要的一个中间表的TM锁,中间表用于记录rebuild期间的增量数据,原理类似于物化视图日志,其object_id为10607,这是 一个索引组织表(IOT),从这里我们也可以发现IOT的优点和适合的场合,这张中间表只有插入,不会有删除和修改操作,而且只有主键条件查询,正是 IOT最合适的场景:
SQL select object_name,object_type from all_objects where object_id=10607;OBJECT_NAME OBJECT_TYPE------------------------------ -------------------SYS_JOURNAL_10602 TABLESQL select table_name,iot_type from all_tables where table_name=SYS_JOURNAL_10602;TABLE_NAME IOT_TYPE------------------------------ ------------SYS_JOURNAL_10602 IOT
Session 2在请求一个模式为4的TM锁,模式4会阻塞这个表上的所有DML操作,所以这是再往这个表上执行DML也会挂起
session 3:
SQL delete from t where object_id=46;SQL select sid,type,id1,id2,lmode,request from v$lock where type in(DL,TM,TX);SID TY ID1 ID2 LMODE REQUEST---------- -- ---------- ---------- ---------- ----------1643 DL 10599 0 3 01643 D
您可能关注的文档
- Pcjkau小学教育科学教育投稿大全.doc
- PEP人教版小学四年级英语下册期中试题答案及编制说明.doc.doc
- NIOS II 常见问题总结new.doc
- PEP六年级下册英语第二单元测试题.doc.doc
- Photoshop培训讲义new.doc
- Pwhaei开题报告范文2.doc
- QC七大手法34128.doc
- QTP中使用描述性编程new.doc
- redhat35576630.doc
- RedHatLinux操作系统菜鸟成长必看汇总.doc.doc
- 2025年无人机低空医疗物资投放社会效益报告.docx
- 2025年再生塑料行业包装回收利用产业链重构研究.docx
- 《AI眼镜周边产品市场机遇:2025年终端销售与需求增长洞察》.docx
- 2025年坚果加工行业深加工技术突破与市场拓展策略报告.docx
- 2025年通信芯片行业技术竞争与未来趋势报告.docx
- 《2025年生鲜电商配送冷链事故分析与预防措施》.docx
- 《商业航天融资新趋势2025民营卫星企业资本涌入估值分析市场动态》.docx
- 2025年能源绿色健康行业创新技术与市场应用报告.docx
- 2025年无人机低空医疗救援通信方案分析报告.docx
- 2025年烹饪机器人行业市场集中度分析报告.docx
最近下载
- 矛盾纠纷调解课件.pptx VIP
- 人际沟通风格测试及分析.doc
- 2010-2023历年福建省福州外国语学校七年级上学期期中考试地理试卷(带解析).docx VIP
- 人教版小学三年级英语上册第二单元测试题(附答案).pdf VIP
- 知到智慧树中华民族风情巡礼(青海民族大学)章节测试及答案.doc VIP
- TGXAS-风湿免疫性疾病患者生物制剂皮下注射护理规范及编制说明.pdf
- 施工质量验收标准东易日盛.doc VIP
- 电力电子技术期末考试试题答案(参考).doc VIP
- 垃圾清运服务投标方案技术标.doc
- 安徽省合肥市庐阳区2023-2024学年九年级上学期数学期末模拟卷一(含答案).docx VIP
原创力文档


文档评论(0)