DBAtlas · Atlas d'exploitation des bases de données

ORA-00054: Resource busy and acquire with NOWAIT specified or timeout expired (ressource occupée ; NOWAIT spécifié ou délai expiré)

Oracle

Que signifie cette erreur ?

La ressource (ligne ou table) à verrouiller est verrouillée par une autre session et n'a pas pu être acquise immédiatement, car NOWAIT était spécifié ou DDL_LOCK_TIMEOUT a expiré.

Cause

Généralement un DDL (ALTER TABLE, DROP, CREATE INDEX) tenté alors que la table est verrouillée par une autre transaction ; ou une ligne verrouillée rencontrée avec SELECT ... FOR UPDATE NOWAIT.

Comment la corriger

Trouvez la session qui détient le verrou : SELECT * FROM v$locked_object. Joignez v$session et v$lock pour identifier la session bloquante. Attendez la fin de la transaction ou, si nécessaire, terminez-la avec ALTER SYSTEM KILL SESSION. Pour le DDL, vous pouvez définir un temps d'attente : ALTER SESSION SET DDL_LOCK_TIMEOUT = 60; Exécutez le DDL pendant des fenêtres de maintenance calmes.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur