Oracle 执行SQL一直卡死不动和“资源正忙,但指定以NOWAIT方式获取资源,或链接失效”的解决办法
2017-03-28 09:14
471 查看
Oracle 问题1:执行 更新、修改、删除 时,控制台一直在转处于假死状态。
Oracle 问题2:出现 “资源正忙,但指定以NOWAIT方式获取资源,或链接失效” 的问题。
原因:有其他的用户在连接数据库进行 更新、修改、删除 等操作,导致当前数据库表被锁定,为了保证数据的一致性,因此其他用户在此用户未断开连接时无法进行操作。
解决办法:
1,先查出所有被占用进程的表,SQL语句如下:
其中 object_name 列数据为被锁定的表名,找到该列数据后,即可查看到 sid 和 serial。
杀掉连接:
其中 SID 和 serial 分别对应执行第一步查询的结果。
执行完成之后该表即可解锁。
Oracle 问题2:出现 “资源正忙,但指定以NOWAIT方式获取资源,或链接失效” 的问题。
原因:有其他的用户在连接数据库进行 更新、修改、删除 等操作,导致当前数据库表被锁定,为了保证数据的一致性,因此其他用户在此用户未断开连接时无法进行操作。
解决办法:
1,先查出所有被占用进程的表,SQL语句如下:
select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$session s where l.object_id = o.object_id and l.session_id=s.sid;
其中 object_name 列数据为被锁定的表名,找到该列数据后,即可查看到 sid 和 serial。
杀掉连接:
ALTER system KILL session 'sid,serial#';
其中 SID 和 serial 分别对应执行第一步查询的结果。
执行完成之后该表即可解锁。
相关文章推荐
- C# 用SqlBulkCopy 批量插入oracle数据 遇到了 ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效
- "ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效"的快速解决方法
- Oracle中修改表名遇到“ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效”
- oracle:ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效
- "ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效"的快速解决方法
- "ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效"的快速解决方法
- 锁表处理 SQL 错误: ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效
- oracle:ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效
- Oracle中修改表名遇到“ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效”
- oracle:ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效
- "ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效"的快速解决方法
- oracle:ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效
- oracle提示:ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效
- Oracle中修改遇到“ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效”
- "ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效"的快速解决方法
- Oracle中修改表名遇到“ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效”
- "ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效"的快速解决方法
- "ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效"的快速解决方法
- oracle:ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效
- ORA-00054 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效"的快速解决方法