Diccionario de Datos



Oracle posee un diccionario de datos; es decir la manera de extraer el catálogo de objetos de una base de datos, nos refererimos a: tablas, usuarios, roles, vistas, columnas de las tablas, secuencias, constraints, sinónimos, índices, triggers, funciones etc.., esta información se encuentra contenida en tablas y vistas del sistema.

Dichas tablas en base a las cuales podemos obtener esta información aplicando sentencias sql.

A continuación enumeramos las tablas más importantes del diccionario de datos que nos permitirá obtener información de los objetos de la base de datos.

Notas:
Los prefijos dba_ son exclusividad para los usuarios que tengan el rol dba que sería el administrador de la base de datos y mostraría información de accesos de los usuarios que tienen asignado dicho rol.
Los prefijos_user indican que mostrará información en el ámbito del usuario que se encuentre conectado; [esquema].[objeto].

Información sobre todos los objetos: tablas, vistas, funciones, procedimientos, índices, triggers, etc. : dba_objects, user_objects, all_objects

  • Código de funciones y procedimientos: dba_source, user_source, all_source
  • Usuarios: dba_users, user_users, all_users
  • Roles: dba_roles
  • Roles asignados a roles o usuarios: dba_role_privs, user_role_privs
  • Privilegios asignados a roles o usuarios: dba_sys_privs
  • Permisos sobre tablas asignados a roles o usuarios: dba_tab_privs
  • Límites de recursos: user_resource_limits
  • Perfiles y sus límites de recursos asociados: dba_profiles
  • Límites de recursos en cuanto a restricciones en claves: user_password_limits
  • Límites de recursos en cuanto a espacio máximo en tablespaces: dba_ts_quotas, user_ts_quotas
  • Tablespaces: dba_tablespaces, user_tablespaces
  • Ficheros que componen los datafiles: dba_data_files
  • Segmentos: dba_segments, user_segments, all_segments
  • Segmentos de Rollback: dba_rollback_segs
  • Extensiones que forman los segmentos: dba_extents, user_extents
  • Bloques libres: dba_free_space, user_free_space
  • Bloques libres que podrían unirse: dba_free_space_coalesced
  • Secuencias: dba_sequences, user_sequences, all_sequences
  • Tablas, vistas, sinónimos y secuencias: dba_catalog, user_catalog, all_catalog
  • Tablas : dba_tables, user_tables, all_tables
  • Campos de tablas: dba_cons_columns, user_cons_columns, all_cons_columns
  • Columnas de las tablas: dba_tab_columns, user_tab_columns, all_tab_columns
  • Vistas: dba_views, user_views, all_views
  • Sinónimos: dba_synonyms, user_synonyms, all_synonyms
  • Restricciones de clave primaria, externa, not null, integridad referencial: dba_constraints, user_constraints, all_constraints
  • Índices: dba_indexes, user_indexes, all_indexes
  • Columnas de los índices: dba_ind_columns, user_ind_columns, all_ind_columns

Comentarios

Ilish Garay ha dicho que…
Gracias por el tiempo que le dedicó a la entrada, esta información siempre es util cuando uno menos se lo espera y que mejor que tenerlo a la mano para desarrollar un buen trigger
Anónimo ha dicho que…
1.- Crear una función que a partir del código de cliente, devuelve una cadena de caracteres formada por la constante “estimado(a)”, el título (ampliado) y el primer apellido. Por ejemplo:
Estimado señor Vargas
Estimada señora Delgado
2.- Crear una función que a partir del código de cliente y código de género devuelve la cantidad de películas de ese género que se ha prestado ese cliente.
3.- Crear una función que a partir del código de género y código de persona, devuelva una cadena de caracteres como en el siguiente ejemplo:
JOHN TRAVOLTA ha participado en 4 películas del género DRAMA.

Entradas populares de este blog

Actualizar las estadísticas

Errores de conexión de Oracle

Operaciones con fechas