Documentos de Académico
Documentos de Profesional
Documentos de Cultura
com
ix
Cómo se ejecuta PL / SQL 8-12
Descripción general de Java en Oracle Database 8-13
Descripción general de la máquina virtual Java (JVM) 8-15
Descripción general de los componentes 8-15
principales de Oracle JVM del entorno de 8-16
programación Java de Oracle JVM 8-17
Procedimientos almacenados de Java 8-18
Descripción general de los desencadenadores de 8-18
la integración de Java y PL / SQL 8-20
Ventajas de los disparadores 8-21
Tipos de disparadores 8-21
Tiempo para disparadores 8-22
Creación de disparadores 8-23
Ejemplo: instrucción CREATE TRIGGER Ejemplo: 8-24
invocación de un desencadenador a nivel de fila 8-24
Ejecución de desencadenadores 8-27
Almacenamiento de disparadores 8-27
X
Duración de bloqueo 9-21
Bloqueos y puntos muertos 9-22
Resumen de cerraduras automáticas 9-23
Cerraduras DML 9-24
Cerraduras de fila (TX) 9-24
Cerraduras de mesa (TM) 9-28
Cerraduras y llaves externas 9-29
Cerraduras DDL 9-32
Cerraduras DDL exclusivas 9-32
Compartir bloqueos DDL 9-32
Cerraduras de análisis rompibles 9-33
Bloqueos del sistema 9-33
Cierres 9-33
Mutexes 9-34
Cerraduras internas 9-34
Descripción general de los bloqueos de datos manuales 9-35
Descripción general de los bloqueos definidos por el usuario 9-36
10 Actas
Introducción a las transacciones 10-1
Ejemplo de transacción: débito de cuenta y estructura de 10-2
crédito de una transacción 10-3
Inicio de una transacción Fin 10-3
de una transacción 10-4
Números de cambio del sistema de atomicidad a 10-5
nivel de declaración (SCN) Descripción general 10-6
del control de transacciones 10-6
Nombres de transacciones 10-8
Transacciones activas 10-9
Puntos de guardado 10-10
Revertir al punto de guardado 10-10
Transacciones en cola 10-11
Reversión de transacciones 10-12
Confirmaciones de transacciones 10-13
Descripción general de Transaction Guard 10-14
Beneficios de Transaction Guard 10-15
Cómo funciona Transaction Guard 10-15
Mensajes de confirmación perdidos 10-15
ID de transacción lógica 10-16
Transaction Guard: Ejemplo 10-17
xi
Descripción general de la continuidad de la aplicación 10-18
Beneficios de la continuidad de la aplicación 10-18
Caso de uso para la continuidad de la aplicación Continuidad de la 10-18
aplicación para el mantenimiento planificado Arquitectura de la 10-19
continuidad de la aplicación 10-20
Resumen de transacciones autónomas 10-21
Resumen de transacciones distribuidas 10-22
Compromiso en dos fases 10-22
Transacciones dudosas 10-23
xii
Gestión del espacio lógico 12-3
Espacios de tabla administrados localmente Espacios 12-4
de tabla administrados por diccionario Descripción 12-7
general de bloques de datos 12-7
Bloques de datos y bloques del sistema operativo 12-7
Tamaño del bloque de base de datos 12-8
Tamaño del bloque de espacio de tabla 12-8
Formato de bloque de datos 12-9
Sobrecarga del bloque de datos 12-9
Formato de fila 12-10
Compresión de bloques de datos 12-13
Gestión del espacio en bloques de datos 12-14
Porcentaje de espacio libre en bloques de datos 12-15
Optimización del espacio libre en bloques de 12-16
datos Filas encadenadas y migradas 12-18
Descripción general de bloques de índice 12-20
Tipos de bloques de índice Almacenamiento de 12-20
entradas de índice Reutilización de ranuras en un 12-20
bloque de índice Fusión de un bloque de índice 12-21
Descripción general de extensiones 12-21
12-23
Asignación de extensiones 12-23
Desasignación de parámetros de 12-25
almacenamiento de extensiones para extensiones 12-26
Descripción general de segmentos 12-27
Segmentos de usuarios 12-27
Creación de segmentos de usuarios 12-28
Segmentos temporales 12-29
Asignación de segmentos temporales para consultas Asignación de 12-30
segmentos para tablas temporales e índices Deshacer segmentos 12-30
12-31
Deshacer la reversión de transacciones de 12-32
transacciones y segmentos 12-34
Deshacer temporalmente los segmentos Espacio de 12-34
segmento y la marca de límite superior Descripción general de los 12-35
espacios de tabla 12-38
Espacios de tabla permanentes 12-38
El espacio de tabla del SISTEMA 12-39
El espacio de tablas SYSAUX 12-40
Deshacer espacios de tabla 12-40
Espacios de tabla de sombra 12-42
xiii
Espacios de tabla temporales 12-46
Espacios de tabla temporales locales y compartidos Espacios 12-46
de tabla temporales predeterminados 12-47
Modos de espacio de tabla 12-49
Espacios de tabla de lectura / escritura y de solo lectura 12-49
Espacios de tabla en línea y fuera de línea 12-50
Tamaño de archivo de espacio de tabla 12-50
xiv
Parámetros de inicialización 13-21
Grupos funcionales de parámetros de inicialización 13-22
Parámetros de inicialización básicos y avanzados Archivos 13-22
de parámetros del servidor 13-22
Archivos de parámetros de inicialización de texto Modificación de 13-23
valores de parámetros de inicialización Descripción general de 13-24
archivos de diagnóstico 13-26
Repositorio de diagnóstico automático 13-26
Problemas e incidentes 13-27
Estructura ADR 13-27
Registro de alertas 13-29
Registro DDL 13-30
Archivos de seguimiento 13-30
Tipos de archivos de seguimiento Ubicación de 13-30
los archivos de seguimiento Segmentación de 13-31
archivos de seguimiento Volcados de 13-31
diagnóstico 13-32
Volcados de seguimiento e incidentes 13-32
14 Arquitectura de memoria
xv
Caché de diccionario de datos 14-25
Caché de resultados del servidor 14-26
Piscina reservada 14-28
Piscina grande 14-28
Gestión de memoria de grupos grandes Búferes de 14-29
grupos grandes para inserciones diferidas Grupo de 14-29
Java 14-31
SGA fijo 14-31
Subáreas opcionales de SGA relacionadas con el rendimiento 14-32
Área en memoria 14-32
Memoptimize Pool 14-32
Descripción general de las áreas de código de software 14-34
15 Arquitectura de procesos
xvi
Procesos esclavos del proceso del coordinador de gestión 15-20
del espacio (SMCO) 15-21
Procesos esclavos de E / S 15-21
Procesos de servidor de ejecución paralela (PX) 15-22
xvii
Perfiles de usuario 17-4
Cifrado de autenticación de 17-4
base de datos 17-5
Cifrado de red 17-5
Cifrado de datos transparente 17-5
Redacción de datos de Oracle 17-6
Orientación 17-7
Bóveda de base de datos de Oracle 17-7
Monitoreo de acceso a datos de Oracle 17-7
Label Security (OLS) de base de datos 17-8
privada virtual (VPD) 17-8
Auditoría de bases de datos 17-9
Pista de auditoría unificada 17-11
Soporte de auditoría de Enterprise Manager Oracle 17-12
Audit Vault y Database Firewall Descripción general 17-12
de alta disponibilidad 17-13
Alta disponibilidad y tiempo de inactividad no planificado 17-13
Fallos del sitio 17-13
Fallos informáticos 17-14
Fallos de almacenamiento 17-15
Corrupción de datos 17-16
Errores humanos 17-17
Alta disponibilidad y tiempo de inactividad planificado 17-18
Cambios en el sistema y en la base de datos 17-18
Cambios en los datos 17-19
Cambios en la aplicación 17-20
Descripción general de la computación en red 17-21
Cuadrícula del servidor de base de datos 17-22
Escalabilidad 17-23
Tolerancia a fallos 17-23
Servicios 17-24
Clústeres Flex de Oracle 17-24
Cuadrícula de almacenamiento de base de datos 17-25
Descripción general de almacenamiento de datos e inteligencia empresarial 17-25
Almacenamiento de datos y arquitectura 17-25
de almacenamiento de datos OLTP 17-27
Arquitectura de almacenamiento de datos (básica) 17-27
Arquitectura de almacén de datos (con un área de ensayo) 17-27
Arquitectura de almacén de datos (con un área de preparación y Data Marts) 17-28
Descripción general de inteligencia empresarial de extracción, transformación y 17-29
carga (ETL) 17-30
xviii
SQL analítico 17-30
Vistas analíticas 17-31
OLAP 17-32
Descripción general de Oracle Advanced Analytics 17-32
de la integración de información de Oracle 17-33
Acceso federado 17-34
SQL distribuido 17-34
Vínculos de base de datos 17-34
El intercambio de información 17-35
Oracle GoldenGate 17-35
Cola avanzada de la base de datos Oracle (AQ) 17-36
xix
Programador de Oracle 18-29
Rendimiento y afinación 18-30
Autocontrol de la base de datos Repositorio 18-31
automático de carga de trabajo (AWR) Monitor 18-31
automático de la base de datos (ADDM) Historial de 18-33
sesiones activas (ASH) 18-33
Aplicación y ajuste de SQL 18-34
Glosario
Índice
xx
Prefacio
Este manual proporciona una descripción general de la arquitectura y los conceptos del servidor de bases de datos
Oracle, que es un sistema de administración de bases de datos relacionales de objetos.
El libro describe cómo funciona el servidor de bases de datos Oracle y sienta las bases
conceptuales de gran parte de la información práctica contenida en otros manuales. La
información de este manual se aplica al servidor de base de datos Oracle que se ejecuta en todos
los sistemas operativos.
• Audiencia
• Accesibilidad a la documentación
• Documentación relacionada
• Convenciones
Audiencia
Conceptos de base de datos Oracle está destinado a usuarios técnicos, principalmente administradores de bases de
datos y desarrolladores de aplicaciones de bases de datos, que son nuevos en Oracle Database. Normalmente, el
lector de este manual ha tenido experiencia en la gestión o el desarrollo de aplicaciones para otras bases de datos
relacionales.
Accesibilidad a la documentación
Los clientes de Oracle que han comprado soporte tienen acceso a soporte electrónico a través de My
Oracle Support. Para obtener información, visitehttp://www.oracle.com/pls/topic/ lookup? ctx = acc &
id = info o visitar http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trssi tiene problemas de
audición.
xxi
Prefacio
Documentación relacionada
Este manual está destinado a ser leído con los siguientes manuales:
Para obtener más documentación relacionada, consulte "Hoja de ruta de documentación de la base de datos Oracle".
Muchos manuales del conjunto de documentación de Oracle Database utilizan los esquemas de muestra
de la base de datos que se instala de forma predeterminada al instalar Oracle Database. Referirse a
Esquemas de muestra de la base de datos de Oracle para obtener información sobre cómo se crearon
estos esquemas y cómo puede utilizarlos.
Convenciones
En este manual se utilizan las siguientes convenciones de texto:
Convención Sentido
negrita El tipo de letra en negrita indica elementos de la interfaz gráfica de usuario asociados con
una acción o términos definidos en el texto o en el glosario.
itálico La letra cursiva indica títulos manuales, énfasis o variables de marcador de posición para las
que proporciona valores particulares.
xxii
Cambios en esta versión para conceptos de
bases de datos Oracle
Nuevas características
• Inserciones diferidas
Las aplicaciones pueden transmitir inserciones de una sola fila en búferes especiales almacenados en el grupo
grande. Las inserciones son "diferidas" porque la base de datos escribe estos búferes en archivos de datos de
forma asincrónica. Las inserciones se confirman automáticamente y no se pueden revertir.
Una tabla puede contener particiones internas y externas. Las particiones internas consumen espacio
dentro de la base de datos (segmentos). Las particiones externas se almacenan fuera de la base de datos
mediante la funcionalidad de tabla externa. Por ejemplo, una tabla de ventas puede contener dos
particiones almacenadas en archivos de datos y tres particiones almacenadas en archivos de texto.
Funciones no admitidas
Las siguientes funciones no se admiten en esta versión.
• Oracle Multimedia
A partir de Oracle Database 19c, Oracle Multimedia no es compatible. A menos que se anule la
selección, el componente Oracle Multimedia (ORDIM) en dba_registry se muestra como
VÁLIDO en las bases de datos actualizadas y recién creadas. Oracle Locator (instalado con
Oracle Multimedia si Spatial and Graph no está instalado) continúa siendo instalado y
admitido. Oracle recomienda que almacene contenido multimedia en SecureFiles LOB y utilice
productos de terceros para el procesamiento y la conversión de imágenes.
xxiii
Cambios en esta versión para conceptos de bases de datos Oracle
Ver "SecureFiles".
• Corrientes de Oracle
Nuevas características
• Memoptimizar el grupo
Oracle Database admite lecturas de alto rendimiento para tablas especificadas con elMEMOPTIMIZAR
PARA LEER cláusula. Los búferes se almacenan en caché en una nueva área del SGA denominada
Memoptimizar la piscina.
Las tablas temporales privadas son objetos de base de datos temporales que se eliminan
automáticamente al final de una transacción o sesión. Una tabla temporal privada se almacena
en la memoria y solo es visible para la sesión que la creó. Una tabla temporal privada limita el
alcance de una tabla temporal a una sesión o transacción, lo que proporciona más flexibilidad
en la codificación de aplicaciones, lo que facilita el mantenimiento del código y una mejor
funcionalidad lista para usar.
Una escritura perdida ocurre cuando la base de datos cree que ha escrito un bloque en el
almacenamiento, pero la escritura no ocurrió. Un espacio de tabla de sombra permite que la base de
datos capture la mayoría de escrituras perdidas sin requerir el uso de una base de datos en espera y
sin la posibilidad de errores en cascada.
Funciones obsoletas
Las siguientes funciones están obsoletas en esta versión y pueden dejar de ser compatibles en una
versión futura:
• Oracle Multimedia
A partir de Oracle Database 18c, Oracle Multimedia está en desuso. Oracle recomienda que
almacene contenido multimedia en SecureFiles LOB y utilice productos de terceros para el
procesamiento y la conversión de imágenes.
Ver "SecureFiles".
xxiv
1
Introducción a la base de datos Oracle
• Objetos de esquema
• Gestión de transacciones
Toda organización tiene información que debe almacenar y administrar para cumplir con sus
requisitos. Por ejemplo, una corporación debe recopilar y mantener registros de recursos humanos
para sus empleados. Esta información debe estar disponible para quienes la necesiten.
• Código de kernel
• Repositorio de metadatos
• Lenguaje de consulta
A aplicación de base de datos es un programa de software que interactúa con una base de datos para
acceder y manipular datos.
La primera generación de sistemas de gestión de bases de datos incluyó los siguientes tipos:
• Jerárquico
1-1
Capítulo 1
Acerca de las bases de datos relacionales
A base de datos jerárquica organiza los datos en una estructura de árbol. Cada registro principal tiene uno o
más registros secundarios, similar a la estructura de un sistema de archivos.
• La red
A base de datos de red es similar a una base de datos jerárquica, excepto que los registros tienen una
relación de varios a varios en lugar de una relación de uno a varios.
Los sistemas de gestión de bases de datos anteriores almacenaban datos en relaciones rígidas y
predeterminadas. Debido a que no existía un lenguaje de definición de datos, fue difícil cambiar la
estructura de los datos. Además, estos sistemas carecían de un lenguaje de consulta simple, lo que
dificultaba el desarrollo de la aplicación.
Modelo relacional
En su artículo seminal de 1970 "Un modelo relacional de datos para grandes bancos de datos compartidos",
EF Codd definió un modelo relacional basado en la teoría matemática de conjuntos. Hoy en día, el modelo
de base de datos más aceptado es el modelo relacional.
A base de datos relacional es una base de datos que se ajusta al modelo relacional. El
modelo relacional tiene los siguientes aspectos principales:
• Estructuras
Los objetos bien definidos almacenan o acceden a los datos de una base de datos.
• Operaciones
Las acciones claramente definidas permiten que las aplicaciones manipulen los datos y las estructuras de
una base de datos.
• Reglas de integridad
Las reglas de integridad gobiernan las operaciones sobre los datos y las estructuras de una base de datos.
Una base de datos relacional almacena datos en un conjunto de relaciones simples. Arelación es un conjunto de
tuplas. Atupla es un conjunto desordenado de valores de atributo.
A mesa es una representación bidimensional de una relación en forma de filas (tuplas) y columnas
(atributos). Cada fila de una tabla tiene el mismo conjunto de columnas. Una base de datos relacional es una
base de datos que almacena datos en relaciones (tablas). Por ejemplo, una base de datos relacional podría
almacenar información sobre los empleados de la empresa en una tabla de empleados, una tabla de
departamentos y una tabla de sueldos.
Ver también:
"Un modelo relacional de datos para grandes bancos de datos compartidos" para un resumen y un
enlace al artículo de Codd
• Operaciones lógicas
1-2
Capítulo 1
Acerca de las bases de datos relacionales
En este caso, una aplicación especifica qué Se requiere contenido. Por ejemplo, una aplicación
solicita el nombre de un empleado o agrega un registro de empleado a una tabla.
• Operaciones fisicas
En este caso, el RDBMS determina cómo las cosas deben hacerse y lleva a cabo la operación. Por
ejemplo, después de que una aplicación consulta una tabla, la base de datos puede usar un índice
para encontrar las filas solicitadas, leer los datos en la memoria y realizar muchos otros pasos
antes de devolver un resultado al usuario. El RDBMS almacena y recupera datos para que las
operaciones físicas sean transparentes para las aplicaciones de la base de datos.
Oracle Versión 3, lanzada en 1983, fue la primera base de datos relacional que se ejecutó en
mainframes, miniordenadores y computadoras personales. La base de datos se escribió en C, lo que
permite que la base de datos sea portada a múltiples plataformas.
• Objetos y particiones
Oracle8 se lanzó en 1997 como la base de datos relacional de objetos, que admite muchos tipos
de datos nuevos. Además, Oracle8 admitió la partición de tablas grandes.
• Computación en internet
Oracle8i Database, lanzado en 1999, proporcionó soporte nativo para protocolos de Internet y soporte
del lado del servidor para Java. Oracle8i se diseñó para la informática en Internet, lo que permite
implementar la base de datos en un entorno de varios niveles.
1-3
Capítulo 1
Objetos de esquema
Oracle9i Database introdujo Oracle RAC en 2001, permitiendo que múltiples instancias
accedan a una sola base de datos simultáneamente. Además, Oracle XML Database (Base de
datos XML de Oracle) introdujo la capacidad de almacenar y consultar XML.
• Computación en cuadrícula
Introducción de Oracle Database 10g computación en cuadrícula en 2003. Esta versión permitió a las
organizaciones virtualizar los recursos informáticos mediante la creación de un infraestructura de red
basado en servidores básicos de bajo costo. Un objetivo clave era lograr que la base de datos se
autogestionara y se autoajuste.Gestión automática de almacenamiento de Oracle (Oracle ASM) ayudó a
lograr este objetivo virtualizando y simplificando la administración del almacenamiento de la base de
datos.
Oracle Database 11g, lanzado en 2007, introdujo una serie de nuevas características que permitieron
a los administradores y desarrolladores adaptarse rápidamente a los cambiantes requisitos
comerciales. La clave para la adaptabilidad es simplificar la infraestructura de la información
consolidando la información y utilizando la automatización siempre que sea posible.
• Conectarse a la nube
Oracle Database 12c, lanzado en 2013, fue diseñado para la nube, presentando una nueva arquitectura
multiusuario, almacenamiento de columnas en memoria y soporte para documentos JSON. Oracle Database
12c ayudó a los administradores de bases de datos a hacer un uso más eficiente de sus recursos de TI,
mientras continuaban reduciendo costos y mejorando los niveles de servicio para los usuarios finales.
Oracle Database 18c simplificó la integración con servicios de directorio como Microsoft Active
Directory. También introdujo la funcionalidad para explotar la memoria no solo para modelos de
datos en columnas, sino también para el acceso a filas de alta velocidad.
• Estabilidad mejorada
Objetos de esquema
Una característica de un RDBMS es la independencia del almacenamiento de datos físicos de las
estructuras de datos lógicos.
En Oracle Database, una base de datos esquema es una colección de estructuras de datos lógicas u objetos de
esquema. Un usuario de base de datos posee un esquema de base de datos, que tiene el mismo nombre que el
nombre de usuario.
Los objetos de esquema son estructuras creadas por el usuario que se refieren directamente a los datos de la
base de datos. La base de datos admite muchos tipos de objetos de esquema, los más importantes de los cuales
son tablas e índices.
Un objeto de esquema es un tipo de objeto de base de datos. Algunos objetos de base de datos,
como perfiles y roles, no residen en esquemas.
1-4