Zkuste místo ALL_TAB_COLS použít ALL_TAB_COLUMNS. V Oracle 11.2 jsem zjistil, že nepoužité sloupce se objevují v ALL_TAB_COLS (ačkoli přejmenované), ale ne v ALL_TAB_COLUMNS.
Vytvořil jsem tabulku takto:
create table t1 (c1 varchar2(30), c2 varchar2(30);
Potom nastavte c2 unused:
alter table t1 set unused column c2;
Pak vidím:
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