ALL_TAB_COLSの代わりにALL_TAB_COLUMNSを使用してみてください。 Oracle 11.2では、未使用の列がALL_TAB_COLSに表示されますが(名前は変更されています)、ALL_TAB_COLUMNSには表示されません。
次のようなテーブルを作成しました:
create table t1 (c1 varchar2(30), c2 varchar2(30);
次に、c2を未使用に設定します:
alter table t1 set unused column c2;
次に、次のように表示されます:
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