Oracle Deadlock / 死锁 处理
- Get the directory of alert log
sqlplus / as sysdba
show parameters udmp
SQL> show parameters dump "
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_core_dump string partial
background_dump_dest string /oracle/diag/rdbms/wind/wi
nd/trace
core_dump_dest string /oracle/diag/rdbms/wind/wi
nd/cdump
max_dump_file_size string unlimited
shadow_core_dump string partial
user_dump_dest string /oracle/diag/rdbms/wind/wi
nd/trace
- get alert log
Tue Dec 27 18:18:38 2016
ORA-00060: Deadlock detected. More info in file /oracle/diag/rdbms/wind/wind/trace/wind_ora_17088.trc
- View /oracle/diag/rdbms/wind/wind/trace/wind_ora_17088.trc
e.g.
*** -- ::58.438
*** SESSION ID:(481.8263) -- ::58.438
*** CLIENT ID:() -- ::58.438
*** SERVICE NAME:(SYS$USERS) -- ::58.438
*** MODULE NAME:(SQL*Plus) -- ::58.438
*** ACTION NAME:() -- ::58.438 *** -- ::58.438
DEADLOCK DETECTED ( ORA- ) [Transaction Deadlock] The following deadlock is not an ORACLE error. It is a
deadlock due to user error in the design of an application
or from issuing incorrect ad-hoc SQL. The following
information may aid in determining the deadlock: Deadlock graph:
---------Blocker(s)-------- ---------Waiter(s)---------
Resource Name process session holds waits process session holds waits
TX--0001ae1d 27 481 X X
TX-000a0016-0001a6e4 28 26 X X session : DID -001B-000007E2 session : DID -001C-0000302B
session : DID -001C-0000302B session : DID -001B-000007E2 Rows waited on:
Session 481: obj - rowid = 00019C89 - AAAZyJAAGAAACJtAAA
(dictionary objn - , file - , block - , slot - )
Session 26: obj - rowid = 00019C89 - AAAZyJAAGAAACJtAAB
(dictionary objn - , file - , block - , slot - ) ----- Information for the OTHER waiting sessions -----
Session 26:
sid: ser: audsid: user: /GUEST flags: 0x45
pid: O/S info: user: wcadmin, term: UNKNOWN, ospid:
image: oracle@enux-wnc-.ptcts.com (TNS V1-V3)
client details:
O/S info: user: wcadmin, term: pts/, ospid:
machine: enux-wnc-.ptcts.com program: sqlplus@enux-wnc-.ptcts.com (TNS V1-V3)
application name: SQL*Plus, hash value=
current SQL:
update temp set name='T2-ID1-NewName' where id= ----- End of information for the OTHER waiting sessions ----- Information for THIS session: ----- Current SQL Statement for this session (sql_id=a4vh6trxrqttj) -----
select * from temp where id=2 for update
===================================================
- Get more info
select dbms_rowid.rowid_object('AAAZyJAAGAAACJtAAA') from dual;
--105609
select dbms_rowid.rowid_object('AAAZyJAAGAAACJtAAB') from dual;
--105609
SELECT t.owner,t.object_name,t.object_type FROM all_objects t WHERE t.data_object_id = 105609;
OR
SELECT 'AAFyqCAA1AAGPOKAAC', t.owner,t.object_name,t.object_type FROM all_objects t WHERE t.data_object_id = (select dbms_rowid.rowid_object('AAAZyJAAGAAACJtAAA') from dual);
Oracle Deadlock / 死锁 处理的更多相关文章
- 转://oracle deadlock死锁trace file分析之一
---oracle versionSQL> select * from v$version where rownum=1;BANNER------------------------------ ...
- ORACLE中死锁的知识点总结
死锁的概念 什么是死锁呢? 其实我们生活中也有很多类似死锁的例子. 我先举一个生活中的例子:过年回家,父亲买了一把水弹枪,儿子和侄子争抢着要先玩,谁也不让谁,拆开包装后,一个抢了枪, 一个逮住了子 ...
- oracle数据库死锁的查看及解决
Oracle常见死锁发生的原因以及解决方法 www.MyException.Cn 网友分享于:2014-09-02 浏览:0次 Oracle常见死锁发生的原因以及解决办法 一,删除和更 ...
- Oracle常见死锁发生的原因以及解决方法
Oracle常见死锁发生的原因以及解决办法 一,删除和更新之间引起的死锁 造成死锁的原因就是多个线程或进程对同一个资源的争抢或相互依赖.这里列举一个对同一个资源的争抢造成死锁的实例. Oracle 1 ...
- ORACLE中死锁
ORACLE中死锁的知识点总结 死锁的概念 什么是死锁呢? 其实我们生活中也有很多类似死锁的例子. 我先举一个生活中的例子:过年回家,父亲买了一把水弹枪,儿子和侄子争抢着要先玩,谁也不让谁,拆开包 ...
- oracle数据库死锁原因及分析
定义: 当两个用户希望持有对方的资源时就会发生死锁. 即两个用户互相等待对方释放资源时,oracle认定为产生了死锁,在这种情况下,将以牺牲一个用户作为代价,另一个用户继续执行,牺牲的用户的事务将回滚 ...
- Oracle 表死锁 解决
问题:更新的Update语句一直在更新 卡在执行update语句的地方. 清除的方法: Oracle表死锁解除 我是在plsql中处理 1.先查询 select * from v$locked ...
- Oracle删除死锁进程的方法
本文实例讲述了Oracle删除死锁进程的方法.分享给大家供大家参考.具体如下: 步骤1:用以下SQL查看进程列表,判断出被锁定的表 复制代码代码如下: SELECT dob.OBJECT_NAME T ...
- oracle杀死锁表的进程(转发+合并+自己实践)
之一: Oracle数据库操作中,我们有时会用到锁表查询以及解锁和kill进程等操作 (1)锁表查询的代码有以下的形式:select count(*) from v$locked_object;sel ...
随机推荐
- rc.local文件
rc.local用于自启动一些服务. 查看有哪些自启动服务: cat /etc/rc.local
- $.Ajax({});方法使用 返回json格式 string格式
//Json格式 $.ajax({ url: url + "?action=Save1", type: "post", dataType: "json ...
- 最新IP地址数据库 二分逼近&二分查找 高效解析800万大数据之区域分布
最新IP地址数据库 来自 qqzeng.com 利用二分逼近法(bisection method) ,每秒300多万, 比较高效! 原来的顺序查找算法 效率比较低 readonly string i ...
- 桌面显卡天梯图和桌面cpu天梯图
桌面cpu天梯图: 桌面显卡天梯图:
- [WCF]DomainServices客户端操作异常处理
作为个人备忘,不做排版.此扩展函数用于DomainServices的Load及SubmitChanges时处理Error信息,包括验证消息.实体冲突. public static string ToE ...
- include与require的区别?
require()语句的性能与include()相类似,都是包括并运行指定文件.不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估:而对于require()来说,文件只处理 ...
- JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结
我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...
- FastJson转换自定义枚举类
在项目中有些状态需要采用枚举类型,在数据库中保存的是name(英文),而前台需要显示的是text(中文). 所以这就需要自己去实现序列. 例如对象: import java.util.Date; im ...
- Handler 、 Looper 、Message
分析: Looper:prepare和loop public static final void prepare() { if (sThreadLocal.get() != null) { throw ...
- Git使用教程【转】
Git使用教程 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是 ...