有时候在drop表或者其他对象的时候,会遇到ORA-00054:资源正忙,要求指定NOWAIT(中文字符集)或者ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired错误(英文字符集),Oracle官方解决方案:

ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

Cause: Interested resource is busy.

Action: Retry if necessary or increase timeout.

通常处理方法有好几个步骤:

  • 查看数据库中那些用户产生了锁
SQL> select username,sid,serial#,logon_time from v$locked_object,v$session where v$locked_object.session_id=v$session.sid;
USERNAME                              SID    SERIAL# LOGON_TIME
------------------------------ ---------- ---------- -----------
NEWCCS                               228        574 2010-7-6 17
  • 根据SID查看具体的SQL语句
SQL> select sql_text from v$session,v$sqltext_with_newlines where decode(v$session.sql_hash_value,0,prev_hash_value,sql_hash_value)=v$sqltext_with_newlines.hash_value and v$session.sid=&sid order by piece;
  • 如果短时间内此SQL语句无法完成,且急需重建索引,那么kill此session
SQL> alter system kill session '228,574';

以上步骤太过繁琐,这里有一段代码的解决方案:

BEGIN
FOR C IN (SELECT S.SID SID, S.SERIAL# SERIAL FROM V$LOCKED_OBJECT L, V$SESSION S WHERE L.SESSION_ID = S.SID) LOOPEXECUTE IMMEDIATE ('ALTER SYSTEM KILL SESSION ''' || C.SID || ',' || C.SERIAL || '''');
END LOOP;
END;

转载于:https://www.cnblogs.com/eos666/p/10575685.html

解决ORA-00054资源正忙的问题相关推荐

  1. oracle锁资源不够,Oracle解锁,解决“ora00054:资源正忙”错误

    Oracle解锁,解决"ora00054:资源正忙"错误 一.处理步骤: --1.获取被锁对象的session_id SELECT session_id FROM v$locked ...

  2. Oracle删表报错ora00054,Oracle解锁,解决“ORA-00054:资源正忙”错误

    Oracle解锁,解决"ORA-00054:资源正忙"错误 一.处理步骤: --1.获取被锁对象的session_id SELECT session_id FROM v$locke ...

  3. oracle 系统资源正忙,oracle提示资源正忙怎么解决?oracle资源正忙解决方法

    怎么解决ORA-00054资源正忙,要求指定NOWAIT这样的问题?以下是解决方法,为朋友们做个参考. 解决方法: 1.通过上句查找出已被锁定的数据库表及相关的sid.serial#及spid sel ...

  4. ORA-00054资源正忙解决方法

    ORA-00054资源正忙解决方法 导入主键和唯一键过程中出现ORA-00054的错误,处理方法如下: 1.前提 解决步骤在当前用户下操作时,最低需要授予当前用户select_catalog_role ...

  5. oracle违法唯一约束怎么解决,Oracle “ORA-00001:违反唯一约束条件”和“ORA-00054: 资源正忙”错误解决...

    Oracle数据库对于常见的错误都会有报错提示,工作的这一年也碰到了一些错误,踩过一些坑,感谢那些前辈分享的问题和处理方案,正好这几天临近过年不太忙碌,就将一些错误描述,错误原因和解决方法整理后分享给 ...

  6. Oracle 报 “ORA-00054 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效” 问题的解决方法

    在执行数据库DDL操作 时,有事会出现"Oracle 报 "ORA-00054 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效" 的问题. 1 原因 一 ...

  7. oracle报错ora-00054,ora-00054资源正忙的解决办法-Oracle

    无论插值还是做其他操作,提示ora-00054 资源正忙的错误. 就我碰到的例子,分为两种,一种是因为杀掉了进程,但还没彻底释放掉,处理办法如下: --查出SPID select spid, osus ...

  8. ORA-00054: 资源正忙 解决办法

    ---不关心索引部分内容可以直接跳到第2步1.我需要在三张表上分别建立一个索引: CREATE INDEX 索引名 ON 表名 (列名1,列名2) TABLESPACE 表空间名;---------- ...

  9. oracle之报错:ORA-00054: 资源正忙,要求指定 NOWAIT

    原文出处:http://www.cnblogs.com/Ronger/archive/2011/12/19/2293509.html oracle之报错:ORA-00054: 资源正忙,要求指定 NO ...

最新文章

  1. python学习手册中文版免费下载-Python学习手册 第三版
  2. oracle swap忽略可以吗,Oracle Swap居高不下处理
  3. 汇编语言 将a段和b段中的数据依次相加,结果存放在c段中
  4. 为什么ps图片打开是色块_PS教程 我的PS我做主之山村调色
  5. 运行项目报错invalid notify_url
  6. pytorch自动求导-07
  7. PostgreSQL导入sql文件的方法
  8. a3967驱动_Arduino A3967 步进电机驱动板 EasyDriver Stepper Motor
  9. 利用kali Linux破解WiFi密码
  10. Gateway过滤器详解
  11. 数据技术大融合,HSTAP数据库有多少想象空间?
  12. H.264之几种开源解码器的对比评测
  13. 没基础,也可一文看懂 python 中的 csv 模块
  14. Cortex-M4操作模式
  15. 虚拟实验工场计算机科学导论论文,计算机科学导论论文
  16. Word的常用操作和快捷键
  17. 炫龙新笔记本安装Ubuntu1804遇到的问题
  18. 编写程序,输入城市名和数量,按字母顺序输出城市名清单。
  19. IO流——高级(2)
  20. 微信小程序+Echarts实现中国地图

热门文章

  1. linux目录数据块,如何在Linux上列出文件的数据块?
  2. ubuntu arm qt_Cyclone V SOC(ARM+FPGA)开发文档_之开发流程详解
  3. centos7 python3安装numpy_CentOS7 安装python库(numpy、scipy、matplotlib、scikit-learn、tensorflow)...
  4. inno setup安装之前关闭mysql_innosetup安装之前关闭进程
  5. struts2登录注册示例_Struts 2动作示例教程
  6. angularjs教程_AngularJS活动教程
  7. scala设计模式_Scala中的工厂设计模式
  8. Android FlashLight教程
  9. Numpy 模块的使用
  10. linux命令(56):环境变量:/etc/profile、/etc/bashrc 、~/.profile、~/.bashrc