Spróbuj użyć ALL_TAB_COLUMNS zamiast ALL_TAB_COLS. W Oracle 11.2 stwierdzam, że nieużywane kolumny pojawiają się w ALL_TAB_COLS (chociaż zmieniono ich nazwę), ale nie w ALL_TAB_COLUMNS.
Utworzyłem taką tabelę:
create table t1 (c1 varchar2(30), c2 varchar2(30);
Następnie ustaw c2 nieużywane:
alter table t1 set unused column c2;
Wtedy widzę:
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