Diccionario de Datos y Vistas de Rendimiento Dinámico
El juego central de tablas y vistas de referencia de solo lectura de cada base de datos Oracle se conoce colectivamente como el diccionario de datos. Las vistas de rendimiento dinámico son vistas especiales que se actualizan continuamente mientras una base de datos está abierta y en uso.
-
Visión General del Diccionario de Datos Una parte importante de una base de datos Oracle es su diccionario de datos, que es un juego de tablas de solo lectura que proporciona metadatos administrativos sobre la base de datos.
-
Visión general de las vistas de rendimiento dinámico A lo largo de su operación, Oracle AI Database mantiene un juego de tablas virtuales que registran la actividad actual de la base de datos.
-
Metadatos de objeto de base de datos El paquete
DBMS_METADATAy la funciónDBMS_DEVELOPER.GET_METADATAproporcionan interfaces para extraer definiciones completas de objetos de base de datos.
Visión General del Diccionario de Datos
Una parte importante de una base de datos Oracle es su diccionario de datos, que es un juego de tablas de solo lectura que proporciona metadatos administrativos sobre la base de datos.
-
Propósito del diccionario de datos: el diccionario de datos contiene metadatos que describen el contenido de la base de datos.
-
Componentes del diccionario de datos: el diccionario de datos consta de tablas y vistas base.
-
Cómo funciona el diccionario de datos La cuenta de usuario de Oracle AI Database
SYSes propietaria de todas las tablas base y vistas accesibles al usuario del diccionario de datos. -
Almacenamiento del diccionario de datos El diccionario de datos que almacena los metadatos para la CDB en su conjunto solo se almacena en los tablespaces del sistema.
Finalidad del diccionario de datos
El diccionario de datos contiene metadatos que describen el contenido de la base de datos.
Por ejemplo, el diccionario de datos contiene información como la siguiente:
-
Definiciones de cada objeto de esquema en la base de datos, incluidos los valores por defecto para las columnas y la información de restricción de integridad
-
Cantidad de espacio asignada y utilizada actualmente por los objetos del esquema
-
Los nombres de los usuarios, privilegios y roles de Oracle AI Database otorgados a los usuarios y la información de auditoría relacionada con los usuarios
-
Gestión de datos El diccionario de datos es una parte central de la gestión de datos para cada base de datos Oracle.
-
Separación del diccionario de datos en una CDB En una CDB, los metadatos del diccionario de datos se dividen entre la raíz de CDB y las PDB. Desde el punto de vista del usuario y la aplicación, el diccionario de datos de cada contenedor de una CDB es independiente.
Gestión de datos
El diccionario de datos es una parte central de la gestión de datos para cada base de datos Oracle.
Por ejemplo, la base de datos realiza las siguientes acciones:
-
Accede al diccionario de datos para buscar información sobre usuarios, objetos de esquema y estructuras de almacenamiento
-
Modifica el diccionario de datos cada vez que se emite una sentencia DDL
Debido a que Oracle AI Database almacena datos del diccionario de datos en tablas, al igual que otros datos, los usuarios pueden consultar los datos con SQL. Por ejemplo, los usuarios pueden ejecutar sentencias SELECT para determinar sus privilegios, qué tablas existen en su esquema, qué columnas están en estas tablas, si los índices se crean en estas columnas, etc.
Consulte además:
-
Oracle AI Database Security Guide para obtener más información sobre las cuentas de usuario
Separación del Diccionario de Datos en una CDB
En una CDB, los metadatos del diccionario de datos se dividen entre la raíz de la CDB y las PDB. Desde el punto de vista del usuario y la aplicación, el diccionario de datos de cada contenedor de una CDB es independiente.
En una CDB recién creada que aún no contiene datos de usuario, el diccionario de datos de la raíz de CDB solo contiene metadatos del sistema. Por ejemplo, la tabla TAB$ contiene filas que describen solo las tablas proporcionadas por Oracle, por ejemplo, TRIGGER$ y SERVICE$. En el siguiente gráfico se muestran tres tablas del diccionario de datos subyacentes, con las barras rojas que indican las filas que describen el sistema.
Figura 1: Metadatos del Diccionario de Datos en la Raíz de CDB

