Para encontrar todas as tabelas com uma coluna específica:
select owner, table_name from all_tab_columns where column_name = 'ID';
Para encontrar tabelas que tenham uma ou todas as 4 colunas:
select owner, table_name, column_name
from all_tab_columns
where column_name in ('ID', 'FNAME', 'LNAME', 'ADDRESS');
Para encontrar tabelas que tenham todas as 4 colunas (sem nenhuma faltando):
select owner, table_name
from all_tab_columns
where column_name in ('ID', 'FNAME', 'LNAME', 'ADDRESS')
group by owner, table_name
having count(*) = 4;