我杀了一个正在更新一个表的脚本。现在当我重新运行我要得到的脚本时,
ORA-00054:资源繁忙并使用指定的NOWAIT获取
我猜桌子是锁着的吧?我怎么打开桌子?提前谢谢。
发布于 2011-09-23 07:19:06
步骤1:
select object_name, s.sid, s.serial#, p.spid
from v$locked_object l, dba_objects o, v$session s, v$process p
where l.object_id = o.object_id and l.session_id = s.sid and s.paddr = p.addr;第2步:
alter system kill session 'sid,serial#'; --`sid` and `serial#` get from step 1更多信息:http://www.oracle-base.com/articles/misc/killing-oracle-sessions.php
发布于 2012-08-10 03:17:05
感谢信息用户“user712934”
您还可以查找sql、用户名、机器、端口信息,并获取包含连接的实际进程。
SELECT O.OBJECT_NAME, S.SID, S.SERIAL#, P.SPID, S.PROGRAM,S.USERNAME,
S.MACHINE,S.PORT , S.LOGON_TIME,SQ.SQL_FULLTEXT
FROM V$LOCKED_OBJECT L, DBA_OBJECTS O, V$SESSION S,
V$PROCESS P, V$SQL SQ
WHERE L.OBJECT_ID = O.OBJECT_ID
AND L.SESSION_ID = S.SID AND S.PADDR = P.ADDR
AND S.SQL_ADDRESS = SQ.ADDRESS;发布于 2010-06-19 15:26:54
你得等着。被杀死的会话处于事务处理的中间,并更新了许多记录。必须对这些记录进行回滚,一些后台进程正在处理这一问题。同时,您不能修改被访问的记录。
https://stackoverflow.com/questions/3075738
复制相似问题