当前位置:  数据库>oracle

更新Oracle数据时遇到锁死情况的处理

    来源: 互联网  发布时间:2017-05-27

    本文导语: 我们在操作Oracle数据库的时候,有时候会由于操作不当引起数据库表被锁定,这么我们经常不知所措,不知怎么给这些表解锁,在pl/sql Developer工具的的菜单“tools”里面的“sessions”可以查询现在存在的会话,但是我们很难找到...

我们在操作Oracle数据库的时候,有时候会由于操作不当引起数据库表被锁定,这么我们经常不知所措,不知怎么给这些表解锁,在pl/sql Developer工具的的菜单“tools”里面的“sessions”可以查询现在存在的会话,但是我们很难找到那个会话被锁定了,想找到所以被锁的 会话就更难了。

下面是我自己通过网上的资料结合现场环境尝试过有效的杀进程解锁的过程,比较简单,容易操作:

查看被锁的表:

SELECT p.spid,
      c.object_name,
      b.session_id,
      a.serial#,
      b.oracle_username,
      b.os_user_name
 FROM v$process p, v$session a, v$locked_object b, all_objects c
 WHERE p.addr = a.paddr
  AND a.process = b.process
  AND c.object_id = b.object_id;

将查询出来的session_id,serial#,记录下来使用如下语句进行解锁

解锁:
alter system kill session'b.session_id,a.serial#';

如果解锁不成功可以尝试在操作系统层面进行进程结束(威力很大,慎用)

[Windows]  ntsd -c q -pp.spid
[Linux]        ps -ef|grepp.spid


在linux中杀系统进程的时候先试试直接KILL,有些时候无效的情况尝试kill -9 spid

本人遇到了好几次此类情况都是用以上方法解决了,目前还未遇到无效的。

希望对各位有帮助。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Mysql两种情况下更新字段中部分数据的方法
  • c#多线程更新窗口(winform)GUI的数据
  • Fedora 的更新包有必要更新么?
  • Windows7 更新操作步骤
  • ubuntu 更新信息存放位置?
  • Android 自动更新Demo
  • Cheney程序更新管理器
  • 怎么才能够更新数据库?
  • 关于linux 的项目更新问题??
  • Java 应用自动更新框架 Jupidator
  • jdbc可更新数据集问题,困扰我两日!!
  • 内存数据更新问题
  • centos5 今天的新的更新有必要吗?
  • Google自动更新程序 Omaha
  • 关于JTable自动更新数据的问题
  • 紧急求救!怎样用update更新指定的一行数据!
  • 如何监视数据变更,并及时更新显示好?
  • 下载的lINUX是有版本更新次数限制?
  • 关于文件更新日期(急)
  • 请问Ubuntu Linux 怎么实现离线更新呢?
  • libreoffice 更新问题!
  • 集群服务器下相同文件夹下文件同时更新


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,