Hidden Columns "entdecken" - ORA-54032

Ab Oracle 12(?) kann es passieren, dass über die "extended statistics" unsichtbare Spalten angelegt werden.

Um zu prüfen, ob es hidden columns gibt, für die entsprechende Tabelle dieses SQL abfragen:

select table_name, column_name, data_default, hidden_column 
from   user_tab_cols
where  hidden_column = 'YES'
order  by table_name;

Bei Spaltenänderungen, die zu einem ORA-54032 führen, prüfen, ob und welche hidden columns angelegt wurden.

Durch
exec dbms_stats.drop_extended_stats(user, 'TBL', '(a, b)');

werden alle entsprechenden Spalten gelöscht und die Spalte kann geändert werden.

Beachten:
user_tabl_cols liefert: ("a","b")
drop_extended_stats benötigt: '(a,b)'

Man beachte die verschiedenen Hochkomma...

Kommentare

Beliebte Posts aus diesem Blog

PGA unter Oracle 11g

trunc(sysdate) - nette Spiele mit dem Datum

Datapump - Verzeichnis erstellen