ORA-00054: vir je zaseden in se pridobi z navedenim NOWAIT ali pretečenim časovnim rokom

Zakaj se pri posodabljanju tabele pojavi ta napaka v zbirki podatkov?

ERROR at line 1: ORA-00054: vir je zaseden in pridobljen z navedenim NOWAIT ali pretečenim časovnim rokom

Rešitev

Vaša tabela je že zaklenjena z neko poizvedbo. Morda ste na primer izvedli poizvedbo "select for update" in se še niste vrnili nazaj ter sprožili druge poizvedbe select. Pred izvedbo poizvedbe opravite potrditev/povratek.

Komentarji (4)

od tu https://stackoverflow.com/questions/3075738/ora-00054-resource-busy-and-acquire-with-nowait-specified

Prav tako lahko poiščete informacije o sql, uporabniškem imenu, stroju, vratih in pridete do dejanskega procesa, ki ima povezavo

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;
Komentarji (5)

Vaša težava je videti, kot da mešate operacije DML & amp; DDL. Oglejte si ta URL, ki pojasnjuje to vprašanje:

http://www.orafaq.com/forum/t/54714/2/.

Komentarji (0)