Descripción de la ilustración cncpt_vm_363.png
Supongamos que crea una PDB y, a continuación, crea un esquema hr que contiene las tablas employees y departments en esta PDB. El diccionario de datos de la PDB contiene algunas filas que describen las entidades proporcionadas por Oracle y otras filas que describen las entidades creadas por el usuario. Por ejemplo, la tabla TAB$ del diccionario de PDB tiene una fila de metadatos para la tabla employees y una fila para la tabla departments.
Figura 2: Arquitectura del Diccionario de Datos en una CDB

Descripción de la ilustración cncpt_vm_361.png
En el gráfico anterior se muestra que el diccionario de datos de la PDB contiene puntos en el diccionario de datos de la raíz de CDB. Internamente, los objetos proporcionados por Oracle, como las definiciones de tablas del diccionario de datos y los paquetes PL/SQL, se representan solo una vez en la raíz de CDB. Esta arquitectura logra dos objetivos principales dentro de la CDB:
-
Reducción de la duplicación
Por ejemplo, en lugar de almacenar el código fuente para el paquete PL/SQL
DBMS_ADVISORen cada PDB, la CDB almacena el código solo una vez enCDB$ROOT, lo que ahorra espacio en disco. -
Facilidad de actualización de la base de datos
Si la definición de una tabla del diccionario de datos existía en cada PDB y si la definición cambiara en una nueva versión, cada PDB tendría que actualizarse por separado para capturar el cambio. El almacenamiento de la definición de tabla solo una vez en la raíz de CDB elimina este problema.
Componentes del Diccionario de Datos
El diccionario de datos consta de tablas y vistas base.
Estos objetos se definen de la siguiente manera:
-
Tablas base
Almacenan información sobre la base de datos. Solo Oracle AI Database debe escribir y leer estas tablas. Los usuarios rara vez acceden a las tablas base directamente porque están normalizadas y la mayoría de los datos se almacenan en un formato críptico.
-
Vistas
Estos descodifican los datos de la tabla base en información útil, como nombres de usuario o tabla, mediante uniones y cláusulas
WHEREpara simplificar la información. Las vistas contienen los nombres y la descripción de todos los objetos del diccionario de datos. Algunas vistas son accesibles para todos los usuarios de la base de datos, mientras que otras están destinadas solo a administradores.
Normalmente, las vistas del diccionario de datos se agrupan en juegos. En muchos casos, un juego consta de tres vistas que contienen información similar y se distinguen entre sí por sus prefijos, como se muestra en la siguiente tabla. Al consultar las vistas adecuadas, solo puede acceder a la información relevante para usted.
Tabla 1 Juegos de Vistas del Diccionario de Datos
| Prefijo | Acceso de Usuario | Contenido | Notas |
|---|---|---|---|
DBA_ |
Administradores de Bases de Datos | Todos los Objetos | Algunas vistas DBA_ tienen columnas adicionales que contienen información útil para el administrador. |
ALL_ |
Todos los usuarios | Objetos para los que el usuario tiene privilegios | Incluye objetos que son propiedad del usuario. Estas opiniones obedecen al conjunto actual de roles activados. |
USER_ |
Todos los usuarios | Objetos propiedad del usuario | Las vistas con el prefijo USER_ suelen excluir la columna OWNER. Esta columna está implicada en las vistas USER_ para que sea el usuario que emite la consulta. |
No todos los juegos de vistas tienen tres miembros. Por ejemplo, el diccionario de datos contiene una vista DBA_LOCK pero no una vista ALL_LOCK.
La vista DICTIONARY proporcionada por el sistema contiene los nombres y las descripciones abreviadas de todas las vistas del diccionario de datos. La siguiente consulta de esta vista incluye una salida de ejemplo parcial:
SQL> SELECT * FROM DICTIONARY
2 ORDER BY TABLE_NAME;
TABLE_NAME COMMENTS
------------------------------ ----------------------------------------
ALL_ALL_TABLES Description of all object and relational
tables accessible to the user
ALL_APPLY Details about each apply process that
dequeues from the queue visible to the
current user
.
.
.
-
Objetos de datos de contenedor en una CDB Un objeto de datos de contenedor es una tabla o vista que contiene datos que pertenecen a varios contenedores o a toda la CDB.
-
Las vistas con el prefijo DBA_ vistas con el prefijo
DBA_muestran toda la información relevante de toda la base de datos. Las vistasDBA_únicamente están destinadas a los administradores. -
Las vistas con el prefijo ALL_ Vistas con el prefijo
ALL_hacen referencia a la perspectiva general del usuario de la base de datos. -
Vistas con el prefijo USER_ Las vistas que más pueden interesar a los usuarios de base de datos típicos son las que tienen el prefijo
USER_. -
La tabla DUAL
DUALes una tabla pequeña en el diccionario de datos a la que pueden hacer referencia Oracle AI Database y los programas escritos por el usuario para garantizar un resultado conocido.
Consulte además:
-
Referencia de Oracle AI Database para obtener una lista completa de vistas del diccionario de datos y sus columnas
Objetos de datos de contenedor en una CDB
Un objeto de datos de contenedor es una tabla o vista que contiene datos que pertenecen a varios contenedores o a toda la CDB.
Los privilegios de datos de contenedor soportan un requisito general en el que varias PDB residen en una única CDB, pero con diferentes requisitos de administración local. Por ejemplo, si los DBA de la aplicación no desean administrar localmente, pueden otorgar privilegios de datos de contenedor en las vistas adecuadas a los usuarios comunes. En este caso, el administrador de la CDB puede acceder a los datos de estas PDB. Por el contrario, los administradores de PDB que no desean que el administrador de CDB acceda a sus datos no otorgan privilegios de datos de contenedor.
Algunos ejemplos de objetos de datos de contenedor son las vistas proporcionadas por Oracle cuyos nombres empiezan por V$ y CDB_. Todos los objetos de datos de contenedor tienen una columna CON_ID. En la siguiente tabla se muestra el significado de los valores de esta columna.
Tabla 2 Valores de ID de contenedor
| ID de contenedor | Las filas pertenecen a |
|---|---|
0 |
CDB completa |
1 |
CDB$ROOT |
2 |
PDB$SEED |
| Todos los demás ID | PDB creadas por el usuario, raíces de aplicaciones o semillas de aplicaciones |
En una CDB, para cada vista DBA_, existe una vista CDB_ correspondiente. El propietario de una vista CDB_ es el propietario de la vista DBA_ correspondiente. En el siguiente gráfico se muestra la relación entre las diferentes categorías de vistas de diccionario:
Figura 3: Vistas de Diccionario en una CDB

