sql >> Base de Datos >  >> RDS >> Oracle

Cómo enumerar todas las tablas en Oracle

Los administradores de bases de datos o el desarrollador a menudo necesitan enumerar varias tablas en Oracle. Requerirían enumerar todas las tablas en Oracle para fines de auditoría y seguridad. A veces quieren enumerar todas las tablas en un espacio de tabla o esquema particular o, a veces, enumerar todas las tablas que se crearon recientemente. Estaríamos mostrando todo esto en esta publicación.

Toda la información de tablas y columnas en la base de datos Oracle se almacena en las tablas SYS.TAB$ y SYS.COL$. Oracle ha proporcionado vistas de diccionario de datos para obtener información sobre tablas y columnas.

Hay tres categorías de vistas

Todo el listado de las tablas se puede hacer desde las vistas de diccionario anteriores.

Para listar todas las tablas que pertenecen al usuario actual/oracle show tables

select tablespace_name, table_name from user_tables; 

Las personas familiarizadas con la base de datos MySQL sabrán que usamos mostrar tablas para listar las tablas en MySQL. Entonces, la consulta anterior es básicamente las tablas de presentación de Oracle en la base de datos de Oracle

Para listar todas las tablas en una base de datos Oracle/mostrar todas las tablas en Oracle

select owner,table_name,tablespace_name, from dba_tables;

Para enumerar todas las tablas accesibles para el usuario actual

 select owner, tablespace_name, table_name from all_tables;

Obtenga la lista de tablas en un esquema en Oracle/Oracle show tables in the schema

select owner, tablespace_name, table_name from dba_tables where owner='&schema';

Consulta de tablas de listas de Oracle en tablespace

select owner, tablespace_name, table_name from dba_tables where tablespace_name='&tablespace_name';

cómo encontrar el esquema de una tabla en Oracle

set lines 140 pages 1000
col table_name for a30
col owner for a7
select owner,table_name,initial_extent,ini_trans,freelists from dba_tables where table_name=upper('&tab_name');

Cómo encontrar la fecha de creación de una tabla en oracle

select owner,object_name,object_type,status,
to_char(last_ddl_time,'DD-MON-YY HH24:MI:SS') DDL_TIME,to_char(created,'DD-MON-YY HH24:MI:SS') CR_DATE
from dba_objects
where object_name =upper('&obj_name') and owner='&OWN' and object_type='TABLE',
/

Cómo encontrar una lista de tablas creada recientemente

select owner,object_name,object_type,status,
to_char(last_ddl_time,'DD-MON-YY HH24:MI:SS') DDL_TIME,to_char(created,'DD-MON-YY HH24:MI:SS') CR_DATE
from dba_objects
where created > sysdate -7 and  object_type='TABLE'
/

Lista de todas las tablas en una base de datos de Oracle por nombre de columna

A veces, cuando hacemos el análisis del esquema, es decir, las relaciones entre las distintas tablas, necesitamos encontrar todas las tablas que tienen los mismos nombres de columna. La siguiente consulta se puede utilizar para ayudar en esto. Podemos utilizar la vista según las subvenciones que tengamos entre manos

select owner,table_name from all_tab_columns where column_name = '&col_name';
 or
 select owner, table_name from dba_tab_columns where column_name = '&col_name';

Podemos muchas más consultas construidas de la misma manera según la necesidad. Las consultas que he presentado anteriormente son las más frecuentes y se utilizan con mayor frecuencia. Avíseme si desea incluir más consultas en la lista que ayudarán a las personas en las tareas.

Artículos relacionados

cómo encontrar índices en una tabla en Oracle
las estadísticas de objetos están bloqueadas
Consulta para verificar el tamaño de la tabla en Oracle
Cómo verificar Tablespace en Oracle
Referencia de All_Tables de la documentación de Oracle