TRUNCATE setzt INDEX Status von UNUSABLE auf USABLE – Oracle 11R2

von Tobias Redmann

Nach einem TRUNCATE auf einer Tabelle werden zuvor auf UNUSABLE gesetzte INDEXE / INDIZES automatisch auf USABLE gesetzt.

Diese Verhalten ist mir im Rahmen der Vorbereitung einer Datenmigration aufgefallen, da mein DIRECT LOAD in die Tabelle nicht mehr funktionierte.

Warum ORACLE sich an dieser Stelle so verhält, kann ich nicht nachvollziehen.

Wichtig ist also, dass nach dem TRUNCATE alle INDEXE / INDIZES mittel Befehl – ALTER INDEX xyz UNUSABLE – erneut auf UNUSABLE gesetzt werden müssen.

SQL-SCRIPT UNUSABLE TRUNCATE USABLE INDEX

Dieses kleine Beispiel zeigt das von mir beschriebene Verhalten Schritt für Schritt in einem SQLPLUS Script.

SCHREIBEN SIE EINEN KOMMENTAR