Descripción de la ilustración cncpt_vm_366.png
Cuando el contenedor actual es una PDB, un usuario puede ver la información del diccionario de datos solo para la PDB actual. Sin embargo, cuando el contenedor actual es la raíz de CDB, un usuario común puede consultar las vistas CDB_ para ver los metadatos de la raíz de CDB y de las PDB para las que este usuario tiene privilegios. Nota: Cuando se consulta desde la raíz de CDB, las vistas CDB_ y V$ convierten implícitamente los datos en el juego de caracteres AL32UTF8. Si un juego de caracteres necesita más bytes para representar un carácter al convertirlo a AL32UTF8 y si el ancho de la columna de vista no puede acomodar datos de una PDB específica, es posible el truncamiento de datos.
En la siguiente tabla se describen las consultas de las vistas CDB_. Cada fila describe una acción que se produce después de la acción en la fila anterior.
Tabla 3 Consulta de vistas CDB_
| Operación | Descripción |
|---|---|
|
El usuario |
|
SYSTEM consulta CDB_USERS para obtener el número de usuarios comunes en la raíz de CDB. La salida indica que existen 38 usuarios comunes en la raíz de CDB. |
|
SYSTEM consulta CDB_USERS para determinar el número de contenedores distintos en la CDB. |
|
El usuario SYSTEM ahora se conecta a la PDB denominada hrpdb. |
|
SYSTEM consulta CDB_USERS. La salida indica que existen 48 usuarios comunes y locales en el contenedor actual, que es hrpdb. |
|
SYSTEM consulta DBA_USERS. La salida es la misma que la consulta anterior. Debido a que SYSTEM no está conectado a la raíz de CDB, la vista DBA_USERS muestra la misma salida que CDB_USERS. Dado que DBA_USERS solo muestra los usuarios en el contenedor actual, muestra 48. |
Vistas con el prefijo DBA_
Las vistas con el prefijo DBA_ muestran toda la información relevante de toda la base de datos. Las vistas DBA_ únicamente están destinadas a los administradores.
La siguiente consulta de ejemplo muestra información sobre todos los objetos de la base de datos:
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE
FROM DBA_OBJECTS
ORDER BY OWNER, OBJECT_NAME;
Consulte también: Guía del administrador de Oracle AI Database para obtener información detallada sobre los privilegios administrativos
Vistas con el prefijo ALL_
Las vistas con el prefijo ALL_ hacen referencia a la perspectiva general del usuario de la base de datos.
Estas vistas devuelven información sobre los objetos de esquema a los que el usuario tiene acceso mediante concesiones públicas o explícitas de privilegios y roles, además de los objetos de esquema que posee el usuario.
Por ejemplo, la siguiente consulta devuelve información sobre todos los objetos a los que tiene acceso:
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE
FROM ALL_OBJECTS
ORDER BY OWNER, OBJECT_NAME;
Debido a que las vistas ALL_ obedecen al juego actual de roles activados, los resultados de la consulta dependen de los roles activados, como se muestra en el siguiente ejemplo:
SQL> SET ROLE ALL;
Role set.
SQL> SELECT COUNT(*) FROM ALL_OBJECTS;
COUNT(*)
----------
68295
SQL> SET ROLE NONE;
Role set.
SQL> SELECT COUNT(*) FROM ALL_OBJECTS;
COUNT(*)
----------
53771
Los desarrolladores de aplicaciones deben ser conscientes del efecto de los roles al utilizar vistas ALL_ en un procedimiento almacenado, donde los roles no están activados por defecto.
Vistas con el prefijo USER_
Las vistas que más pueden interesar a los usuarios de base de datos típicos son las que tienen el prefijo USER_.
Estas vistas:
-
Consulte el entorno privado del usuario en la base de datos, incluidos los metadatos sobre los objetos de esquema creados por el usuario, los permisos realizados por el usuario, etc.
-
Mostrar solo las filas pertinentes para el usuario, devolviendo un subjuego de la información en las vistas
ALL_ -
Tiene columnas idénticas a las otras vistas, excepto que la columna
OWNERestá implícita -
Puede tener sinónimos
PUBLICabreviados para mayor comodidad
Por ejemplo, la siguiente consulta devuelve todos los objetos incluidos en el esquema:
SELECT OBJECT_NAME, OBJECT_TYPE
FROM USER_OBJECTS
ORDER BY OBJECT_NAME;
La tabla DUAL
DUAL es una tabla pequeña en el diccionario de datos a la que pueden hacer referencia Oracle AI Database y los programas escritos por el usuario para garantizar un resultado conocido.
La tabla doble es útil cuando un valor se debe devolver solo una vez, por ejemplo, la fecha y hora actuales. Todos los usuarios de la base de datos tienen acceso a DUAL.
La tabla DUAL tiene una columna denominada DUMMY y una fila que contiene el valor X. En el siguiente ejemplo, se consulta DUAL para realizar una operación aritmética:
SQL> SELECT ((3*4)+5)/3 FROM DUAL;
((3*4)+5)/3
-----------
5.66666667
Consulte también: Referencia de lenguaje SQL de Oracle AI Database para obtener más información sobre la tabla DUAL
Cómo funciona el diccionario de datos
La cuenta de usuario de Oracle AI Database SYS es propietaria de todas las tablas base y vistas accesibles al usuario del diccionario de datos.
Durante el funcionamiento de la base de datos, Oracle AI Database lee el diccionario de datos para asegurarse de que existen objetos de esquema y de que los usuarios tienen acceso adecuado a ellos. Oracle AI Database actualiza el diccionario de datos continuamente para reflejar los cambios en las estructuras de la base de datos, la auditoría, los permisos y los datos.
Por ejemplo, si el usuario hr crea una tabla denominada interns, la base de datos agrega nuevas filas al diccionario de datos que reflejan la nueva tabla, columnas, segmento, extensiones y los privilegios que hr tiene en la tabla. Esta nueva información será visible la próxima vez que se consulten las vistas del diccionario.
Los datos de las tablas base del diccionario de datos son necesarios para que Oracle AI Database funcione. Solo Oracle AI Database debe escribir o cambiar la información del diccionario de datos. Ningún usuario de Oracle AI Database debe alterar las filas o los objetos de esquema incluidos en el esquema SYS, porque dicha actividad puede poner en peligro la integridad de datos. El administrador de seguridad debe mantener un control muy estricto de esta cuenta central.
Advertencia: la modificación o manipulación de los datos en las tablas del diccionario de datos puede afectar de forma permanente y perjudicial a la operación de la base de datos.
-
Metadatos y enlaces de datos La CDB utiliza un mecanismo de enlace interno para separar la información del diccionario de datos.
-
Sinónimos públicos para vistas de diccionario de datos Oracle AI Database crea sinónimos públicos para muchas vistas de diccionario de datos para que los usuarios puedan acceder a ellas cómodamente.
-
Caché de diccionario de datos Gran parte de la información del diccionario de datos se encuentra en la caché de diccionario de datos porque la base de datos necesita constantemente la información para validar el acceso del usuario y verificar el estado de los objetos de esquema.
-
Otros programas y el diccionario de datos Otros productos de Oracle AI Database pueden hacer referencia a vistas existentes y crear tablas o vistas de diccionario de datos adicionales propias. Consulte también: "Cuentas SYS y SYSTEM"
Metadatos y enlaces de datos
La CDB utiliza un mecanismo de enlace interno para separar la información del diccionario de datos.
En concreto, Oracle AI Database utiliza los siguientes punteros gestionados automáticamente:
-
Enlaces de metadatos
Oracle AI Database almacena metadatos sobre objetos de diccionario solo en la raíz de CDB. Por ejemplo, las definiciones de columna para la tabla de diccionario
OBJ$, que subyace a la vista de diccionario de datosDBA_OBJECTS, solo existen en la raíz de CDB. Como se muestra en la Figura 9-2, la tablaOBJ$de cada PDB utiliza un mecanismo interno denominado enlace de metadatos para apuntar a la definición deOBJ$almacenada en la raíz de CDB.Los datos correspondientes a un enlace de metadatos residen en su PDB, no en la raíz de la CDB. Por ejemplo, si crea la tabla
mytableenhrpdby le agrega filas, las filas se almacenan en los archivos de datos de PDB, no en los archivos de datos raíz de CDB.Las vistas del diccionario de datos en la PDB y en la raíz de CDB contienen diferentes filas. Por ejemplo, existe una nueva fila que describe
mytableen la tablaOBJ$dehrpdb, pero no en la tablaOBJ$de la raíz de CDB. Por lo tanto, una consulta deDBA_OBJECTSen la raíz de CDB yDBA_OBJECTSenhrdpbmuestra resultados diferentes. -
Enlaces de Datos
Nota: Los enlaces de datos se denominaron enlaces de objetos en Oracle Database 12c versión 1 (12.1.0.2).
En algunos casos, Oracle AI Database almacena los datos (no solo los metadatos) de un objeto solo una vez en la raíz de aplicación de un contenedor de aplicaciones. Considere una compañía de comercio electrónico que tenga diferentes PDB para diferentes regiones. La raíz de la aplicación puede almacenar una tabla denominada
postal_codes, que muestra todos los códigos postales de EE. UU. Cada PDB de aplicación de este contenedor necesita acceso a la tablapostal_codescomún.Una PDB de aplicación utiliza un mecanismo interno denominado enlace de datos para hacer referencia al objeto en la raíz de la aplicación. La PDB de aplicación en la que se ha creado el enlace de datos también almacena la descripción del enlace de datos. Un enlace de datos hereda el tipo de dato del objeto al que hace referencia.
-
Enlace de datos ampliado
Un enlace de datos extendido es un híbrido de un enlace de datos y un enlace de metadatos. Al igual que un enlace de datos, un enlace de datos ampliado hace referencia a un objeto de una raíz de aplicación. Sin embargo, el enlace de datos ampliado también hace referencia a un objeto correspondiente en la PDB de la aplicación. Por ejemplo, una PDB de aplicación puede tener una tabla de enlaces de datos ampliada que almacene tanto los códigos postales de EE. UU. como los de Canadá. Al igual que un enlace de metadatos, el objeto de la PDB de la aplicación hereda los metadatos del objeto correspondiente de la raíz de la aplicación.
Cuando se consulta en la raíz de la aplicación, una tabla enlazada a datos extendida recupera filas solo de la raíz de la aplicación, por ejemplo, solo códigos postales de EE. UU. Sin embargo, cuando se consulta en una PDB de aplicación, una tabla enlazada a datos ampliada recupera filas tanto de la base de datos raíz de la aplicación como de la PDB de la aplicación, por ejemplo, códigos postales de EE. UU. y códigos postales canadienses.
Oracle AI Database crea y gestiona automáticamente metadatos y enlaces de datos a CDB$ROOT. Los usuarios no pueden agregar, modificar ni eliminar estos enlaces.
Consulte además:
-
Conceptos de Oracle AI Database para obtener una visión general del diccionario de datos
Sinónimos Públicos para Vistas del Diccionario de Datos
Oracle AI Database crea sinónimos públicos para muchas vistas de diccionario de datos para que los usuarios puedan acceder a ellas cómodamente.
El administrador de la seguridad también puede crear sinónimos públicos adicionales para objetos de esquema que se utilizan en todo el sistema. Oracle recomienda no utilizar el mismo nombre para un objeto de esquema privado y un sinónimo público.
Consulte también: "Visión General de Sinónimos"
Caché del diccionario de datos
Gran parte de la información del diccionario de datos se encuentra en la caché del diccionario de datos porque la base de datos necesita constantemente la información para validar el acceso del usuario y verificar el estado de los objetos de esquema.
Las cachés suelen contener la información de análisis. Las columnas COMMENTS que describen las tablas y sus columnas no se almacenan en caché en la caché de diccionario, sino que se pueden almacenar en caché en la caché de buffers de base de datos.
Consulte también: "Caché de Diccionario de Datos"
Otros programas y el diccionario de datos
Otros productos de Oracle AI Database pueden hacer referencia a vistas existentes y crear tablas o vistas de diccionario de datos adicionales propias.
Oracle recomienda que los desarrolladores de aplicaciones que escriben programas que hacen referencia al diccionario de datos utilicen los sinónimos públicos en lugar de las tablas subyacentes. Es menos probable que los sinónimos cambien entre versiones.
Almacenamiento del diccionario de datos
El diccionario de datos que almacena los metadatos para la CDB en su conjunto solo se almacena en los tablespaces del sistema.
El diccionario de datos que almacena los metadatos de una PDB específica se almacena en los tablespaces autónomos dedicados a esta PDB. Los tablespaces de PDB contienen tanto los datos como los metadatos de un backend de aplicación. Por lo tanto, cada juego de tablas del diccionario de datos se almacena en su propio juego dedicado de tablespaces.
Consulte también: "Tablespace SYSTEM" para obtener más información sobre el tablespace SYSTEM
Visión General de las Vistas Dinámicas de Rendimiento
A lo largo de su operación, Oracle AI Database mantiene un conjunto de tablas virtuales que registran la actividad actual de la base de datos.
Estas vistas son dinámicas porque se actualizan continuamente mientras una base de datos está abierta y en uso. Las vistas a veces se denominan vistas V$ porque sus nombres empiezan por V$.
Las vistas de rendimiento dinámico contienen información como la siguiente:
-
Parámetros de sistema y session
-
Uso y asignación de memoria
-
Estados de archivo (incluidos los archivos de copia de seguridad de RMAN)
-
Progreso de los trabajos y las tareas
-
Ejecución SQL
-
Estadísticas y métricas
Las vistas de rendimiento dinámico tienen los siguientes usos principales:
-
Oracle Enterprise Manager utiliza las vistas para obtener información sobre la base de datos.
-
Los administradores pueden utilizar las vistas para la supervisión y depuración del rendimiento.
-
Las vistas de rendimiento dinámico Contenido de las vistas de rendimiento dinámico se denominan vistas fijas porque un administrador de base de datos no las puede modificar ni eliminar. Sin embargo, los administradores de la base de datos pueden consultar y crear vistas en las tablas y otorgar acceso a estas vistas a otros usuarios.
-
Las vistas de rendimiento dinámico Almacenamiento de las vistas de rendimiento dinámico se basan en tablas virtuales creadas a partir de estructuras de memoria de base de datos. Consulte también: Referencia de Oracle AI Database para obtener una lista completa de las vistas de rendimiento dinámico
Contenido de las Vistas Dinámicas de Rendimiento
Las vistas de rendimiento dinámico se denominan vistas fijas porque un administrador de base de datos no las puede modificar ni eliminar. Sin embargo, los administradores de la base de datos pueden consultar y crear vistas en las tablas y otorgar acceso a estas vistas a otros usuarios.
SYS es propietario de las tablas de rendimiento dinámico, cuyos nombres empiezan por V_$. Las vistas se crean en estas tablas y, a continuación, los sinónimos públicos con el prefijo V$. Por ejemplo, la vista V$DATAFILE contiene información sobre los archivos de datos. La vista V$FIXED_TABLE contiene información sobre todas las tablas y vistas de rendimiento dinámico.
Para casi todas las vistas V$, existe una vista GV$ correspondiente. En Oracle Real Application Clusters (Oracle RAC), la consulta de una vista GV$ recupera la información de la vista V$ de todas las instancias de base de datos cualificadas.
Al utilizar el Asistente de Configuración de Bases de Datos (DBCA) para crear una base de datos, Oracle crea automáticamente el diccionario de datos. Oracle AI Database ejecuta automáticamente el script catalog.sql, que contiene definiciones de las vistas y sinónimos públicos para las vistas de rendimiento dinámico. Debe ejecutar catalog.sql para crear estas vistas y sinónimos.
Consulte además:
-
Oracle AI Database Administrator's Guide para aprender a ejecutar
catalog.sqlmanualmente -
Oracle Real Application Clusters Administration and Deployment Guide para obtener información sobre el uso de vistas de rendimiento en Oracle RAC
Almacenamiento de Vistas Dinámicas de Rendimiento
Las vistas de rendimiento dinámico se basan en tablas virtuales creadas a partir de estructuras de memoria de base de datos.
Las vistas no son tablas convencionales almacenadas en la base de datos. No se garantiza la consistencia de lectura para las vistas porque los datos se actualizan dinámicamente.
Dado que las vistas de rendimiento dinámico no son tablas verdaderas, los datos dependen del estado de la base de datos y de la instancia de base de datos. Por ejemplo, puede consultar V$INSTANCE y V$BGPROCESS cuando se inicia la base de datos pero no se monta. Sin embargo, no puede consultar V$DATAFILE hasta que se haya montado la base de datos.
Consulte también: "Concurrencia y coherencia de datos"
Metadatos de objeto de base de datos
El paquete DBMS_METADATA y la función DBMS_DEVELOPER.GET_METADATA proporcionan interfaces para extraer definiciones completas de objetos de base de datos.
Mediante el paquete DBMS_METADATA, las definiciones se pueden expresar como XML o como DDL de SQL. Oracle AI Database proporciona dos estilos de interfaz: una interfaz flexible y sofisticada para el control programático y una interfaz simplificada para consultas ad hoc.
Mediante la función DBMS_DEVELOPER.GET_METADATA, los metadatos del objeto se devuelven como un documento JSON.
Consulte también: Referencia de tipos y paquetes PL/SQL de Oracle AI Database para obtener más información sobre DBMS_METADATA. Referencia de tipos y paquetes PL/SQL de Oracle AI Database para obtener más información sobre DBMS_DEVELOPER.GET_METADATA.