Buscar tablas que contengan un campo determinado

La siguinete consulta puede ser utilizada para encontrar las tablas que contienen determinado campo al que se le conoce parcial o totalmente su nombre.

select owner, 
table_name,
column_name Nombre,
substr(data_type decode(char_col_decl_length, null, 
decode(data_precision, null, null,
'('data_precision
decode(data_scale,0,')',','data_scale')')),
'('char_col_decl_length')'),1,20) Tipo
from all_tab_columns
where column_name like upper( 'nombre_campo_o_parte') '%'
order by owner, table_name, column_name;

Esta consulta es util por ejemplo para realizar conversiones de datos, saber tablas relacionadas cuando no existen claves foráneas, o encontrar el nombre de una tabla cuando se conoce solamente un campo de la misma.