- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
oracle死鎖及处理方式
Oracle死锁查询及处理关于数据库死锁的检查方法?一、数据库死锁的现象程序在执行的过程中,点击确定或保存按钮,程序没有响应,也没有出现报错。二、死锁的原理当对于数据库某个表的某一列做更新或删除等操作,执行完毕后该条语句不提交,另一条对于这一列数据做更新操作的语句在执行的时候就会处于等待状态,此时的现象是这条语句一直在执行,但一直没有执行成功,也没有报错。三、死锁的定位方法通过检查数据库表,能够检查出是哪一条语句被死锁,产生死锁的机器是哪一台。1)用dba用户执行以下语句select username,lockwait,status,machine,program from v$session where sid in(select session_id from v$locked_object)如果有输出的结果,则说明有死锁,且能看到死锁的机器是哪一台。字段说明:Username:死锁语句所用的数据库用户;Lockwait:死锁的状态,如果有内容表示被死锁。Status: 状态,active表示被死锁Machine: 死锁语句所在的机器。Program: 产生死锁的语句主要来自哪个应用程序。2)用dba用户执行以下语句,可以查看到被死锁的语句。select sql_text from v$sql where hash_value in (select sql_hash_value from v$session where sid in(select session_id from v$locked_object))四、死锁的解决方法 一般情况下,只要将产生死锁的语句提交就可以了,但是在实际的执行过程中。用户可能不知道产生死锁的语句是哪一句。可以将程序关闭并重新启动就可以了。 经常在Oracle的使用过程中碰到这个问题,所以也总结了一点解决方法。 1)查找死锁的进程: sqlplus /as sysdba (sys/change_on_install)SELECT s.username,l.OBJECT_ID,l.SESSION_ID,s.SERIAL#,l.ORACLE_USERNAME,l.OS_USER_NAME,l.PROCESS FROM V$LOCKED_OBJECT l,V$SESSION S WHERE l.SESSION_ID=S.SID;2)kill掉这个死锁的进程: alter system kill session ‘sid,serial#’; (其中sid=l.session_id) 3)如果还不能解决: select pro.spid from v$session ses,v$process pro where ses.sid=XX and ses.paddr=pro.addr; 其中sid用死锁的sid替换: exitps -ef|grep spid 其中spid是这个进程的进程号,kill掉这个Oracle进程from:/blog/550832??select A.SQL_TEXT, B.USERNAME, C.OBJECT_ID, C.SESSION_ID, B.SERIAL#, C.ORACLE_USERNAME,C.OS_USER_NAME,C.Process, ||C.Session_ID||,||B.SERIAL#||from v$sql A, v$session B, v$locked_object Cwhere A.HASH_VALUE = B.SQL_HASH_VALUE andB.SID = C.Session_IDoracle死锁解决办法 1.查哪个过程被锁 查V$DB_OBJECT_CACHE视图: SELECT * FROM V$DB_OBJECT_CACHE WHERE OWNER=过程的所属用户 AND LOCKS!=0; 2. 查是哪一个SID,通过SID可知道是哪个SESSION. 查V$ACCESS视图: SELECT * FROM V$ACCESS WHERE OWNER=过程的所属用户 AND NAME=刚才查到的过程名; 3. 查出SID和SERIAL# 查V$SESSION视图: SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID=刚才查到的SID 查V$PROCESS视图: SELECT SPID FROM V$PROCESS WHERE ADDR=刚才查到的PADDR; 4. 杀进程 (1).先杀ORACLE进程: ALTER SYSTEM KILL SESSION 查出的SID,查出的SERIAL#;考试大论坛 (2).能过CMD控制台,再杀操作系统进程: ORAKILL 数据库实现 刚才查出的S
您可能关注的文档
- Oracle11g考試题B卷及答案.doc
- Oracle8i在Linux下的安裝.doc
- Oracle11gRAC實施手册.doc
- Oracle9i數据库常用的备份和恢复方法.doc
- Oracle9i的備份与恢复详细步骤.doc
- OracleDecode函數使用技巧大全.docx
- OracleDatabase10g性能調整与优化.docx
- OracleEBS12forwindows免安裝虚拟机或是OracleEBS12.1forlinux免安装虚拟机+最佳业务实践教程.doc
- OracleJDE812DEMO安裝手册.doc
- Oracle_group_by_用法實例详解.doc
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
最近下载
- 基于Android开发的购物商城App的设计与实现-毕业设计.pdf VIP
- 测绘中级工程师职称答辩题库.pdf
- 办公大楼供电设备管理维护方案.docx VIP
- 学习小组组织与管理小组组织与管理实施计划.docx
- 2024年中考物理二轮题型(全国通用)压轴题:含压强、浮力、杠杆、滑轮的机械效率的综合计算(解析版).pdf VIP
- 高校学生工作案例分析的方法与技巧.pdf VIP
- 基于Android的网上商店商城购物系统app的设计与实现毕业论文.docx
- 地理学概论地理科学研究的基本方法.ppt
- 八年级上册英语完形填空、阅读理解专题100题(含参考答案).pdf VIP
- 2023年肺癌脑转移中国治疗指南.docx
文档评论(0)