Essayez d'utiliser ALL_TAB_COLUMNS au lieu de ALL_TAB_COLS. Dans Oracle 11.2, je trouve que les colonnes inutilisées apparaissent dans ALL_TAB_COLS (bien que renommées) mais pas dans ALL_TAB_COLUMNS.
J'ai créé un tableau comme celui-ci :
create table t1 (c1 varchar2(30), c2 varchar2(30);
Définissez ensuite c2 inutilisé :
alter table t1 set unused column c2;
Puis je vois :
select column_name from all_tab_cols where owner='ME' and table_name='T1';
COLUMN_NAME
-----------
C1
SYS_C00002_10060107:25:40$
select column_name from all_tab_columns where owner='ME' and table_name='T1';
COLUMN_NAME
-----------
C1