zoukankan      html  css  js  c++  java
  • 解决oracle数据库 ora-00054:resource busy and acquire with NOWAIT specified 错误

    解决oracle数据库 ora-00054:resource busy and acquire with NOWAIT specified 错误 

    本人在使用pl/sql developer 客户端调用存储过程进行操作时发现中途卡机然后强制终止pl/sql developer 之后,oracle就一直出现锁相关的错误。 
    经分析认为在调用存储过程时对表进行了DDL语句操作时导致了悲观封锁。客户端卡机后oracle一直没有对这个锁进行释放且一直不会完成释放导致错误。

    需要对此会话进行强制杀掉: 
    1. 查询当前被锁的对象 

    select t2.username, t2.sid, t2.serial#, t2.logon_time
          from v$locked_object t1, v$session t2
         where t1.session_id = t2.sid
         order by t2.logon_time

    2. 查询session信息 
    SQL> SELECT v.sid,v.SERIAL#,v.USERNAME,v.ACTION FROM v$session v WHERE v.sid IN (SELECT session_id FROM v$locked_object WHERE ORACLE_USERNAME= 'ATHENA') AND V.MACHINE='NBCBKJB-080701N'; 

    3. 杀会话 
    语法: 
    ALTER SYSTEM KILL SESSION 'SID,SERIAL#'; 
    例如: 
    ALTER SYSTEM KILL SESSION '436,62365'; 

    杀完之后再查询,发现sid对应的数据没了,这样就可以啦!实在不行只能重启数据库

  • 相关阅读:
    Ubuntu VIM下实现python自动缩进
    认识Python和基础知识
    Linux常用服务器搭建
    VIM常用命令
    Linux基础
    LINUX操作系统VIM的安装和配置
    Ubuntu 16.04下安装搜狗输入法
    Ubuntu 16.04下sublime text3安装
    Ubuntu软件安装与卸载
    present(模态)实现出push的效果
  • 原文地址:https://www.cnblogs.com/jiafuwei/p/7054545.html
Copyright © 2011-2022 走看看