oracle死锁原因分析
来源:互联网 发布:2017学什么编程 编辑:程序博客网 时间:2024/04/27 16:38
select /*+ NO_MERGE(a) NO_MERGE(b) NO_MERGE(c) */ 'Wait' "Status", a.username, a.machine, a.sid, a.serial#, a.last_call_et "Seconds", b.id1,c.sql_text "SQL"from v$session a, v$lock b, v$sqltext cwhere a.username is not nulland a.lockwait = b.kaddrand c.hash_value =a.sql_hash_valueunionselect /*+ NO_MERGE(a) NO_MERGE(b) NO_MERGE(c) */ 'Lock' "Status", a.username, a.machine, a.sid, a.serial#, a.last_call_et "Seconds", b.id1, c.sql_text "SQL"from v$session a, v$lock b, v$sqltext cwhere b.id1 in(select /*+ NO_MERGE(d) NO_MERGE(e) */ distinct e.id1from v$session d, v$lock ewhere d.lockwait = e.kaddr)and a.username is not nulland a.sid = b.sidand b.request=0and c.hash_value =a.sql_hash_value/*其中:Status有两种状态,LOCK表明该进程锁住了某个资源,WAIT表示该进程正在等待某个资源。Username, Machine分别为ORACLE用户名及机器名SID,SERIAL#可用于随后的解锁操作Seconds表示该进程最后一次进行操作至当前的时间(秒)ID1, 锁标识。某个LOCK状态的ID1与某个WAIT状态的ID1相同,可说明锁的正是另一个进程等待的。SQL: 锁住资源的SQL语句2. 解除锁诊断出锁的状态后,若发现该阻塞其它用户进程的进程是正常操作中,则可通知该用户对其进行提交,从而达到释放锁资源的目的;若为非正常操作,即,其状态为"inactive",且其Seconds已为较多长时间,则可执行以下语句将该进程进行清除,系统会自动对其进行回滚,从而释放锁住的资源。 alter system kill session 'sid, serial#'; 例如: 对于上例中显示的结果, 可用以下语句清除锁住资源的进程:alter system kill session '12, 966'; */
- oracle死锁原因分析
- oracle死锁原因分析
- oracle死锁原因分析
- oracle死锁原因分析
- Oracle发生死锁原因分析及解决方法
- oracle死锁原因分析 <转>
- 分析数据库死锁原因的方法
- 分析数据库死锁原因的方法
- 分析数据库死锁原因的方法
- 分析数据库死锁原因的方法
- 系统产生死锁的原因分析
- 死锁的原因分析和避免办法
- 数据库死锁问题原因分析以及解决方案
- Oracle死锁问题分析解决
- Oracle死锁问题分析解决
- Oracle死锁问题分析解决
- Oracle deadock - 原因分析
- oracle 死锁故障分析与诊断解决
- Hibernate hates Spring
- 菜鸟使用RedHat Linux9.0极品笑话
- CVS管理系统配置 HOWTO
- 深入研究表单的提交方式:get and post
- oracle死锁查询
- oracle死锁原因分析
- 清除一天前的临时表锁
- 内存使用率查看
- 系统监测情况
- oracle 分析语句
- oracle 索引分析
- 高级sql简单介绍
- 世界上最遥远/最近的距离
- 任意绑定自定义控件的指定事件的处理方法