SELECT owner, table_name
FROM dba_tables
asumiendo que tiene acceso a la DBA_TABLES
vista del diccionario de datos. Si no tiene esos privilegios pero los necesita, puede solicitar que el DBA le conceda explícitamente privilegios sobre esa tabla o que el DBA le conceda el SELECT ANY DICTIONARY
privilegio o el SELECT_CATALOG_ROLE
cualquiera de los cuales le permitiría consultar cualquier tabla del diccionario de datos. Por supuesto, puede querer excluir ciertos esquemas como SYS
y SYSTEM
que tienen un gran número de tablas que probablemente no le interesan porque todas ellas son suministradas por Oracle.
Como alternativa, si no tiene acceso a DBA_TABLES
puede ver todas las tablas a las que su cuenta tiene acceso a través del ALL_TABLES
ver
SELECT owner, table_name
FROM all_tables
aunque puede ser un subconjunto de las tablas disponibles en la base de datos ( ALL_TABLES
le muestra la información de todas las tablas a las que su usuario tiene acceso).
Si sólo le preocupan las tablas que posee, y no aquellas a las que tiene acceso, podría utilizar USER_TABLES
SELECT table_name
FROM user_tables
Desde USER_TABLES
sólo tiene información sobre las tablas que posee, no tiene un OWNER
columna el propietario, por definición, eres tú.
Oracle también tiene una serie de vistas de diccionario de datos heredadas TAB
, DICT
, TABS
y CAT
por ejemplo que se podría utilizar. En general, no sugeriría utilizar estas vistas heredadas a menos que sea absolutamente necesario retroceder sus scripts a Oracle 6. Oracle no ha cambiado estas vistas en mucho tiempo por lo que a menudo tienen problemas con los nuevos tipos de objetos. Por ejemplo, la vista TAB
y CAT
muestran información sobre las tablas que están en la papelera del usuario, mientras que las vistas [DBA|ALL|USER]_TABLES
vistas todas las filtran. CAT
también muestra información sobre los registros de las vistas materializadas con un TABLE_TYPE
de la "TABLA", que es poco probable que sea lo que realmente quieres. DICT
combina tablas y sinónimos y no indica a quién pertenece el objeto.
1 votos
Hace
SHOW TABLES
(como se hace en MySQL) funcionan?1 votos
@MartinThoma no. Probé eso primero, antes de recurrir a Google