dba:oracle_ddl_timeout
DDL Timeout beim Anlegen von Indexen / Constraints auf Tabellen mit DDL_LOCK_TIMEOUT setzen
Mit dem Parameter DDL_LOCK_TIMEOUT kann für die laufende Session definiert werden, wie lange ein DDL Kommando auf einen Lock auf das zu bearbeitende Objekt wartet.
In einer produktiven Umgebung mit hoher Insert Rate wird es oft schwierig einen Constraint zu löschen, da die Tabelle ständig im Zugriff steht.
Durch das Setzen des Parameters wartet das DDL Kommando solange wie der gesetzt Wert lautet und versucht entsprechend einen Lock auf die Tabelle zu erhalten.
Fehler:
ALTER TABLE gpi.redeftable_stage DROP CONSTRAINT TMP$$_SYS_C0018998780; ORA-00054: resource busy AND acquire WITH NOWAIT specified OR timeout expired.
Wert wird in Sekunden gesetzt.
Setzen mit:
ALTER SESSION SET ddl_lock_timeout=5;
Quellen
dba/oracle_ddl_timeout.txt · Zuletzt geändert: 2014/01/30 20:41 von gpipperr