没有必胜的秘籍,没有方程式遵循~~
要赢~~只有全身心的投入!
晶晶实验三DDL和DML操作都加什么样的TM锁篇
上一篇 /
下一篇 2008-02-16 17:41:50
/ 个人分类:晶晶oracle实验系列
查看( 831 ) /
评论( 26 )
大家都知道TM锁共有6种模式,最常见的是3(插入,更新,删除);4(创建索引时);5(部分DDL操作如:删除列)等等,这些锁比较容易看到,不再详述实验经过.有些操作速度过块,如:Truncate和Drop等.这时不容易看到锁的状态,下面我做了个小实验来看清楚这些速度较快的命令持有什么样的锁. 例如:Truncate和Drop
&^*Q\p elxYT0
ITPUB个人空间hF|'Hp;o.x
因为命令执行速度快,只有靠脚本来快速观察.如下:ITPUB个人空间\3T!iv
XD6S.tg(ZH
create or replace procedure my_cursor is ITPUB个人空间N#W
OD+w'R7nE,{$zx,{
cursor aa is select lmode from v$lock where type='TM' and sid=您的会话SID;ITPUB个人空间l(_R#Uo}!@p'cr/S
x number(3):=9;
,sh]A[p!e&VQc(Y
L0
begin
sDj}[dBKSL0
for i in 1..3000 loop
Ju],s;Q#{7|h S
_/k/v
}0
open aa;
5^}
zK\M7`Z5s0
fetch aa into x;
o.LD-d*W0
dbms_output.put_line(i||'-'||x);ITPUB个人空间-c3Bt(u-N
close aa;ITPUB个人空间_SnH{F6f
x:=9; ITPUB个人空间er ~ ?3tL,cJ
end loop; ITPUB个人空间)I)sA"} {8B}
end;
M
`p5~-U0
/
jG*b!`
[`2@0
**如果X为空的话,下次抓取值不变,所以每次抓取结束后为X附上一个锁中不可能出现的值9;ITPUB个人空间ci-q&`Jr
ITPUB个人空间2p%A?
v&S
步一:脚本显示内容过多,会造成显示缓冲区溢出,先把缓冲区设大点;