窗口一:
SQL> create table test(id number);
表已创建。
SQL> insert into test values(1);
已创建 1 行。
SQL>
窗口一:
SQL> create table test(id number);
表已创建。
SQL> insert into test values(1);
已创建 1 行。
SQL>
窗口二:
SQL> drop table test;
drop table test
*
ERROR 位于第 1 行:
ORA-00054: 资源正忙,要求指定 NOWAIT
窗口三:
SQL> select object_id,session_id,locked_mode from v$locked_object;
OBJECT_ID SESSION_ID LOCKED_MODE
---------- ---------- -----------
5560 31 3
SQL> select t2.username,t2.sid,t2.serial#,t2.logon_time
2 from v$locked_object t1,v$session t2
3 where t1.session_id=t2.sid order by t2.logon_time;
USERNAME SID
------------------------------------------------------------ ----------
SERIAL# LOGON_TIME
---------- ----------
TICKET 31
23450 29-12月-04
查出死锁的语句
SQL> select sql_text
2 from v$sqltext a
3 where a.hash_value = (
4 select sql_hash_value from v$session b
5 where b.sid=31
6 )
7 order by piece asc ;
SQL_TEXT
--------------------------------------------------------
insert into test values(1)
SQL>
查询锁等待语句
select lpad(' ',decode(l.xidusn,0,3,0))||l.oracle_username User_name,
o.owner,o.object_name,o.object_type,s.sid,s.serial#
from v$locked_object l,dba_objects o,v$session s
where l.object_id=o.object_id
AND l.session_id=s.sid
order by o.object_id desc
前篇(04-12-29): ORACLE锁的管理
后篇(04-12-29): ORACLE 锁简单介绍 (zt)
最新回复(2件)
| 主题/内容 | 作者/日时 |
|---|---|
|
Re: 查出导致死锁的语句
不错, 解决问题了. 只是锁的原因是一个较大的已经执行完(inactive状态)的查询语句. |
小何
06-10-25 16:32 |
|
摄影
风淋室; |
摄影
07-10-13 18:57 |
发表评论
引用链接
- 您可以按照以下步骤引用本文.本站收到您的引用通知后, 将自动链接您的文章, 以方便别人阅览 .
- 1. 启动您自己的博客管理页面, 并进入发表新文章的画面, 输入文章的内容. (如果您是ITPUB的博客请点这里.)
- 2. 复制下面虚线框里的连接字串, 把它们粘贴到您的文章中, 按照您的喜好修改一下表示文字.
- 3. 确认您选择了"发送引用通知"的选项.
- 4. 发表您的文章.
- 好啦, 您的文章就可以被自动链接到本站啦.
| « | 一月 2009 | » | ||||
|---|---|---|---|---|---|---|
| 一 | 二 | 三 | 四 | 五 | 六 | 日 |
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 | |
