Diccionarios de datos de Oracle
A diferencia de otras bases de datos SQL, como MySQL o PostgreSQL, Oracle no tiene un comando independiente que le permita recuperar las tablas de una base de datos dada.
Para mostrar las tablas de una base de datos dada, tenemos que usar las vistas de Oracle Data Dictionary.
En Oracle, un diccionario de datos se refiere a una colección de vistas de solo lectura que almacenan información sobre una base de datos determinada, incluidos esquemas, permisos de usuario, eventos, etc.
Aunque los diccionarios de datos son de solo lectura, podemos consultar la información almacenada en ellos, incluidas las tablas.
Explore y aprendamos cómo podemos trabajar con los diccionarios de datos.
Tablas de show de Oracle Propiedad del usuario actual
El uso más común del comando show tablas es enumerar las tablas propiedad del usuario actual.
Podemos usar una consulta como se muestra a continuación:
Seleccione TABLE_NAME de user_tables;La consulta anterior debe devolver todos los nombres de la tabla propiedad del usuario actual. Se proporciona una salida de ejemplo a continuación:
Oracle Show tablas accesibles por el usuario actual
En algunos casos, es posible que desee mostrar todas las tablas accesibles por el usuario actual a pesar de los permisos asignados.
En tal caso, podemos consultar el diccionario de datos All_tables como se muestra en la siguiente declaración:
Seleccione Tabla_Name, propietario de all_tables donde propietario = 'hr' pedido por table_name, propietario;Esta solicitud enumera todas las tablas accesibles por el usuario actual, como se muestra en la siguiente salida:
Oracle List todas las tablas
En casos muy mínimos, es posible que deba enumerar cada vez en todo el sistema. Para eso, debe consultar el Diccionario de datos DBA_Tables.
Es bueno recordar que solicitar una extensa recopilación de datos con un parámetro de tipo puede tener una incurrencia de rendimiento colosal. Uso con precaución.
Seleccione TABLE_NAME, Propietario de DBA_Tables;Esto debería volcar todas las tablas en el sistema, como se muestra en la siguiente salida de muestra:
Nota: En algunos casos, puede recibir un error como:
[42000] [942] ORA-00942: la tabla o la vista no existeSi eso sucede, es posible que deba comunicarse con el administrador de la base de datos para otorgar permisos en el diccionario DBA_Tables, seleccione cualquier permiso de diccionario o el select_catalog_role.
Conclusión
En esta publicación, aprendió varios métodos y técnicas para enumerar las tablas en el servidor Oracle. Por ejemplo, aprendió cómo enumerar las tablas de los usuarios y las tablas de DBA.