您的位置:首页 > 数据库 > Oracle

Oracle 解锁问题

2008-02-19 10:33 344 查看
问题描述:
当执行:delete from table1 时,由于数据大速度很慢,想停止。这个时候如果强制执行:truncate table table1,
会出现错误提示:
[1]: (Error): ORA-00054: resource busy and acquire with NOWAIT specified

解决方法:
1,如果不着急的话,就等待,过一段时间,会自动解锁
2,kill the session :

----查找某用户下的所有锁
select a.*,b.object_name
from v$locked_object a ,all_objects b ,v$session c
where a.OBJECT_ID=b.object_id
AND a.SESSION_ID=c.SID
and c.USERNAME='abc'

例:
SQL> select username,status,sid,serial# from v$session where username is not null;

USERNAME STATUS SID SERIAL#
------------------------------ -------- --------- ---------
SYS ACTIVE 11 38493

SQL> /

USERNAME STATUS SID SERIAL#
------------------------------ -------- --------- ---------
TEMP INACTIVE 9 38038
SYS ACTIVE 11 38493

SQL> alter system kill session '9,38038';

系统已更改。

SQL> select username,status,sid,serial# from v$session where username is not null;

USERNAME STATUS SID SERIAL#
------------------------------ -------- --------- ---------
TEMP KILLED 9 38038
SYS ACTIVE 11 38493

SQL>

这个解决方案是从网上找的,但是当执行的时候,提示[1]: (Error): ORA-00054: resource busy and acquire with NOWAIT specified。 我是在SQL navigator 中执行的。。。。。。

3,如果使用的是toad :

用sys用户进入,到DBA-->session browser-->lock下面去看,直接点删除就行了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: