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
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...
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;
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
Kommentar veröffentlichen