暂无图片
更新表时出现此数据库错误:ORA-00054:资源正忙并且正在使用指定的NOWAIT进行获取,或者超时已过期,怎么解决?
我来答
分享
Tom
2021-09-16
更新表时出现此数据库错误:ORA-00054:资源正忙并且正在使用指定的NOWAIT进行获取,或者超时已过期,怎么解决?

更新表时出现此数据库错误:ORA-00054:资源正忙并且正在使用指定的NOWAIT进行获取,或者超时已过期,怎么解决?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
JiekeXu
暂无图片

有锁,别人占用了,等他提交或者回滚,或者找出来 杀掉他。用下面语句查查看。

select s.SID,s.SERIAL#,s.MACHINE,s.TYPE,l.TYPE,l.CTIME,l.BLOCK,l.REQUEST,l.LMODE,
       decode(l.lmode,
              0,
              'None',
              1,
              'Null',
              2,
              'Row-S (SS)',
              3,
              'Row-X (SX)',
              4,
              'Share',
              5,
              'S/Row-X (SSX)',
              6,
              'Exclusive',
              substr(to_char(l.lmode), 1, 13)) as "Locked Mode",
       DECODE(L.TYPE,
              'MR',
              'File_ID:' || L.ID1,
              'TM',
              t.NAME,
              'TX',
              'USN:' || to_char(TRUNC(L.ID1 / 65536)) || 'RWO:' ||
              nvl(r.NAME, 'None'),
              L.ID1) as LOCK_ID1,
       'alter system kill session ''' || s.SID || ',' || s.SERIAL# || ''';' as "Kill"
  from v$process p
 inner join v$session s
    on s.PADDR = p.ADDR
 inner join v$lock l
    on l.SID = s.SID
  left join sys.obj$ t
    on l.ID1 = t.obj#
  left join sys.obj$ r
    on s.ROW_WAIT_OBJ# = r.obj#
 where 1 = 1
   and l.TYPE != 'MR' 
-- and l.TYPE  = 'TM'
   and l.lmode = 3
 order by s.SID;

复制
暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
Uncopyrightable

找个漆黑无人打扰的夜晚进行操作,好使~

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
请问 oracle 如何查找几分钟前网络输出流量最大的SQL?
回答 1
这两个无直接联系
静默安装Oracle,执行安装命令时,总出现unzip的使用?
回答 8
信息不够,多贴出来点信息才好知道问题
数据库hang swap可用为0
回答 16
这个现象需要分析一下,是否是oracle占用的内存不释放
Oracle数据库的stage目录文件清理
回答 1
这个文件夹是放的ADR的相关诊断信息,占用大可能是数据库有些报错生成的日志,可以把日期早的文件删了释放空间,不影响数据库的运行,但是还是建议分析产生大的根因。如果是日期久可以通过adrci调整ADR的
AWR分析报告问题求助:不懂awr 怎么分析
回答 1
兄弟,从awr看起来你的数据库没啥大问题,cpu负载不高,等待时间时长也不长。
es怎么拉取慢sql
回答 1
Elasticsearch提供了慢查询日志,你可以通过配置elasticsearch.yml文件中的参数来启用。在elasticsearch.yml中添加以下配置:index.search.slowl
求一份常见Oracle故障模拟场景
回答 3
希望对你有帮助:https://www.modb.pro/db/52480?utmsourceindexai
oracle 11.1.0.7.0版本的 v$active_session_history视图没有TEMP_SPACE_ALLOCATED字段
回答 1
这个11.1.0.7数据库版本存在很多问题,虽然有补丁包修复,还是建议升级到11.2.0.4版本。
哪种连接条件,是可能走出HASH JOIN的
回答 2
已采纳
这题不太好回,因为只要有连接,都有办法让它走hashjoin,大不了强制hint。无论是基于RBO还是CBO,连接条件的本身都不是是否会走hashjoin的决定因素,比如下面这个例子createtab
oracle总提示表空间不存在,怎么解决?
回答 1
已采纳
感觉是cdb和pdb使用方式理解有些差异;https://www.modb.pro/db/41813