我们在操作数据库的 时候,有时候会由于操作不当引起数据库表被锁定,这么我们经常不知所措,不知怎么给这些表解锁,在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

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

希望对各位有帮助。

更新ORACLE数据时遇到锁死情况的处理的更多相关文章

  1. sqlserver自带的导入导出工具,分别导入大批量mysql和oracle数据时的感受

    sqlserver自带的导入导出工具,分别导入大批量mysql和oracle数据时,mysql经常出现格式转换出错,不好导入  导入的数据量比较大时,还不如自己写个工具导入 今天在导oracle时,想 ...

  2. 使用Navicat连接Oracle数据时的一些问题,连接时错误:ORA-28547,新建用户后连接时错误:ORA-01017

    发现Navicat作为一款连接数据库的工具确实很好用,可视化的界面看着舒服很多,下面说说我今天在连接Oracle数据库时的一些问题: 1.安装好Oracle后直接用Navicat是连接不上的,会出现如 ...

  3. VS2015操作Oracle数据需要做那些设置?

    1>在oracle网上下载:ODP.NET 2> 要根据自己的oracle 数据32bit/64bit,选择下载. 3> 根据提示配置tnsnames.ora文件. # alias ...

  4. 在Oracle中更新数据时,抛出:ORA-01008: not all variables bound

    在Oracle中更新数据时,抛出了一个 :ORA-01008 not all variables bound, 我的理解是不是所有的变量/参数都有边界,不懂: 后来知道了,原来是“不是所有变量/参数都 ...

  5. oracle 触发器,当一个表更新或插入时将数据同步至另个库中的某个表中

    有两个表分别是 A用户下的 T_SRC_WEATHER_TSPG字段如图, B用户下的t_src_weather 表,如图: 要求,当A用户下的T_SRC_WEATHER_TSPG表有插入或者更新数据 ...

  6. ORACLE更新数据时如果有就更新没有就插入

    SQL写法: begin update table_name set salary = 10000 where emp_id = 5; if sql%notfound then insert into ...

  7. 转 SSIS处理导入数据时, 存在的更新, 不存在的插入

    SSIS处理导入数据时, 存在的更新, 不存在的插入 分类: DTS/SSIS2006-09-10 12:43 18185人阅读 评论(22) 收藏 举报 ssissql servermicrosof ...

  8. 关于IMP由拥有DBA权限的用户EXP数据时,数据存放表空间的几种情况(IMP-00013) -1

    关于IMP由拥有DBA权限的用户EXP数据时,数据存放表空间的几种情况(IMP-00013) -1 ORACLE公司来培训BIEE,带了一个DEMO的DMP文件,其导出用户DBO具有DBA权限,缺省表 ...

  9. 一个简单的批量更新oracle 数据库中 最近的服务商名称的数据

    有一个需求是这样的,我们需要更新数据库中的数据,数据时这样的 1.大约50万以上 2. 数据中有较多的重复数据 3. 需要将表中最近的代理商的名称赋值给行中的服务商名称 4. 代理商的名称可能有多个, ...

随机推荐

  1. XHTML使用规范

          XHTML元素语法: 1.XHTML元素必须正确嵌套 2.XHTML元素必须始终闭合 3.XHTML元素必须小写 4.XHTML文档必须有一个更元素      XHTML属性语法规则: 1 ...

  2. python json基础学习01

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' import json #全称(javascript object  ...

  3. Html中value和name属性的作用

    1.按钮中用的value 指的是按钮上要显示的文本  比如“确定”“删除”等 2.复选框用的value 指的是这个复选框的值 3.单选框用的value 和复选框一样 4.下拉菜单用的value 是列表 ...

  4. 把Go程序变小的办法

    把Go程序变小的办法是: go build -ldflags “-s -w” (go install类似) -s去掉符号表(然后panic时候的stack trace就没有任何文件名/行号信息了, 这 ...

  5. BZOJ 2648/2716(SJY把件-KD_Tree)[Template:KD_Tree]

    2648: SJY把件 Time Limit: 20 Sec  Memory Limit: 128 MB Submit: 1180  Solved: 391 [id=2648" style= ...

  6. Hacker(八)----NET命令

    NET命令是一种基于网络的命令,该命令的功能很强大,可以管理网络环境.服务.用户和登录等本地及远程信息.常见的NET命令主要有net view.net user.net use.net time.ne ...

  7. Js获取Gridview中Dropdownlist选中状态

    在Gridview中加入Dropdownlist模板列,加入DropDownlist 是一种常用的操作,其中涉及到如何获取选择项和Gridview重新绑定两个要点. 如图 前台代码如下 <%@ ...

  8. jQuery validate 的valid()方法一直返回true

    1 调用$('#myForm').valid(),一直返回ture eg:html <form id="myForm"> <input class="f ...

  9. Webstrom 使用过程中遇到的问题以及解决方案

    作为一个前端开发,我用过webstorm和sublime两个编辑器.sublime小巧轻便,不耗内存.但是webstorm具有以下特点,让我难以舍弃. webstorm优点 点击一个函数名,它会跳到函 ...

  10. javascript运动功能-分享到

    <script> //窗体载入,为div控件绑定事件 window.onload = function () { var div1 = document.getElementById('d ...