专注各种脚本编程
Baidu
加入收藏夹
本站内容有下面分类知识,欢迎您的到来^_^
shell相关:指令篇 基础篇 脚本欣赏 编程实例 shell问问 shell视频教程 技巧篇 水平测试 E文资料 vi编辑器 高级Bash脚本编程指南
其他:mysql perl c语言 oracle
当前位置:| 主页>oracle>

DDL和DML操作都加什么样的TM锁篇晶晶实验三

百度收藏 QQ搜藏

步四:在另一个会话中去Truncate表
SQL> truncate table jj_2;

表被截断。
----等待第一个会话中的执行完毕----
步五:把执行结果输送到文件中
SQL> spool off;

查看aa.txt 发现        循环次数   锁状态
          ---------------     -------------
                         1--205       显示为9    无
                  206--375      显示为6    传说中的6-X锁 
                  376--结束    一直为9    6 锁已经释放

*****以上结果我是在10G中做的实验,同样的我又在9i中试了试,发现略有不同*****
结果如下:
                       1--93       显示为9
                            94--126      显示为6
                  127--217      显示为2
                  218--249      显示为3
                  250--266      显示为6
                  267--结束    一直为9

小结:在10G中只加了6锁,而9i中是236混杂出现,看来10G的截断操作比9i要简单明了,从算法上进步了不少哟~~  !^_^!

另附:       drop table                  在10G中 为 6锁,9i中是6 3 混合
         create table                 在10G中 为 3锁,
         create index                在10G中 为 4锁,表共享锁,根据兼容矩阵表示,4号锁和4号锁是相兼容的,但是我同时开两个会话创建索引,还是有等待,发现是library cache lock在等待。因为创建索引时,会在表上加独占的library cache lock。
        create index on line      在10G中 为 2,4 锁 其中2锁时间较长。2锁只和6锁不兼容,其他都兼容。其中4锁时间较短,只占41次循环。证明连机创建索引对DML操作影响不大,处
了41次 4锁之外,大部分时间是可以执行DML的.

其他执行速度比较快的操作,查看锁步骤类似,可以用上例一样的方式实验...TX锁相关事务,放到后面回滚段相关章节再发...

上一页 1 2下一页
上一篇:插入时对L1块的选择篇(晶晶实验二) 下一篇:讨论闩 篇晶晶实验四

power by soyo123 2007-2008