Oracle Database
Diccionario de datos
Buscar..
Observaciones
Las vistas del diccionario de datos, también conocidas como vistas de catálogo, le permiten monitorear el estado de la base de datos en tiempo real:
Las vistas con el prefijo USER_
, ALL_
y DBA_
muestran información sobre los objetos de esquema que le pertenecen ( USER_
), a los que puede acceder ( ALL_
) o a los que puede acceder un usuario con privilegio de SYSDBA ( DBA_
). Por ejemplo, la vista ALL_TABLES
muestra todas las tablas en las que tiene privilegios.
Las vistas V$
muestran información relacionada con el rendimiento.
Las vistas _PRIVS
muestran información de privilegios para diferentes combinaciones de usuarios, roles y objetos.
Documentación de Oracle: Vistas de catálogo / Vistas de diccionario de datos
Origen del texto de los objetos almacenados.
USER_SOURCE
describe la fuente de texto de los objetos almacenados que son propiedad del usuario actual. Esta vista no muestra la columna OWNER
.
select * from user_source where type='TRIGGER' and lower(text) like '%order%'
ALL_SOURCE
describe la fuente de texto de los objetos almacenados accesibles para el usuario actual.
select * from all_source where owner=:owner
DBA_SOURCE
describe la fuente de texto de todos los objetos almacenados en la base de datos.
select * from dba_source
Obtener lista de todas las tablas en Oracle
select owner, table_name
from all_tables
ALL_TAB_COLUMNS
describe las columnas de las tablas, vistas y clusters accesibles para el usuario actual. COLS
es un sinónimo de USER_TAB_COLUMNS
.
select *
from all_tab_columns
where table_name = :tname
Información de privilegio
Todos los roles otorgados al usuario.
select *
from dba_role_privs
where grantee= :username
Privilegios otorgados al usuario:
- privilegios del sistema
select *
from dba_sys_privs
where grantee = :username
- concesión de objeto
select *
from dba_tab_privs
where grantee = :username
Permisos otorgados a roles.
Roles otorgados a otros roles.
select *
from role_role_privs
where role in (select granted_role from dba_role_privs where grantee= :username)
- privilegios del sistema
select *
from role_sys_privs
where role in (select granted_role from dba_role_privs where grantee= :username)
- concesión de objeto
select *
from role_tab_privs
where role in (select granted_role from dba_role_privs where grantee= :username)
Versión de Oracle
select *
from v$version
Describe todos los objetos en la base de datos.
select *
from dba_objects
Para ver todas las vistas del diccionario de datos a las que tiene acceso.
select * from dict