发现是一个很简单的select句子死锁。
SELECT category_id, category_name FROM mail_address_category ;
就是查询一个id,一个name,简单的表一个。领导让我看看是怎么回事引起的死锁,我看了好几遍程序,感觉没有什么地方可以优化的了。数据只有500多行。多人并发查询。到底能是什么原因引起的?请高手帮帮忙。在线等!!!
SELECT category_id, category_name FROM mail_address_category ;
就是查询一个id,一个name,简单的表一个。领导让我看看是怎么回事引起的死锁,我看了好几遍程序,感觉没有什么地方可以优化的了。数据只有500多行。多人并发查询。到底能是什么原因引起的?请高手帮帮忙。在线等!!!
from v$session a ,v$sqltext b ,v$access c
where c.object=upper('&1')
and c.type in ('TABLE','PACKAGE','PROCEDURE','FUNCTION','PACKAGE BODY')
and a.sid=c.sid
and b.address = a.sql_address
and b.hash_value = a.sql_hash_value
order by a.sid,a.serial#,b.piece;按照提示输入表的名字,看看是什么sql锁的表。
其次死锁的话好像alert_SID.log文件里有记录的吧
lz可通过tgm78(shop34161266.taobao.com)给出的脚本查一下是否真的出现锁表了
from v$session a ,v$sqltext b ,v$access c
where c.object=upper('&1')
and c.type in ('TABLE','PACKAGE','PROCEDURE','FUNCTION','PACKAGE BODY')
and a.sid=c.sid
and b.address = a.sql_address
and b.hash_value = a.sql_hash_value
order by a.sid,a.serial#,b.piece;请问这样回出现什么样的情况呢,怎么样才是死锁呢,那里可以表现出呢
这么强大的并发.可能是lath
在事发时查查v$session_wait
看到底是在等待啥.