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

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

百度收藏 QQ搜藏

大家都知道TM锁共有6种模式,最常见的是3(插入,更新,删除);4(创建索引时);5(部分DDL操作如:删除列)等等,这些锁比较容易看到,不再详述实验经过.有些操作速度过块,如:Truncate和Drop等.这时不容易看到锁的状态,下面我做了个小实验来看清楚这些速度较快的命令持有什么样的锁. 例如:Truncate和Drop

   因为命令执行速度快,只有靠脚本来快速观察.如下:
create or replace procedure my_cursor is
  cursor aa is select lmode from v$lock where type='TM' and sid=您的会话SID;
  x number(3):=9;
begin
  for i in 1..3000 loop
    open aa;
    fetch aa into x;
    dbms_output.put_line(i||'-'||x);
    close aa;
    x:=9;  
  end loop; 
end;
/
**如果X为空的话,下次抓取值不变,所以每次抓取结束后为X附上一个锁中不可能出现的值9;

步一:脚本显示内容过多,会造成显示缓冲区溢出,先把缓冲区设大点;
SQL> set serveroutput on size 100000;

步二:为了更清楚的观察,把结果输送到文件中来查看结果;
SQL> spool e:\oracle\aa.txt

步三:执行脚本
SQL> exec my_cursor;

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

power by soyo123 2007-2008