Page 1

Base de Datos Oracle 10g: Taller de Administración I Volumen II • Guía del Alumno

D17090CS30 Edición 3.0 Noviembre de 2005 D50254

®


Autores

Copyright © 2005, Oracle. Todos los derechos reservados.

Tom Best

Renuncia

M.J. Billings

Este documento contiene información propiedad de Oracle Corporation y se encuentra protegido por la legislación de derechos de autor y otras leyes sobre la propiedad intelectual. Usted sólo podrá realizar copias o imprimir este documento para uso exclusivo por usted en los cursos de formación de Oracle. Este documento no podrá ser modificado ni alterado en modo alguno. Salvo que la legislación de los derechos de autor lo considere un uso excusable o legal o “fair use”, no podrá utilizar, compartir, descargar, cargar, copiar, imprimir, mostrar, representar, reproducir, publicar, conceder licencias, enviar, transmitir ni distribuir este documento total ni parcialmente sin autorización expresa por parte de Oracle.

Colaboradores y Revisores Técnicos Anthony Woodell Barry Trute Celia Antonio Christine Jeal Donna Keesling Howard Bradley James Spiller Janet Stern Jean-Francois Verrier Joel Goodman John Hibbard Larry Baumann Magnus Isaksson M.J. Bryksa Paul Needham Pierre Labrousse Raza Siddiqui Sandra Cheevers Stefan Lindblad Stella Kister Steve Friedberg Steven Karam Sushma Jagannath Tammy Bednar

Redactores Navratan Singh Nita Pavitran Raj Kumar

Diseñadores Gráficos Satish Bettegowda Steve Elwood

Editor Joseph Fernandez

La información contenida en este documento está sujeta a cambio sin previo aviso. Si detecta cualquier problema en el documento, le agradeceremos que nos lo comunique por escrito a: Oracle University, 500 Oracle Parkway, Redwood Shores, California 94065 USA. Oracle Corporation no garantiza que este documento esté exento de errores. Restricted Rights Notice Si esta documentación se entrega al Gobierno de los EE.UU. o a cualquier entidad que la utilice en nombre del Gobierno de los EE.UU., se aplicará la siguiente advertencia: U.S. GOVERNMENT RIGHTS The U.S. Government’s rights to use, modify, reproduce, release, perform, display, or disclose these training materials are restricted by the terms of the applicable Oracle license agreement and/or the applicable U.S. Government contract. Aviso de Marca Comercial Oracle, JD Edwards y PeopleSoft son marcas comerciales registradas de Oracle Corporation y/o sus subsidiarias. Todos los demás nombres pueden ser marcas comerciales de sus respectivos propietarios.


Contenido

Prefacio 1

Introducción Objetivos del Curso 1-2 Planificación Sugerida 1-3 Objetivos 1-4 Productos y Servicios Oracle 1-5 Base de Datos Oracle 10g: “g” Significa Grid 1-6 Arquitectura de la Base de Datos Oracle 1-8 Estructuras de Bases de Datos 1-9 Estructuras de Memoria de Oracle 1-10 Estructuras de Proceso 1-12 Gestión de Instancias de Oracle 1-13 Proceso de Servidor y Caché de Buffers de la Base de Datos 1-14 Estructura de Base de Datos Física 1-15 Tablespaces y Archivos de Datos 1-17 Tablespaces SYSTEM y SYSAUX 1-18 Segmentos, Extensiones y Bloques 1-19 Estructuras de Bases de Datos Físicas y Lógicas 1-20 Ejemplos del Curso: Esquema HR 1-22 Arquitectura de Base de Datos: Resumen de Componentes Estructurales 1-23 Resumen 1-24

2

Instalación del Software de la Base de Datos Oracle Objetivos 2-2 Tareas de un Administrador de la Base de Datos Oracle 2-3 Herramientas Utilizadas para Administrar Bases de Datos Oracle 2-4 Instalación: Requisitos del Sistema 2-6 Comprobación de los Requisitos del Sistema 2-7 Arquitectura Flexible Óptima (OFA) 2-8 Uso de la Arquitectura Flexible Óptima 2-9 Definición de Variables de Entorno 2-11 Oracle Universal Installer (OUI) 2-13 Instalación del Software de Oracle 2-14 Opciones de Configuración de Base de Datos 2-15 Ejecución de Archivos de Comandos de Configuración 2-16 Fin de la Instalación 2-17 Opciones Avanzadas de Instalación 2-18 Opción de Instalación: Modo Silencioso 2-19 Resumen 2-20 Visión General de la Práctica: Instalación del Software de Oracle 2-21

iii


3

Creación de una Base de Datos Oracle Objetivos 3-2 Planificación de la Base de Datos 3-3 Bases de Datos: Ejemplos 3-4 Asistente de Configuración de Bases de Datos (DBCA) 3-5 Uso de DBCA para Crear una Base de Datos 3-6 Password Management 3-12 Creación de una Plantilla de Diseño de Bases de Datos 3-13 Uso de DBCA para Suprimir una Base de Datos 3-14 Resumen 3-16 Visión General de la Práctica: Uso de DBCA 3-17

4

Gestión de la Instancia de Oracle Objetivos 4-2 Marco de Gestión 4-3 Inicio y Parada de Database Control 4-4 Oracle Enterprise Manager 4-5 Acceso a Oracle Enterprise Manager 4-6 Página Inicial de la Base de Datos 4-7 Uso de SQL*Plus e iSQL*Plus para Acceder a las Bases de Datos 4-8 Uso de iSQL*Plus 4-9 Configuración de iSQL*Plus para el Acceso de SYSDBA y SYSOPER 4-10 Uso de SQL*Plus 4-12 Llamada a SQL*Plus desde un Archivo de Comandos del Shell 4-13 Llamada a un Archivo de Comandos SQL desde SQL*Plus 4-14 Archivos de Parámetros de Inicialización 4-15 Parámetros de Inicialización Simplificados 4-16 Visualización y Modificación de Parámetros de Inicialización 4-18 Inicio y Cierre de la Base de Datos 4-19 Inicio de una Instancia de Base de Datos Oracle 4-20 Inicio de una Instancia de Base de Datos Oracle: NOMOUNT 4-21 Inicio de una Instancia de Base de Datos Oracle: MOUNT 4-22 Inicio de una Instancia de Base de Datos Oracle: OPEN 4-23 Cierre de una Instancia de la Base de Datos Oracle 4-24 Modos de Cierre 4-25 Opciones de SHUTDOWN 4-26 Uso de SQL*Plus para el Inicio y el Cierre 4-29 Visualización del Log de Alertas 4-30 Visualización del Historial de Alertas 4-31 Vistas de Rendimiento Dinámico 4-32

iv


Vistas de Rendimiento Dinámico: Ejemplos de Uso 4-33 Vistas de Rendimiento Dinámico: Consideraciones 4-34 Resumen 4-35 Visión General de la Práctica: Gestión de la Instancia de Oracle 4-36 5

Gestión de Estructuras de Almacenamiento de Bases de Datos Objetivos 5-2 Estructuras de Almacenamiento 5-3 Almacenamiento de Datos de Tabla 5-4 Anatomía de un Bloque de Base de Datos 5-5 Tablespaces y Archivos de Datos 5-6 Oracle Managed Files (OMF) 5-7 Gestión de Espacio en Tablespaces 5-8 Exploración de la Estructura de Almacenamiento 5-9 Creación de un Nuevo Tablespace 5-10 Almacenamiento de Tablespaces Gestionados Localmente 5-12 Tablespaces en la Base de Datos Preconfigurada 5-14 Modificación de un Tablespace 5-16 Acciones con Tablespaces 5-19 Borrado de Tablespaces 5-21 Visualización de Información de Tablespaces 5-22 Recopilación de Información de Almacenamiento 5-23 Visualización de Contenido de Tablespaces 5-24 Ampliación de la Base de Datos 5-25 ¿Qué es Gestión Automática de Almacenamiento? 5-26 ASM: Funciones Clave y Ventajas 5-27 ASM: Conceptos 5-28 Resumen 5-29 Visión General de la Práctica: Gestión de Estructuras de Almacenamiento de Bases de Datos 5-30

6

Administración de Seguridad del Usuario Objetivos 6-2 Cuentas de Usuario de Base de Datos 6-3 Cuentas Predefinidas: SYS y SYSTEM 6-5 Creación de un Usuario 6-6 Autenticación de Usuarios 6-7 Autenticación de Administradores 6-9 Desbloqueo de Cuentas de Usuario y Restablecimiento de Contraseñas 6-10 Privilegios 6-11 Privilegios del Sistema 6-12 Privilegios de Objeto 6-14 v


Revocación de Privilegios del Sistema con ADMIN OPTION 6-15 Revocación de Privilegios de Objeto con GRANT OPTION 6-16 Ventajas de los Roles 6-17 Asignación de Privilegios a Roles y de Roles a Usuarios 6-18 Roles Predefinidos 6-19 Creación de un Rol 6-20 Roles Seguros 6-21 Asignación de Roles a Usuarios 6-22 Perfiles y Usuarios 6-23 Implementaciones de las Funciones de Seguridad con Contraseña 6-25 Creación de un Perfil de Contraseña 6-27 Función de Verificación de Contraseñas Proporcionadas: VERIFY_FUNCTION 6-28 Asignación de Cuota a Usuarios 6-29 Resumen 6-31 Visión General de la Práctica: Administración de Usuarios 6-32 7

Gestión de Objetos de Esquema Objetivos 7-2 ¿Qué es un Esquema? 7-3 Acceso a Objetos de Esquema 7-5 Nomenclatura de Objetos de Base de Datos 7-6 Especificación de Tipos de Dato en Tablas 7-8 Creación y Modificación de Tablas 7-11 Descripción de la Integridad de los Datos 7-13 Definición de Restricciones 7-15 Violaciones de Restricciones 7-16 Estados de Restricciones 7-17 Comprobación de Restricciones 7-19 Creación de Restricciones con SQL: Ejemplos 7-20 Visualización de las Columnas de una Tabla 7-21 Visualización del Contenido de una Tabla 7-22 Acciones con Tablas 7-23 Borrado de una Tabla 7-24 Truncamiento de una Tabla 7-25 Índices 7-26 Tipos de Índices 7-27 Índice de Árbol B 7-28 Índices de Bitmap 7-30 Opciones de Índice 7-32 Creación de Índices 7-34

vi


¿Qué es una Vista? 7-35 Creación de Vistas 7-36 Secuencias 7-37 Creación de una Secuencia 7-38 Uso de una Secuencia 7-40 Tablas Temporales 7-41 Tablas Temporales: Consideraciones 7-43 Diccionario de Datos: Visión General 7-44 Vistas del Diccionario de Datos 7-45 Diccionario de Datos: Ejemplos de Uso 7-47 Resumen 7-48 Visión General de la Práctica: Administración de Objetos de Esquema 7-49 8

Gestión de Datos y Simultaneidad Objetivos 8-2 Manipulación de Datos mediante SQL 8-3 Comando INSERT 8-4 Comando UPDATE 8-5 Comando DELETE 8-6 Comando MERGE 8-7 Comandos COMMIT y ROLLBACK 8-9 PL/SQL 8-10 Administración de Objetos PL/SQL 8-12 Objetos PL/SQL 8-13 Funciones 8-14 Procedimientos 8-15 Paquetes 8-16 Especificación y Cuerpo del Paquete 8-17 Paquetes Incorporados 8-18 Disparadores 8-19 Eventos Disparadores 8-20 Bloqueos 8-21 Mecanismo de Bloqueo 8-22 Simultaneidad de Datos 8-23 Bloqueos de DML 8-25 Mecanismo de Puesta en Cola 8-26 Conflictos de Bloqueo 8-27 Posibles Causas de Conflictos de Bloqueo 8-28 Detección de Conflictos de Bloqueo 8-29 Resolución de Conflictos de Bloqueo 8-30

vii


Resolución de Conflictos de Bloqueo mediante SQL 8-31 Interbloqueos 8-32 Resumen 8-33 Visión General de la Práctica: Gestión de Datos y Simultaneidad 8-34 9

Gestión de Datos de Deshacer Objetivos 9-2 Manipulación de Datos 9-3 Datos de Deshacer 9-4 Transacciones y Datos de Deshacer 9-6 Almacenamiento de Información de Deshacer 9-7 Datos de Deshacer frente a Datos de Redo 9-8 Control de Deshacer 9-9 Administración de Deshacer 9-11 Configuración de Retención de Deshacer 9-12 Garantía de Retención de Deshacer 9-14 Tamaño de los Tablespaces de Deshacer 9-15 Uso del Asesor de Deshacer 9-16 Resumen 9-17 Visión General de la Práctica: Gestión de Segmentos de Deshacer 9-18

10 Implementación de Seguridad de la Base de Datos Oracle Objetivos 10-2 Requisitos de Seguridad de la Industria 10-3 Separación de Responsabilidades 10-5 Seguridad de la Base de Datos 10-6 Principio de Privilegio más Bajo 10-8 Aplicación del Principio de Privilegio Más Bajo 10-9 Control de Actividades Sospechosas 10-11 Auditoría de la Base de Datos Estándar 10-12 Activación de Auditoría 10-13 Pistas de Auditoría Uniformes 10-14 Página de Auditoría de Enterprise Manager 10-16 Especificación de Opciones de Auditoría 10-17 Uso y Mantenimiento de la Información de Auditoría 10-18 Auditoría Basada en Valores 10-19 Auditoría Detallada 10-21 Política de FGA 10-22 Sentencia DML Auditada: Consideraciones 10-24 Instrucciones de FGA 10-25 Auditoría de DBA 10-26

viii


Mantenimiento de la Pista de Auditoría 10-27 Actualizaciones de Seguridad 10-28 Aplicación de Parches de Seguridad 10-29 Resumen 10-30 Visión General de la Práctica: Implementación de Seguridad de la Base de Datos Oracle 10-31 11 Configuración del Entorno de Red de Oracle Objetivos 11-2 Servicios de Red de Oracle 11-3 Listener de Red de Oracle 11-4 Establecimiento de Conexiones de Red 11-5 Establecimiento de una Conexión 11-6 Sesiones de Usuario 11-7 Herramientas para Configurar y Gestionar la Red de Oracle 11-8 Utilidad Listener Control 11-9 Sintaxis de la Utilidad Listener Control 11-10 Página Inicial del Listener 11-12 Página Net Services Administration 11-13 Creación de un Listener 11-14 Adición de Direcciones de Listener 11-15 Registro de Servicio de Base de Datos 11-16 Métodos de Nomenclatura 11-17 Conexión Sencilla 11-18 Nomenclatura Local 11-19 Nomenclatura de Directorios 11-20 Método de Nomenclatura Externa 11-21 Configuración de Alias de Servicio 11-22 Opciones de Conexión Avanzada 11-23 Prueba de la Conectividad de Red de Oracle 11-25 Sesiones de Usuario: Servidor Dedicado 11-26 Sesiones de Usuario: Servidor Compartido 11-27 SGA y PGA 11-28 Servidor Compartido: Pool de Conexiones 11-29 Cuándo No se Debe Utilizar un Servidor Compartido 11-30 Resumen 11-31 Visión General de la Práctica: Trabajar con los Componentes de Red de Oracle 11-32 12 Mantenimiento Proactivo Objetivos 12-2 Mantenimiento Proactivo 12-3 Introducción a la Terminología 12-4

ix


Estadísticas del Optimizador 12-5 Uso de la Página Manage Optimizer Statistics 12-7 Niveles de Estadísticas 12-9 Repositorio de Carga de Trabajo Automática (AWR) 12-10 Infraestructura de AWR 12-11 Juegos de Instantáneas AWR 12-12 Enterprise Manager y AWR 12-13 Gestión de AWR 12-14 Monitor de Diagnóstico de Base de Datos Automático (ADDM) 12-15 Resultados de ADDM 12-16 Recomendaciones de ADDM 12-17 Marco de Asesoramiento 12-18 Enterprise Manager y Asesores 12-20 Paquete DBMS_ADVISOR 12-21 Alertas Generadas por el Servidor 12-22 Alertas Generadas por el Servidor por Defecto 12-23 Definición de Umbrales 12-24 Creación y Prueba de una Alerta 12-25 Notificación de Alertas 12-26 Reacción ante Alertas 12-28 Tipos de Alerta y Eliminación de Alertas 12-29 Tareas de Mantenimiento Automáticas 12-30 Resumen 12-31 Visión General de la Práctica: Mantenimiento Proactivo 12-32 13 Gestión de Rendimiento Objetivos 13-2 Control del Rendimiento 13-3 Control del Rendimiento: Top Sessions 13-7 Control del Rendimiento: Top Services 13-8 Asesor de Ajustes SQL: Visión General 13-9 Recomendaciones y Opciones del Asesor de Ajustes SQL 13-10 Uso del Asesor de Ajustes SQL 13-11 Uso del Asesor de Ajustes SQL: Ejemplo 13-12 Asesor de Ajustes SQL: Estadísticas SQL 13-13 Asesor de Ajustes SQL: Identificación de SQL Duplicados 13-14 Uso del Asesor de Acceso SQL 13-15 Gestión de los Componentes de la Memoria 13-17 Activación de la Gestión Automática de Memoria Compartida (ASMM) 13-18 Definición Manual de la Gestión de Memoria Compartida 13-20

x


Uso del Asesor de Memoria 13-21 Estadísticas de Rendimiento Dinámicas 13-22 Vistas de Solución de Problemas y de Ajustes 13-24 Objetos No Válidos o No Utilizables 13-25 Resumen 13-27 Visión General de la Práctica: Control y Mejora del Rendimiento 13-28 14 Conceptos de Copia de Seguridad y Recuperación Objetivos 14-2 Parte de su Trabajo 14-3 Categorías de Fallos 14-4 Fallo de Sentencia 14-5 Fallo de Proceso de Usuario 14-6 Fallo de Red 14-7 Error del Usuario 14-8 Fallo de la Instancia 14-10 Procesos en Segundo Plano y Recuperación: Punto de Control (CKPT) 14-11 Procesos en Segundo Plano y Recuperación: Archivos Redo Log y Escritor de Log 14-13 Procesos en Segundo Plano y Recuperación: Proceso de Archivado (ARCn) 14-14 Recuperación de Instancias 14-15 Fases de la Recuperación de Instancias 14-16 Ajuste de la Recuperación de Instancias 14-17 Uso del Asesor de MTTR 14-18 Fallo del Medio Físico 14-19 Configuración de Recuperabilidad 14-20 Archivos de Control 14-21 Archivos Redo Log 14-22 Multiplexión del Redo Log 14-23 Archivos Archive Log 14-24 Archivo Archive Log: Nomenclatura y Destinos 14-25 Modo ARCHIVELOG 14-27 Resumen 14-28 Visión General de la Práctica: Configuración de Recuperabilidad 14-29 15 Realización de Copias de Seguridad de Bases de Datos Objetivos 15-2 Soluciones de Copia de Seguridad: Visión General 15-3 Oracle Secure Backup 15-4 Copia de Seguridad Gestionada por Usuario 15-5 Terminología 15-6 Recovery Manager (RMAN) 15-10

xi


Configuración de Valores de Copia de Seguridad 15-11 Planificación de Copias de Seguridad: Estrategia 15-14 Planificación de Copias de Seguridad: Options 15-15 Planificación de Copias de Seguridad: Settings 15-16 Planificación de Copias de Seguridad: Schedule 15-17 Planificación de Copias de Seguridad: Review 15-18 Copia de Seguridad del Archivo de Control en un Archivo de Rastreo 15-19 Gestión de Copias de Seguridad 15-21 Área de Recuperación de Flash 15-22 Resumen 15-23 Visión General de la Práctica: Creación de Copias de Seguridad de Bases de Datos 15-24 16 Recuperación de Bases de Datos Objetivos 16-2 Apertura de una Base de Datos 16-3 Cambio del Estado de la Instancia 16-5 Mantenimiento de una Base de Datos Abierta 16-6 Pérdida de un Archivo de Control 16-7 Pérdida de un Archivo Redo Log 16-8 Pérdida de un Archivo de Datos en Modo NOARCHIVELOG 16-9 Pérdida de un Archivo de Datos No Crítico en Modo ARCHIVELOG 16-10 Pérdida de un Archivo de Datos Crítico del Sistema en Modo ARCHIVELOG 16-11 Resumen 16-12 Visión General de la Práctica: Recuperación de Bases de Datos 16-13 17 Realización de Flashback Objetivos 17-2 Tecnología de Flashback: Ventajas 17-3 Cuándo Utilizar la Tecnología de Flashback 17-4 Realización de Flashback en Cualquier Error 17-5 Flashback de Base de Datos: Visión General 17-6 Flashback de Base de Datos: Reducción del Tiempo de Restauración 17-7 Flashback de Base de Datos: Consideraciones 17-8 Flashback de Base de Datos: Limitaciones 17-9 Activación de la Función de Flashback de Base de Datos 17-10 Flashback de Tabla: Visión General 17-11 Flashback de Tabla 17-12 Activación del Movimiento de Filas en una Tabla 17-13 Realización de Flashback de Tabla 17-14 Flashback de Tabla: Consideraciones 17-15 Flashback de Borrado: Visión General 17-17

xii


Flashback de Tablas Borradas mediante Enterprise Manager 17-18 Flashback de Borrado: Consideraciones 17-19 Acceso al Tiempo de Flashback 17-20 Consulta de Flashback: Visiรณn General 17-21 Consulta de Flashback: Ejemplo 17-22 Consulta de Flashback de Versiones: Visiรณn General 17-23 Consulta de Flashback de Versiones mediante Enterprise Manager 17-24 Consulta de Flashback de Versiones: Consideraciones 17-25 Consulta de Flashback de Transacciones: Visiรณn General 17-26 Consulta de Flashback de Transacciones mediante Enterprise Manager 17-27 Consulta de Flashback de Transacciones: Consideraciones 17-28 Resumen 17-29 Visiรณn General de la Prรกctica: Uso de Flashback 17-30 18 Movimiento de Datos Objetivos 18-2 Movimiento de Datos: Arquitectura General 18-3 Objeto de Directorio: Visiรณn General 18-4 Creaciรณn de Objetos de Directorio 18-5 SQL*Loader: Visiรณn General 18-6 Carga de Datos con SQL*Loader 18-8 Archivo de Control de SQL*Loader 18-9 Mรฉtodos de Carga 18-11 Pump de Datos: Visiรณn General 18-13 Pump de Datos: Ventajas 18-15 Exportaciรณn e Importaciรณn de Pump de Datos: Visiรณn General 18-17 Utilidad Pump de Datos: Interfaces y Modos 18-18 Selecciรณn de Objetos Detallada 18-19 Funciรณn Avanzada: Creaciรณn de Ejemplos 18-20 Opciones de Exportaciรณn: Archivos 18-21 Ubicaciones de los Archivos de Pump de Datos 18-22 Planificaciรณn y Ejecuciรณn de un Trabajo 18-24 Nomenclatura y Tamaรฑo de los Archivos de Pump de Datos 18-25 Importaciรณn de Pump de Datos 18-26 Importaciรณn de Pump de Datos: Transformaciones 18-27 Pump de Datos: Consideraciรณn del Rendimiento 18-29 Parรกmetros de Inicializaciรณn de Rendimiento 18-30 Rutas de Acceso de Pump de Datos: Consideraciones 18-31 Uso de Enterprise Manager para Controlar Trabajos de Pump de Datos 18-32 Relleno de Tabla Externa 18-33

xiii


Uso de Tablas Externas 18-34 Relleno de Tabla Externa mediante ORACLE_DATAPUMP 18-35 Relleno de Tabla Externa mediante ORACLE_LOADER 18-36 Diccionario de Datos 18-37 Resumen 18-38 Visión General de la Práctica: Movimiento de Datos 18-39 Apéndice A: Prácticas Apéndice B: Soluciones Apéndice C: Comandos Básicos de Linux y vi Apéndice D: Sintaxis de Sentencias SQL Apéndice E: Acrónimos y Términos Apéndice F: Siguientes Pasos para Continuar con la Formación Índice

xiv


Configuraci贸n del Entorno de Red de Oracle

Copyright 漏 2005, Oracle. Todos los derechos reservados.


Objetivos Al finalizar esta lección, debería estar capacitado para: • Utilizar Enterprise Manager para: – Crear listeners adicionales – Crear alias de servicio de Red de Oracle – Configurar operaciones de failover de tiempo de conexión – Controlar el listener de Red de Oracle

• •

Utilizar tnsping para realizar pruebas de la conectividad de Red de Oracle Identificar cuándo se deben utilizar servidores compartidos frente a servidores dedicados

Copyright © 2005, Oracle. Todos los derechos reservados.

Recursos • Oracle Database, Net Services Administrator’s Guide, 10g Release 2 (10.2), número de artículo B14212-01 • Oracle Database, Net Services Reference, 10g Release 2 (10.2), número de artículo B14213-01

Base de Datos Oracle 10g: Taller de Administración I 11-2


Servicios de Red de Oracle

Aplicación Red de Oracle Cliente o capa media

RDBMS Red TCP/IP

Archivos de configuración de Red de Oracle

Red de Oracle Listener

Servidor de bases de datos

Archivos de configuración de Red de Oracle

Copyright © 2005, Oracle. Todos los derechos reservados.

Servicios de Red de Oracle Los servicios de Red de Oracle activan conexiones de red de una aplicación de cliente o de capa media al servidor de Oracle. Una vez que se ha establecido una sesión de red, la Red de Oracle actúa como servicio de mensajería de datos tanto para la aplicación cliente como para el servidor de bases de datos. Es responsable de establecer y mantener la conexión entre la aplicación cliente y el servidor de bases de datos, así como de intercambiar mensajes entre ambos. La Red de Oracle, o lo que simule la Red de Oracle, como Java Database Connectivity (JDBC), está ubicada en cada computadora que necesite hablar con el servidor de bases de datos. En la computadora cliente, la Red de Oracle es un componente en segundo plano para conectar aplicaciones a la base de datos. En el servidor de bases de datos, la Red de Oracle incluye un proceso activo denominado listener. El listener de Red de Oracle es responsable de coordinar conexiones entre la base de datos y las aplicaciones externas. El uso más común de los servicios de Red de Oracle es permitir conexiones de base de datos entrantes. Puede configurar servicios de red adicionales para permitir el acceso a bibliotecas de código externo (EXTPROC) y conectar la instancia de Oracle a orígenes de datos que no sean de Oracle, como Sybase, Informix, DB2 y SQL Server, mediante los Servicios Heterogéneos de Oracle. Base de Datos Oracle 10g: Taller de Administración I 11-3


Listener de Red de Oracle

Enterprise Manager Database Control

Listener Bases de datos Oracle

Archivos de configuración de Red de Oracle <oracle_home>/network/admin/listener.ora sqlnet.ora Copyright © 2005, Oracle. Todos los derechos reservados.

Listener de Red de Oracle El listener de Red de Oracle es el gateway a la instancia de Oracle para todas las conexiones de usuario no locales. Un único listener puede ocuparse de varias instancias de la base de datos y de miles de conexiones del cliente. Una de las maneras de acceder al listener es a través de Enterprise Manager. Puede controlar la configuración del listener real así como los parámetros generales, como la protección por contraseña y las ubicaciones de archivos log. Los administradores avanzados también pueden configurar los servicios de Red de Oracle editando manualmente los archivos de configuración con un editor de texto del sistema operativo estándar, como vi o gedit, si es necesario.

Base de Datos Oracle 10g: Taller de Administración I 11-4


Establecimiento de Conexiones de Red Para realizar una conexión de cliente o capa media, la Red de Oracle necesita que el cliente conozca lo siguiente: • Host en el que se ejecuta el listener • Puerto que controla el listener • Protocolo que utiliza el listener • Nombre del servicio que maneja el listener

Resolución de Nombres Copyright © 2005, Oracle. Todos los derechos reservados.

Establecimiento de Conexiones de Red Para que una aplicación se conecte a un servicio a través de un listener de Red de Oracle, la aplicación debe tener información sobre dicho servicio, incluida la dirección o el host donde reside el listener, el protocolo que acepta el listener y el puerto que controla el listener. Una vez localizado el listener, la parte final de información que necesita la aplicación es el nombre del servicio al que desea conectarse. El proceso de determinar esta información de conexión se denomina “resolución de nombres”.

Base de Datos Oracle 10g: Taller de Administración I 11-5


Establecimiento de una Conexiรณn

Solicitud de conexiรณn entrante Listener Copyright ยฉ 2005, Oracle. Todos los derechos reservados.

Establecimiento de una Conexiรณn Una vez que termina la resoluciรณn de nombres de Red de Oracle, se transfiere una solicitud de conexiรณn de la aplicaciรณn de usuario o de capa media (denominada proceso de usuario en adelante) al listener de Red de Oracle. El listener recibe un paquete CONNECT y comprueba si dicho paquete CONNECT estรก solicitando un nombre de servicio de Red de Oracle vรกlido. Si no se solicita el nombre del servicio (como en el caso de una solicitud tnsping), el listener reconoce la solicitud de conexiรณn y no hace nada. Si se solicita un nombre de servicio no vรกlido, el listener transmite un cรณdigo de error al proceso de usuario.

Base de Datos Oracle 10g: Taller de Administraciรณn I 11-6


Sesiones de Usuario

Proceso de servidor Sesión de usuario

PGA

Proceso de usuario

Listener Copyright © 2005, Oracle. Todos los derechos reservados.

Sesiones de Usuario Si el paquete CONNECT solicita un nombre de servicio válido, el listener origina un nuevo proceso para que se ocupe de la conexión. Este nuevo proceso se conoce como “proceso de servidor”. El listener conecta con el proceso y le transfiere información de inicialización, incluida la información de dirección para el proceso de usuario. En este punto, el listener ya no se ocupa de la conexión y todo el trabajo se transfiere al proceso de servidor. El proceso de servidor comprueba las credenciales de autenticación del usuario (normalmente una contraseña) y, si las credenciales son válidas, se crea una sesión de usuario. Proceso de servidor dedicado: Con la sesión establecida, el proceso de servidor actúa ahora como el agente del usuario en el servidor. El proceso de servidor es responsable de: • Analizar y ejecutar las sentencias SQL emitidas a través de la aplicación. • Comprobar si en la caché de buffers de la base de datos hay bloques de datos que necesitan llevar a cabo sentencias SQL. • Leer bloques de datos necesarios de archivos de datos en disco en la parte de caché de buffers de la base de datos del Área Global del Sistema (SGA), si los bloques no están ya en el SGA. • Gestionar toda la actividad de ordenación. Una parte del proceso de servidor denominado Área Global de Programa (PGA) contiene un área de memoria denominada área de ordenación que se utiliza para trabajar con ordenación. • Devolver resultados al proceso de usuario de modo que la aplicación pueda procesar la información. • Leer las opciones de auditoria e informar de los procesos de usuario al destino de auditoria. Base de Datos Oracle 10g: Taller de Administración I 11-7


Herramientas para Configurar y Gestionar la Red de Oracle • • • •

Página Net Services Administration de Enterprise Manager Oracle Net Manager Oracle Net Configuration Assistant que ejecuta Oracle Universal Installer Línea de comandos

Copyright © 2005, Oracle. Todos los derechos reservados.

Herramientas para Configurar y Gestionar la Red de Oracle Puede utilizar cualquiera de las siguientes herramientas para gestionar su configuración de Red de Oracle: • Enterprise Manager: Proporciona un entorno integrado para configurar y gestionar servicios de Red de Oracle. Utilice Enterprise Manager para configurar los servicios de Red de Oracle para cualquier directorio raíz de Oracle en varios sistemas de archivos y para administrar listeners. • Oracle Net Manager: Ofrece una interfaz gráfica de usuario (GUI) que permite configurar servicios de Red de Oracle para un directorio raíz de Oracle en un cliente local o en un host de servidor. • Oracle Net Configuration Assistant: Lo ejecuta Oracle Universal Installer cuando se instala el software de Oracle. Oracle Net Configuration Assistant permite configurar la dirección de protocolo de recepción y la información de servicios de una base de datos Oracle. • Línea de comandos: Se utiliza para iniciar, parar y visualizar el estado del proceso de listener. Se trata de un usuario del sistema operativo (en clase, oracle) que inicia o para el listener. Si no se inicia el listener, no se podrá utilizar Enterprise Manager.

Base de Datos Oracle 10g: Taller de Administración I 11-8


Utilidad Listener Control Los listeners de Red de Oracle se pueden controlar con la utilidad de línea de comandos lsnrctl (o desde EM). $lsnrctl LSNRCTL for Linux: Version 10.2.0.0.0 on 12-MAY-2005 13:27:51 Copyright (c) 1991, 2004, Oracle. All rights reserved. Welcome to LSNRCTL, type "help" for information. LSNRCTL> help The following operations are available An asterisk (*) denotes a modifier or extended command: start services save_config change_password set*

stop version trace quit show*

status reload spawn exit

Copyright © 2005, Oracle. Todos los derechos reservados.

Utilidad Listener Control Cuando se inicia una instancia, un proceso del listener establece una vía de comunicación con la base de datos Oracle. A continuación, el listener podrá aceptar las solicitudes de conexión de base de datos. La utilidad Listener Control permite controlar el listener. Con lsnrctl, puede: • Iniciar el listener • Parar el listener • Comprobar el estado del listener • Reinicializar el listener a partir de los parámetros del archivo de configuración • Configurar dinámicamente muchos listeners • Cambiar la contraseña del listener La sintaxis de comandos básica para esta utilidad es la siguiente: LSNRCTL> command [nombre_listener]

Cuando se emite el comando lsnrctl, el comando actúa en el listener por defecto (con nombre “LISTENER”) a menos que se especifique un nombre de listener distinto o se ejecute el comando SET CURRENT_LISTENER. Si el nombre del listener es LISTENER, el argumento nombre_listener se puede omitir. Los comandos válidos para lsnrctl se muestran en la diapositiva. Base de Datos Oracle 10g: Taller de Administración I 11-9


Sintaxis de la Utilidad Listener Control Los comandos de la utilidad de control del listener se pueden emitir desde la línea de comandos o desde el prompt LSNRCTL. •

Sintaxis de línea de comandos de UNIX o Linux: $ lsnrctl <nombre_comando> $ lsnrctl start $ lsnrctl status

Sintaxis de prompt: LSNRCTL> <nombre_comando> LSNRCTL> start LSNRCTL> status

Copyright © 2005, Oracle. Todos los derechos reservados.

Sintaxis de la Utilidad Listener Control Los comandos lsnrctl se pueden emitir desde la utilidad (sintaxis de prompt) o desde la línea de comandos. Los dos comandos siguientes tienen el mismo efecto. Primero, utilizando la sintaxis de línea de comandos: $ lsnrctl start

y, a continuación, utilizando la sintaxis de prompt: $ lsnrctl LSNRCTL for Linux: Version 10.2.0.0.0 on 12-MAY-2005 Copyright (c) 1991, 2004, Oracle. All rights reserved. Welcome to LSNRCTL, type "help" for information. LSNRCTL> start

Normalmente, la sintaxis de línea de comandos se utiliza para ejecutar un comando individual o comandos de archivos de comandos. Si desea ejecutar varios comandos de lsnrctl consecutivos, la sintaxis de prompt es la más eficaz. Observe que se ha omitido el argumento listener_name, por lo que el comando de parada afectaría al listener denominado LISTENER. La sintaxis de prompt se debe utilizar si el listener está protegido por contraseña.

Base de Datos Oracle 10g: Taller de Administración I 11-10


Sintaxis de la Utilidad Listener Control (continuación) Recuerde que si el listener tiene un nombre distinto de LISTENER, debe incluir el nombre del name con el comando o utilizar el comando SET CURRENT_LISTENER. Por ejemplo, el listener se llama BACKUP. A continuación, aparecen dos ejemplos de cómo se para un listener con nombre BACKUP mediante la sintaxis de prompt: LSNRCTL> stop backup Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rhel)(PORT=5521))) The command completed successfully

El resultado del ejemplo sería el mismo que el del siguiente: LSNRCTL> set cur backup Current Listener is backup LSNRCTL> stop Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rhel)(PORT=5521))) The command completed successfully

Nota: En la sintaxis anterior, current_listener se puede abreviar como cur. También puede lograr los mismos resultados con la sintaxis de línea de comandos: /home/oracle> lsnrctl stop backup LSNRCTL for Linux:Version 10.2.0.0.0 on 12-MAY-2005 15:19:33 Copyright (c) 1991, 2004, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rhel)(PORT=5521))) The command completed successfully

Base de Datos Oracle 10g: Taller de Administración I 11-11


Página Inicial del Listener

Copyright © 2005, Oracle. Todos los derechos reservados.

Página Inicial del Listener Haga clic en el enlace Listener de la página inicial de la base de datos Enterprise Manager para acceder a la página inicial del listener. En esta página se puede ver: • El estado y la disponibilidad del listener en las últimas 24 horas • La versión del listener y el directorio raíz de Oracle • La primera dirección de recepción para el listener • La ubicación de los archivos de configuración que se utilizan para iniciar el listener • La hora de inicio del listener y la información del host Para iniciar el listener, vaya a la página inicial de la base de datos y haga clic en el nombre del listener para abrir la página inicial del listener. Haga clic en Stop para parar el listener si se está ejecutando o en Start para iniciar el listener si no se está ejecutando. Conéctese al host como usuario del sistema operativo que puede iniciar y parar el listener.

Base de Datos Oracle 10g: Taller de Administración I 11-12


Página Net Services Administration

Copyright © 2005, Oracle. Todos los derechos reservados.

Página Net Services Administration La página Net Services Administration le permitirá configurar los servicios de Red de Oracle para cualquier directorio raíz de Oracle en varios sistemas de archivos. También proporciona funciones de administración comunes para los listeners. Puede utilizar Net Services Administration para configurar y administrar lo siguiente: • Listeners: Puede agregar, eliminar, iniciar y parar un listener, así como cambiar las características de rastreo y de registro. También puede ver el informe de estado de control de un listener. • Directory Naming: Defina nombres simples e identificadores de conexión y asígnelos a descriptores de conexión para identificar la ubicación de la red y la identificación de un servicio. Guarde los servicios de base de datos, servicios de red y alias de servicio de red en un servicio de directorio centralizado. • Local Naming: Guarde los nombres de servicio de red en el archivo tnsnames.ora. • Profile: Configure los parámetros sqlnet.ora. • File Location: Cambie la ubicación de los archivos de configuración de los servicios de red.

Base de Datos Oracle 10g: Taller de Administración I 11-13


Creación de un Listener

1

2

3 4

Copyright © 2005, Oracle. Todos los derechos reservados.

Creación de un Listener Para crear un listener de Red de Oracle, haga clic en Net Services Administration en la región Related Links de la página de propiedades del listener. Realice los siguientes pasos: 1. Seleccione Listeners de la lista desplegable Administer y haga clic en Go. 2. Haga clic en Create. 3. Introduzca un nombre de listener. El nombre debe ser único para este servidor. 4. Agregue una dirección de listener. Cada listener debe tener al menos una dirección de listener.

Base de Datos Oracle 10g: Taller de Administración I 11-14


Adición de Direcciones de Listener 5

6

7

Copyright © 2005, Oracle. Todos los derechos reservados.

Adición de Direcciones de Listener El flujo de trabajo para crear un listener continúa: 5. Seleccione el protocolo de red. TCP/IP es el más utilizado y el protocolo por defecto. Otras opciones son Comunicación Interna entre Procesos (IPC), utilizada normalmente para conectar a aplicaciones locales (que residen en el servidor de bases de datos), o bibliotecas de código externo (EXTPROC), Named Pipes (NMP) y TCP/IP con SSL. Nota: Los protocolos NMP y EXTPROC se configuran utilizando el separador Other Services. 6. Introduzca el puerto que desea que controle el listener. El puerto por defecto de Red de Oracle es el 1521. Si decide utilizar un puerto que no sea el 1521, necesitará realizar una configuración adicional del listener o de la instancia. 7. Introduzca el nombre o la dirección IP del servidor en el que se ejecutará el listener. 8. Los demás pasos de configuración son opcionales para el listener. Haga clic en OK para guardar la dirección. La única configuración necesaria es la dirección de recepción y el nombre. Haga clic en OK para guardar los cambios. 9. Para iniciar el nuevo listener, seleccione Start/Stop de la lista desplegable Actions y haga clic en Go.

Base de Datos Oracle 10g: Taller de Administración I 11-15


Registro de Servicio de Base de Datos

Copyright © 2005, Oracle. Todos los derechos reservados.

Registro de Servicio de Base de Datos Para que un listener reenvíe conexiones del cliente a una instancia, éste debe conocer el nombre de la instancia y el lugar donde está ubicado el directorio ORACLE_HOME de la instancia. El listener puede buscar esta información de dos formas: • Registro de servicio dinámico: Las instancias de la base de datos Oracle8i, Oracle9i y Oracle 10g se registran automáticamente con el listener por defecto al iniciar la base de datos. No es necesario realizar ninguna configuración adicional en el listener por defecto. • Registro de servicio estático: Las versiones anteriores de la base de datos Oracle no se registran automáticamente con el listener y, por tanto, necesitan que el archivo de configuración del listener contenga una lista de todos los servicios de base de datos de los que se ocupará el listener. Aún puede utilizar el registro de servicio estático con versiones más recientes si: - El listener no está en el puerto por defecto 1521 y no desea configurar la instancia para que se registre con un puerto que no sea por defecto. - La aplicación necesita un registro de servicio estático. Para agregar un servicio de base de datos estático, seleccione Static Database Registration en la página Edit Listener y haga clic en el botón Add. Introduzca el nombre del servicio (el mismo que el nombre de la base de datos global <DB_NAME>.<DB_DOMAIN>), la ruta de acceso ORACLE_HOME y el SID (el mismo que el nombre de la instancia). Haga clic en OK. Deberá reiniciar el listener para que se apliquen los cambios. Base de Datos Oracle 10g: Taller de Administración I 11-16


Métodos de Nomenclatura La Red de Oracle soporta varios métodos para resolver la información de conexión: • Nomenclatura de conexión sencilla: Utiliza una cadena de conexión TCP/IP • Nomenclatura local: Utiliza un archivo de configuración local • Nomenclatura de directorios: Utiliza un servidor de directorios compatible con LDAP centralizado • Nomenclatura externa: Utiliza un servicio de nomenclatura soportado que no es de Oracle Cliente/servidor de aplicaciones Red de Oracle Archivos de configuración de Red de Oracle Copyright © 2005, Oracle. Todos los derechos reservados.

Métodos de Nomenclatura La Red de Oracle soporta los siguientes métodos de nomenclatura: • Nomenclatura de conexión sencilla: El método de nomenclatura de conexión sencilla permite a los clientes conectarse a un servidor de base de datos Oracle mediante una cadena de conexión TCP/IP formada por un nombre de host, un puerto opcional y un nombre de servicio, como en el siguiente ejemplo: CONNECT username/password@host[:port][/service_name]

• •

El método de nomenclatura de conexión sencilla no exige ninguna configuración. Nomenclatura local: El método de nomenclatura local almacena descriptores de conexión que se identifican por su nombre de servicio de red en un archivo de configuración en el cliente denominado tnsnames.ora. Nomenclatura de directorios: El método de nomenclatura de directorios almacena identificadores de conexión en un servidor de directorios compatible con Lightweight Directory Access Protocol (LDAP) centralizado para acceder a un servicio de base de datos. Nomenclatura externa: El método de nomenclatura externa almacena nombres de servicios de red en un servicio de nomenclatura no de Oracle soportado. Los servicios de terceros soportados incluyen: - Nomenclatura Externa de Servicios de Información de Red (NIS) - Servicio de Directorio de Celdas (CDS) del entorno Distributed Computing Environment (DCE) Base de Datos Oracle 10g: Taller de Administración I 11-17


Conexión Sencilla • • • •

Activada por defecto No necesita configuración del cliente Soporta sólo TCP/IP (no SSL) No ofrece soporte para opciones de conexión avanzadas como: – Operación de failover de tiempo de conexión – Direccionamiento de origen – Equilibrio de carga SQL> CONNECT hr/hr@db.us.oracle.com:1521/dba10g

Archivos de configuración que no son de Red de Oracle Copyright © 2005, Oracle. Todos los derechos reservados.

Conexión Sencilla Con la conexión sencilla, se proporciona toda la información necesaria para la conexión de Red de Oracle como parte de la cadena de conexión. Las cadenas de conexión sencilla tienen el siguiente formato: <nombre_usuario>/<contraseña>@<nombre_host>:<puerto_listener>/ <nombre_servicio>

El puerto del listener y el nombre del servicio son opcionales. Si no se proporciona el puerto del listener, la Red de Oracle asume que se utiliza el puerto por defecto 1521. Si no se proporciona el nombre del servicio, la Red de Oracle asume que el nombre del servicio de la base de datos y el nombre del host proporcionado en la cadena de conexión son idénticos. Si el listener utilizara el protocolo TCP para recibir en el puerto 1521 y los parámetros de instancia SERVICE_NAMES=db y DB_DOMAIN=us.oracle., la cadena de conexión que aparece en la diapositiva se podría reducir a: SQL> connect hr/hr@db.us.oracle.com

Nota: El parámetro de inicialización SERVICE_NAMES puede aceptar varios valores separados por comas. Sólo uno de dichos valores debe ser db para que este supuesto funcione.

Base de Datos Oracle 10g: Taller de Administración I 11-18


Nomenclatura Local • • •

Necesita un archivo de resolución de nombres del cliente Soporta todos los protocolos de Red de Oracle Soporta opciones de conexión avanzada como: – Operación de failover de tiempo de conexión – Direccionamiento de origen – Equilibrio de carga SQL> CONNECT hr/hr@orcl

Archivos de configuración de Red de Oracle Copyright © 2005, Oracle. Todos los derechos reservados.

Nomenclatura Local Con la nomenclatura local, el usuario proporciona un alias para el servicio de Red de Oracle. La Red de Oracle comprueba el alias en una lista local de servicios conocidos y, si encuentra una coincidencia, convierte el alias en nombre de host, protocolo, puerto y servicio. Una ventaja de la nomenclatura local es que los usuarios de la base de datos sólo necesitan recordar un alias corto en lugar de la cadena de conexión larga que necesita la conexión sencilla. La lista local de servicios conocidos se almacena en el archivo de configuración de texto: <oracle_home>/network/admin/tnsnames.ora. Ésta es la ubicación por defecto del archivo tnsnames.ora, pero el archivo puede estar ubicado en alguna otra parte utilizando la variable de entorno TNS_ADMIN. La nomenclatura local es adecuada para organizaciones en las que las configuraciones del servicio de Red de Oracle no cambian con frecuencia.

Base de Datos Oracle 10g: Taller de Administración I 11-19


Nomenclatura de Directorios •

Necesita tener cargado LDAP con información de resolución de nombres de Red de Oracle: – Oracle Internet Directory – Servicios de Active Directory de Microsoft

• •

Soporta todos los protocolos de Red de Oracle Soporta opciones de conexión avanzada

Directorio LDAP SQL> CONNECT hr/hr@orcl Archivos de configuración de Red de Oracle Copyright © 2005, Oracle. Todos los derechos reservados.

Nomenclatura de Directorios Con la nomenclatura de directorios, el usuario proporciona un alias para el servicio de Red de Oracle. La Red de Oracle comprueba el alias en una lista externa de servicios conocidos y, si encuentra una coincidencia, convierte el alias en nombre de host, protocolo, puerto y servicio. Al igual que la nomenclatura local, los usuarios de la base de datos sólo deben recordar un alias corto. Una ventaja de la nomenclatura de directorios es que en cuanto se agrega un nuevo nombre de servicio al directorio LDAP, el nombre del servicio está disponible para que los usuarios se conecten con él. Con la nomenclatura local, el administrador de la base de datos (DBA) debe distribuir primero los archivos tnsnames.ora actualizados que contengan la información del nombre del servicio cambiado para que los usuarios se puedan conectar a los servicios nuevos o modificados. La nomenclatura de directorios es adecuada para organizaciones en las que las configuraciones del servicio de Red de Oracle cambian con frecuencia.

Base de Datos Oracle 10g: Taller de Administración I 11-20


Método de Nomenclatura Externa • •

Utiliza un servicio de nomenclatura soportado que no es de Oracle Incluye: – Nomenclatura Externa de Servicios de Información de Red (NIS) – Servicio de Directorio de Celdas (CDS) del entorno Distributed Computing Environment (DCE) Servicio de nomenclatura que no es de Oracle

Red de Oracle

Copyright © 2005, Oracle. Todos los derechos reservados.

Método de Nomenclatura Externa El método de nomenclatura externa almacena nombres de servicios de red en un servicio de nomenclatura no de Oracle soportado. Los servicios de terceros soportados incluyen: • Nomenclatura Externa de Servicios de Información de Red (NIS) • Servicio de Directorio de Celdas (CDS) del entorno Distributed Computing Environment (DCE) Conceptualmente, la nomenclatura externa es parecida a la de directorios.

Base de Datos Oracle 10g: Taller de Administración I 11-21


Configuración de Alias de Servicio Crear o editar

Copyright © 2005, Oracle. Todos los derechos reservados.

Configuración de Alias de Servicio Para crear un alias de servicio de Red de Oracle local, seleccione Local Naming en la lista desplegable Administer y haga clic en Go; a continuación, haga clic en Create. Puede configurar alias de servicio para nomenclatura de directorios seleccionando Directory Naming en lugar de Local Naming. Nota: Si la nomenclatura de directorios aún no se ha configurado, no se puede seleccionar la opción Directory Naming. La nomenclatura de directorios se aborda en el curso Oracle Enterprise Identity Management y también en el manual Oracle Advanced Security Administration. En la página Create Net Service Name, introduzca un nombre único en el campo Net Service Name (nombre que los usuarios introducen cuando quieren utilizar este alias). Introduzca el nombre del servicio o el identificador del sistema (SID) de la base de datos a la que se desea conectar y haga clic en el botón Add para introducir la dirección del nombre del servicio. Para la dirección, introduzca el protocolo, el puerto y el host que utiliza el listener para el servicio al que desea conectar.

Base de Datos Oracle 10g: Taller de Administración I 11-22


Opciones de Conexión Avanzada La Red de Oracle soporta las siguientes opciones de conexión avanzada con nomenclatura local y de directorios: • Operación de failover de tiempo de conexión • Equilibrio de carga • Direccionamiento de origen

Copyright © 2005, Oracle. Todos los derechos reservados.

Opciones de Conexión Avanzada Con las opciones de conexión avanzada, la Red de Oracle puede aprovechar la operación de failover al listener y el equilibrio de carga, así como el direccionamiento de origen de Oracle Connection Manager. Con la operación de failover de tiempo de conexión activada, el alias tiene una lista de dos o más direcciones de listener. Si la primera dirección no está disponible, se intenta la segunda. La Red de Oracle seguirá probando direcciones según el orden de la lista hasta que llegue a un listener en funcionamiento o hasta que todas las direcciones se hayan probado y hayan fallado. Con el equilibrio de carga activado, la Red de Oracle selecciona una dirección de forma aleatoria de la lista de direcciones. El direccionamiento de origen se utiliza con Oracle Connection Manager. Oracle Connection Manager sirve como servidor proxy para el tráfico de Red de Oracle, lo que permite que el tráfico de Red de Oracle se direccione de forma segura a través de un firewall. La Red de Oracle trata las direcciones como una lista de transmisiones, por lo que se conecta con la primera dirección y, a continuación, solicita la transferencia de la primera a la segunda hasta que se alcance el destino. Se diferencia de la operación de failover o el equilibrio de carga en que todas las direcciones se utilizan cada vez que se realiza una conexión.

Base de Datos Oracle 10g: Taller de Administración I 11-23


Opciones de Conexión Avanzada (continuación) Tenga en cuenta que hay cinco opciones de operación de failover de tiempo de conexión y de equilibrio de carga. Las cinco opciones se traducen a: Opción

Funcionalidad Avanzada

Try each address, in order, until one succeeds.

Failover

Try each address, randomly, until one succeeds.

Failover Equilibrio de carga

Try one address selected at random.

Equilibrio de carga

Use each address in order until the destination is reached.

Direccionamiento de origen

Use only the first address.

Ninguna

Base de Datos Oracle 10g: Taller de Administración I 11-24


Prueba de la Conectividad de Red de Oracle La utilidad tnsping que comprueba los alias de servicio de Red de Oracle: • Garantiza la conectividad entre el cliente y el listener de Red de Oracle • No verifica que el servicio solicitado esté disponible • Soporta resolución de nombres de conexión sencilla tnsping db.us.oracle.com:1521/dba10g

Soporta nomenclatura local y de directorios: tnsping orcl

Copyright © 2005, Oracle. Todos los derechos reservados.

Prueba de la Conectividad de Red de Oracle tnsping es el equivalente en la Red de Oracle de la utilidad de ping de TCP/IP. Ofrece una prueba rápida para verificar que la ruta de acceso de red a un destino es adecuada. Por ejemplo, introduzca tnsping orcl en una ventana de línea de comandos. La utilidad valida que el nombre del host, el puerto y el protocolo llegan a un listener. No comprueba realmente si el listener maneja el nombre del servicio. Otra información útil que revela tnsping es la ubicación de los archivos de configuración. En un sistema con varias ubicaciones de ORACLE_HOME, esto puede ser útil.

Base de Datos Oracle 10g: Taller de Administración I 11-25


Sesiones de Usuario: Servidor Dedicado Sesiones de usuario

Proceso de servidor

Proceso de servidor

Proceso de servidor

Listener Copyright © 2005, Oracle. Todos los derechos reservados.

Sesiones de Usuario: Servidor Dedicado Con procesos de servidor dedicado hay una relación equitativa entre procesos de servidor y procesos de usuario. Cada proceso de servidor utiliza recursos del sistema, incluidos ciclos de CPU y memoria. En un sistema con una carga intensiva, los recursos de memoria y CPU que utilizan los procesos de servidor dedicado pueden ser extremadamente altos y pueden afectar negativamente a la escalabilidad del sistema. Si el sistema sufre un impacto negativo por las demandas de recursos de la arquitectura del servidor dedicado, tiene las dos opciones siguientes: • Aumentar los recursos del sistema agregando más memoria y capacidad adicional de CPU • Utilizar la arquitectura de servidor compartido Oracle

Base de Datos Oracle 10g: Taller de Administración I 11-26


Sesiones de Usuario: Servidor Compartido

Distribuidor Proceso de servidor Proceso de servidor Proceso de servidor

Sesiones de usuario Listener

Copyright © 2005, Oracle. Todos los derechos reservados.

Sesiones de Usuario: Servidor Compartido Cada servicio que participe en la arquitectura de servidor compartido tiene al menos un (y normalmente más) proceso del distribuidor. Cuando llega una solicitud de conexión, el listener no origina un proceso de servidor dedicado. En su lugar, el listener mantiene una lista de distribuidores disponibles para cada nombre de servicio, junto con la carga de conexión (número de conexiones simultáneas) para cada distribuidor. Las solicitudes de conexión se direccionan al distribuidor con menos carga que se ocupa de un nombre de servicio determinado. Los usuarios permanecen conectados al mismo distribuidor durante una sesión. A diferencia de los procesos de servidor dedicado, un único distribuidor puede gestionar cientos de sesiones de usuario. Los distribuidores no manejan realmente el trabajo de las solicitudes de usuario. En su lugar, transfieren solicitudes de usuario a una cola común situada en la parte de pool compartido del SGA. Los procesos de servidor compartido asumen la mayor parte del trabajo de los procesos de servidor dedicado, obteniendo solicitudes de la cola y procesándolas hasta que se terminen. Puesto que varios procesos de servidor compartido pueden procesar solicitudes de una única sesión de usuario, la mayor parte de las estructuras de memoria almacenadas normalmente en el PGA debe estar en una ubicación de la memoria compartida (por defecto, en el pool compartido). Sin embargo, si el pool grande está configurado o Automatic Memory Management está definido en SGA_TARGET, estas estructuras de memoria se almacenan en el pool grande del SGA. Base de Datos Oracle 10g: Taller de Administración I 11-27


SGA y PGA Servidor compartido Oracle: Los datos de la sesión de usuario se almacenan en el SGA. PGA

SGA Datos de Estado sesión de del usuario cursor

Ordenar datos

Pool grande y otras estructuras de memoria

Espacio de pila

No olvide tener en cuenta el requisito de memoria del servidor compartido cuando cambie de tamaño el SGA.

Copyright © 2005, Oracle. Todos los derechos reservados.

SGA y PGA El contenido de SGA y PGA varía cuando se utilizan servidores dedicados o compartidos: • Los formatos de texto y analizados de todas las sentencias SQL se almacenan en el SGA. • El estado del cursor contiene valores de memoria en tiempo de ejecución para la sentencia SQL, como las filas recuperadas. • Los datos de sesión de usuario incluyen información sobre seguridad y uso de recursos. • El espacio de pila contiene variables locales para el proceso. Nota Técnica El cambio en SGA y PGA es transparente para el usuario; sin embargo, si se admiten varios usuarios, debe aumentar el parámetro de inicialización LARGE_POOL_SIZE. Cada proceso de servidor compartido debe acceder a los espacios de datos de todas las sesiones para que cualquier servidor pueda manejar solicitudes desde cualquier sesión. El espacio se asigna en el SGA para el espacio de datos de cada sesión. Puede limitar el espacio que puede asignar una sesión configurando el límite del recurso PRIVATE_SGA en la región Database Services de la página General del perfil del usuario.

Base de Datos Oracle 10g: Taller de Administración I 11-28


Servidor Compartido: Pool de Conexiones

Cliente inactivo

La aplicación del cliente ha sobrepasado el tiempo de inactividad especificado y un cliente entrante solicita una conexión.

Cliente activo

Cliente nuevo

Servidor de base de datos

Se ha configurado el número máximo de conexiones en 255.

Esta conexión de cliente es la conexión 256 en el servidor. Se activa el pool de conexiones para que se pueda aceptar la conexión.

Copyright © 2005, Oracle. Todos los derechos reservados.

Servidor Compartido: Pool de Conexiones La función de pool de conexiones le permitirá al servidor de base de datos agotar el timeout de una sesión inactiva y utilizar la conexión para mantener una sesión activa. La sesión lógica inactiva permanece abierta y la conexión física se restablece automáticamente cuando la siguiente solicitud proviene de esa sesión. Por lo tanto, las aplicaciones Web pueden permitir que números mayores de usuarios simultáneos se incluyan en el hardware existente. El pool de conexiones se puede configurar a través del servidor compartido. En este ejemplo, se han configurado 255 conexiones en el servidor de bases de datos Oracle. Uno de los clientes ha sobrepasado el tiempo de inactividad especificado. El pool de conexiones hace que esta conexión esté disponible para una conexión entrante del cliente, es decir la conexión 256. Cuando el cliente inactivo tiene más trabajo, la conexión de ese cliente se restablece con la conexión inactiva de otro cliente.

Base de Datos Oracle 10g: Taller de Administración I 11-29


Cuándo No se Debe Utilizar un Servidor Compartido Algunos tipos de trabajos de base de datos no se deben realizar con servidores compartidos: • Administración de base de datos • Operaciones de copia de seguridad y recuperación • Procesamiento por lotes y operaciones de carga en bloque • Operaciones de almacén de datos

Distribuidor

Proceso de servidor dedicado

Copyright © 2005, Oracle. Todos los derechos reservados.

Cuándo No se Debe Utilizar un Servidor Compartido La arquitectura de servidor compartido Oracle es un modelo de uso de memoria y procesos eficaz, pero no es adecuado para todas las conexiones. Debido a la cola de solicitudes común y a que muchos usuarios pueden compartir una cola de respuesta del distribuidor, los servidores compartidos no dan buenos resultados con operaciones que deben ocuparse de grandes juegos de datos, como consultas de almacén o procesamiento por lotes. Las sesiones de copia de seguridad y recuperación que utilizan Oracle Recovery Manager (se tratará en posteriores lecciones) también se ocupan de grandes juegos de datos y deben utilizar conexiones dedicadas. Muchas tareas de administración no se deben (y no se pueden) realizar utilizando conexiones de servidor compartido. Dichas tareas incluyen el inicio y el cierre de la instancia, la creación de tablespaces o archivos de datos, el mantenimiento de índices y tablas, el análisis de estadísticas y muchas otras tareas que normalmente realiza el DBA. Todas las sesiones de DBA deben seleccionar servidores dedicados.

Base de Datos Oracle 10g: Taller de Administración I 11-30


Resumen En esta lección, debe haber aprendido lo siguiente: • Utilizar Enterprise Manager para: – Crear listeners adicionales – Crear alias de servicio de Red de Oracle – Configurar operaciones de failover de tiempo de conexión – Controlar el listener de Red de Oracle

• •

Utilizar tnsping para realizar pruebas de la conectividad de Red de Oracle Identificar cuándo se deben utilizar servidores compartidos frente a servidores dedicados

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 11-31


Visión General de la Práctica: Trabajar con los Componentes de Red de Oracle En esta práctica se aborda: • Configuración de la resolución de nombres local para conectar a otra base de datos • Creación de un segundo listener para el failover de tiempo de conexión

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 11-32


Mantenimiento Proactivo

Copyright Š 2005, Oracle. Todos los derechos reservados.


Objetivos Al finalizar esta lección, debería estar capacitado para lo siguiente: • Utilizar estadísticas • Gestionar el repositorio de carga de trabajo automática (AWR) • Utilizar el monitor de diagnóstico de base de datos automático (ADDM) • Describir el marco de asesoramiento • Definir umbrales de alerta • Utilizar alertas generadas por el servidor • Utilizar tareas automáticas Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 12-2


Mantenimiento Proactivo Automático

Proactivo

Tareas automáticas

Alertas de servidor

Marco de asesoramiento

Repositorio de Carga de Trabajo Automática

Almacén de datos de la base de datos

Eficaz

Recopilación automática de estadísticas importantes

Acceso directo a memoria

Copyright © 2005, Oracle. Todos los derechos reservados.

Mantenimiento Proactivo La infraestructura sofisticada de la base de datos Oracle hace que el mantenimiento proactivo sea sencillo. Los elementos principales son los siguientes: • El repositorio de carga de trabajo automática (AWR) es un repositorio incorporado en cada base de datos Oracle. En intervalos regulares, la base de datos Oracle realiza una instantánea de todas las estadísticas fundamentales y la información de carga de trabajo y la almacena en AWR. Los datos capturados los puede analizar el usuario, la propia base de datos o ambos. • Mediante el análisis de la información almacenada en AWR, la base de datos puede identificar la necesidad de realizar tareas de mantenimiento rutinarias, como realizar copias de seguridad periódicas para maximizar la disponibilidad o refrescar las estadísticas que se utilizan para optimizar la ejecución de sentencias SQL. • La base de datos Oracle proporciona alertas generadas por el servidor para los problemas que no se pueden resolver de manera automática y que se necesitan notificar a los administradores (como, por ejemplo, la falta de espacio). La base de datos Oracle se puede controlar a sí misma y mandar alertas para notificar los problemas. Las alertas no sólo notifican los problemas sino que también ofrecen recomendaciones de cómo se pueden solucionar. • Las recomendaciones se generan desde los diferentes asesores, cada uno de los cuales es responsable de un subsistema. Por ejemplo, existen asesores de memoria y de SQL. Base de Datos Oracle 10g: Taller de Administración I 12-3


Introducción a la Terminología •

• •

Repositorio de carga de trabajo automática (AWR): Infraestructura para recopilar datos, realizar análisis y recomendar soluciones Línea base: Datos recopilados de una “base de datos que se ejecuta de manera normal” para comparar el rendimiento Métrica: Ratio de cambio en una estadística acumulativa Estadísticas: Recopilaciones de datos utilizadas para optimizar las operaciones internas, como la ejecución de una sentencia SQL Umbral: Valor de límite respecto al que se comparan los valores métricos

Copyright © 2005, Oracle. Todos los derechos reservados.

Introducción a la Terminología El repositorio de carga de trabajo automática (AWR) proporciona servicios a los componentes de servidor de Oracle internos para recopilar, procesar, mantener y utilizar las estadísticas de rendimiento para detectar posibles problemas y aplicar los ajustes necesarios automáticamente. El historial de sesiones activas (ASH) es el historial de la actividad de sesión más reciente, almacenado en AWR. Las estadísticas son una recopilación de datos que proporcionan más detalles sobre la base de datos y los objetos de la misma. El optimizador de consulta utiliza las estadísticas del optimizador para elegir el mejor plan de ejecución para cada sentencia SQL. En los datos de línea base se debe incluir: • Estadísticas de aplicación (volúmenes de transacción, tiempo de respuesta) • Estadísticas de base de datos • Estadísticas del sistema operativo. • Estadísticas de E/S de disco • Estadísticas de red

Base de Datos Oracle 10g: Taller de Administración I 12-4


Estadísticas del Optimizador

> Estadísticas AWR ADDM Asesores Alertas Tareas Autom.

Las estadísticas del optimizador: • No son en tiempo real • Son persistentes tras los reinicios de la instancia • Se recopilan automáticamente SQL> SELECT COUNT(*) FROM hr.employees; COUNT(*) ---------214 SQL> SELECT num_rows FROM dba_tables 2 WHERE owner='HR' AND table_name = 'EMPLOYEES'; NUM_ROWS ---------107 Copyright © 2005, Oracle. Todos los derechos reservados.

Estadísticas del Optimizador En las estadísticas del optimizador se incluyen estadísticas de tabla, columna, índice y sistema. Las estadísticas para tablas e índices se almacenan en el diccionario de datos. Estas estadísticas no están destinadas a proporcionar datos en tiempo real. Proporcionan al optimizador una instantánea estadísticamente correcta del almacenamiento y la distribución de datos que el optimizador utiliza para tomar decisiones sobre cómo acceder a los datos. En las estadísticas recopiladas se incluyen: • Tamaño de la tabla o índice en los bloques de base de datos • Número de filas • Recuento de cadenas y tamaño medio de fila (sólo tablas) • Altura y número de filas de hoja suprimidas (sólo índices) A medida que se insertan, suprimen y modifican datos, estos hechos cambian. El impacto en el rendimiento del mantenimiento de estadísticas de distribución de datos en tiempo real sería extremadamente alto, de modo que estas estadísticas se actualizan recopilando periódicamente estadísticas en tablas e índices. Las estadísticas del optimizador las recopila automáticamente el trabajo GATHER_STATS_JOB preconfigurado, que se ejecuta una vez al día durante las ventanas de mantenimiento predefinidas. Base de Datos Oracle 10g: Taller de Administración I 12-5


Estadísticas del Optimizador (continuación) Una tabla grande que experimenta un crecimiento (o reducción) del 10% en un período de 24 horas se suele considerar demasiado volátil para que sea suficiente una recopilación de estadísticas una vez al día. Para las tablas que experimenten este nivel de cambio, Oracle recomienda recopilar estadísticas con más frecuencia, a ser posible con la periodicidad suficiente para que la tabla nunca cambie más de un 10% entre períodos de recopilación. Para ello se necesita la recopilación manual de estadísticas. Las estadísticas se pueden recopilar manualmente con Enterprise Manager o con el paquete DBMS_STATS, como se muestra a continuación: SQL> EXEC dbms_stats.gather_table_stats(‘HR’,’EMPLOYEES’); SQL> SELECT num_rows FROM dba_tables 2 WHERE owner='HR' AND table_name = 'EMPLOYEES'; NUM_ROWS ---------214

Observe que ahora el número de filas refleja correctamente lo que había en la tabla en el momento en que se recopilaron las estadísticas. DBMS_STATS también permite la recopilación manual de estadísticas para un esquema completo o incluso toda la base de datos.

Base de Datos Oracle 10g: Taller de Administración I 12-6


Uso de la Página Manage Optimizer Statistics

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso de la Página Manage Optimizer Statistics Haga clic en Manage Optimizer Statistics en la página con separadores Administration para acceder a la página Enterprise Manager y gestionar las estadísticas del optimizador. Observe que (tal y como se muestra en esta página) GATHER_STATS_JOB está activado. Se ha ejecutado nueve veces y, la última vez, se ejecutó correctamente en 97 objetos. Para ello, necesitó algo más de un minuto. Para que GATHER_STATS_JOB funcione de manera correcta, hay que asegurarse de que el parámetro de inicialización STATISTICS_LEVEL esté definido en al menos TYPICAL. Nota: La ventana por defecto de este trabajo es de 10:00 p.m. a 6:00 a.m. entre semana y de las 12:00 a.m. del sábado a las 12:00 a.m. del lunes los fines de semana. Cuando se cierra la ventana de mantenimiento, por defecto, el planificador termina GATHER_STATS_JOB. Los objetos restantes se procesan en la próxima ventana de mantenimiento.

Base de Datos Oracle 10g: Taller de Administración I 12-7


Uso de la Página Manage Optimizer Statistics (continuación) Desde esta página puede realizar las siguientes tareas en las estadísticas: • Recopilar estadísticas del optimizador manualmente. Esta acción ejecuta el trabajo que GATHER_STATS_JOB realiza de manera automática. Se debe realizar en el caso de que el contenido de una tabla haya cambiado tanto entre los trabajos de recopilación automáticos que las estadísticas ya no representen la tabla de forma precisa. Entre los ejemplos se incluye una tabla que se ha truncado a mitad del día y un trabajo por lotes que se ejecuta y agrega grandes cantidades de datos a una tabla. • Restaurar las estadísticas del optimizador en un punto en el pasado. El punto en el tiempo seleccionado se debe situar dentro del período de retención de las estadísticas del optimizador, que es de 30 días por defecto. • Bloquear las estadísticas del optimizador para garantizar que las estadísticas de determinados objetos nunca se sobrescriban. Esta opción resulta útil si se han calculado las estadísticas de una determinada tabla en un momento en el que estaban presentes los datos más representativos y si desea mantener siempre esas estadísticas. Las fluctuaciones de la tabla no afectarán a las estadísticas si están bloqueadas. • Desbloquear las estadísticas del optimizador para deshacer un bloqueo realizado previamente. • Suprimir las estadísticas del optimizador para suprimir estadísticas.

Base de Datos Oracle 10g: Taller de Administración I 12-8


Niveles de Estadísticas

STATISTICS_LEVEL

BASIC

TYPICAL

ALL

Capacidades de ajuste automático desactivadas

Valor por defecto recomendado

Estadísticas adicionales para diagnósticos SQL manuales

Copyright © 2005, Oracle. Todos los derechos reservados.

Niveles de Estadísticas Puede controlar el juego de estadísticas que se desea capturar mediante el parámetro de inicialización STATISTICS_LEVEL, que incluye los siguientes niveles de captura: • BASIC: Desactiva el cálculo de estadísticas y métricas de AWR. • TYPICAL: Sólo se recopilan algunas de las estadísticas. Representan lo que normalmente se necesita para controlar el comportamiento de la base de datos Oracle. Esta recopilación automática de estadísticas reduce la posibilidad de sentencias SQL de rendimiento bajo debido a estadísticas anticuadas o no válidas. • ALL: Se capturan todas las estadísticas posibles. Este nivel de captura sólo se deberá utilizar en algunos casos, poco usuales, en los que se necesite información de diagnóstico SQL adicional.

Base de Datos Oracle 10g: Taller de Administración I 12-9


Estadísticas > AWR ADDM Asesores Alertas Tareas Autom.

Repositorio de Carga de Trabajo Automática (AWR) • •

Repositorio incorporado de información sobre el rendimiento Se toman instantáneas de las métricas de la base de datos cada 60 minutos y se retienen durante 7 días Base para todas las funciones de autogestión Estadísticas en memoria

60 minutos MMON

SGA

Instantáneas

AWR

Copyright © 2005, Oracle. Todos los derechos reservados.

Repositorio de Carga de Trabajo Automática (AWR) AWR es la infraestructura que proporciona a los componentes de la base de datos Oracle 10g los servicios necesarios para recopilar, mantener y utilizar estadísticas para detectar problemas y aplicar ajustes automáticos. Puede considerarlo como almacén de datos para las estadísticas de base de datos, métricas, etc. Por defecto, cada 60 minutos la base de datos captura automáticamente información estadística de SGA y la almacena en AWR con el formato de instantáneas. Estas instantáneas se almacenan en el disco mediante un proceso en segundo plano denominado monitor de gestión (MMON). Por defecto, las instantáneas se retienen durante siete días. Puede modificar tanto el intervalo de instantánea como los intervalos de retención. AWR contiene cientos de tablas, todas pertenecientes al esquema SYSMAN y almacenadas en el tablespace SYSAUX. La base de datos Oracle no soporta el acceso SQL directo al repositorio. En su lugar, utiliza Enterprise Manager o el paquete DBMS_WORKLOAD_REPOSITORY para su funcionamiento con AWR.

Base de Datos Oracle 10g: Taller de Administración I 12-10


Infraestructura de AWR Clientes externos

SQL*Plus …

EM

SGA Recolección eficaz de estadísticas en memoria

Clientes internos

V$

DBA_*

MMON

ADDM

Instantáneas AWR

Componente … de ajuste automático

Componente de ajuste automático

Copyright © 2005, Oracle. Todos los derechos reservados.

Infraestructura de AWR La infraestructura de AWR consta de dos partes principales: • Un servicio de recopilación de estadísticas en memoria que utilizan los componentes de la base de datos Oracle 10g para recopilar estadísticas. Estas estadísticas se almacenan en memoria por motivos de rendimiento. Para acceder a las estadísticas almacenadas en memoria se utilizan las vistas de rendimiento dinámicas (V$). • Las instantáneas AWR que representan la porción persistente de la utilidad. Para acceder a las instantáneas AWR se utilizan las vistas del diccionario de datos y Enterprise Manager Database Control. Las estadísticas se almacenan de forma persistente por varios motivos: • Las estadísticas deben sobrevivir a posibles fallos de la instancia. • Algunos análisis necesitan datos históricos para realizar comparaciones de línea base. • Se puede producir un desbordamiento de memoria. Cuando las estadísticas antiguas se sustituyen por nuevas por falta de memoria, los datos sustituidos se pueden almacenar con objeto de utilizarlos más adelante. La versión de la memoria de las estadísticas se transfiere al disco regularmente mediante el proceso en segundo plano MMON. Con AWR, la base de datos Oracle ofrece un sistema para capturar datos estadísticos históricos automáticamente, sin intervención por parte de los DBA. Base de Datos Oracle 10g: Taller de Administración I 12-11


Juegos de Instantáneas AWR Período relevante en el pasado

DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE ( start_snap_id IN NUMBER , end_snap_id IN NUMBER , baseline_name IN VARCHAR2);

Copyright © 2005, Oracle. Todos los derechos reservados.

Juegos de Instantáneas AWR Los juegos de instantáneas constituyen el mecanismo que le permite etiquetar juegos de datos de instantáneas relativos a períodos importantes. Un juego de instantáneas se define en una pareja de instantáneas; las instantáneas se identifican por sus números de secuencia de instantánea (snap_id). Cada juego de instantáneas corresponde a una única pareja de instantáneas. Un juego de instantáneas se puede identificar por el nombre que haya especificado el usuario o por el identificador generado por el sistema. Para crear un juego de instantáneas, simplemente ejecute el procedimiento DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE y especifique un nombre y una pareja de identificadores de instantáneas. Se asignará un identificador de juego de instantáneas al juego de instantáneas recién creado. Los identificadores de juego de instantáneas son únicos durante toda la existencia de la base de datos. Los juegos de instantáneas se utilizan para retener datos de instantáneas. Así pues, las instantáneas pertenecientes a los juegos de instantáneas se retendrán hasta que se borren dichos juegos. Los juegos de instantáneas se configuran normalmente a partir de ciertos períodos representativos del pasado con objeto de comparar el comportamiento del sistema en ese momento con el comportamiento actual. También se pueden definir alertas basadas en umbrales mediante juegos de instantáneas desde Database Control. Puede obtener los valores de snap_ids directamente desde DBA_HIST_SNAPSHOT o Enterprise Manager Database Control. Nota: Para obtener más información sobre el paquete DBMS_WORKLOAD_REPOSITORY, consulte la guía Oracle Database PL/SQL Packages and Types Reference. Base de Datos Oracle 10g: Taller de Administración I 12-12


Enterprise Manager y AWR

Copyright © 2005, Oracle. Todos los derechos reservados.

Enterprise Manager y AWR Seleccione Administration > Database Administration > Statistics Management > Automatic Workload Repository y haga clic en Edit para cambiar los valores. Desde la página Automatic Workload Repository podrá: • Editar los valores del repositorio de carga de trabajo. • Consultar información detallada acerca de las instantáneas creadas y crear manualmente instantáneas nuevas. • Crear líneas base, también denominadas juegos de instantáneas mantenidas. • Generar un informe de AWR.

Base de Datos Oracle 10g: Taller de Administración I 12-13


Gestión de AWR •

Período de retención – El valor por defecto es de 7 días – Considere las necesidades de almacenamiento

Intervalo de recopilación – El valor por defecto es de 60 minutos – Considere las necesidades de almacenamiento y el impacto en el rendimiento

Nivel de recopilación – BASIC (desactiva la mayoría de las funciones de ADDM) – TYPICAL (recomendado) – ALL (agrega información adicional de ajustes SQL a las instantáneas) Copyright © 2005, Oracle. Todos los derechos reservados.

Gestión de AWR Los valores de AWR incluyen el período de retención, el intervalo de recopilación y el nivel de recopilación. Recuerde que la disminución de cualquiera de estos valores afecta a la funcionalidad de los componentes que dependen de AWR, incluso a los asesores. El aumento de los valores puede ofrecer mejores recomendaciones de los asesores, pero a costa del espacio necesario para almacenar las instantáneas y el rendimiento utilizado para recopilar la información de instantáneas. Plantéese la opción de definir el nivel de recopilación en ALL cuando ajuste una aplicación nueva. El valor ALL recopila los planes de ejecución SQL y las estadísticas de temporización que mejoran las recomendaciones de los asesores SQL. Una vez terminado el ajuste, este valor debe volver al valor TYPICAL.

Base de Datos Oracle 10g: Taller de Administración I 12-14


Monitor de Diagnóstico de Base de Datos Automático (ADDM) • • •

Estadísticas AWR > ADDM Asesores Alertas Tareas Autom.

Se ejecuta después de las instantáneas de AWR Controla la instancia y detecta los cuellos de botella Almacena resultados en AWR Instantáneas

EM

ADDM Resultados de ADDM AWR Copyright © 2005, Oracle. Todos los derechos reservados.

Monitor de Diagnóstico de Base de Datos Automático (ADDM) A diferencia de otros asesores, ADDM se ejecuta automáticamente después de cada instantánea de AWR. Cada vez que se toma una instantánea, ADDM realiza un análisis del período correspondiente a las dos últimas instantáneas. ADDM controla de forma proactiva la instancia y detecta la mayoría de los cuellos de botella antes de que se conviertan en un problema importante. En muchos casos, ADDM recomienda soluciones para los problemas detectados e incluso cuantifica las ventajas de las recomendaciones. Entre los problemas comunes que detecta ADDM se incluyen: • Cuellos de botella en CPU • Gestión deficiente de la conexión de Red de Oracle • Contención de bloqueo • Capacidad de entrada/salida (E/S) • Reducción excesiva del tamaño de las estructuras de memoria de Oracle • Sentencias SQL de carga alta • Tiempos de PL/SQL y de Java altos • Carga alta de punto de control y causa (por ejemplo, archivos log pequeños) Los resultados de los análisis de ADDM se almacenan en AWR y también se puede acceder a ellos a través de Enterprise Manager. Base de Datos Oracle 10g: Taller de Administración I 12-15


Resultados de ADDM

1

2

3

Copyright © 2005, Oracle. Todos los derechos reservados.

Resultados de ADDM La página Automatic Database Diagnostic Monitor (ADDM) le permite ver los resultados detallados del último análisis de ADDM ejecutado. Database Time representa la suma del tiempo de actividad en las sesiones de la base de datos durante el período de análisis. Cada resultado tiene un porcentaje de impacto específico. El impacto representa el tiempo consumido por el problema correspondiente comparado con el tiempo de la base de datos durante el período de análisis. En esta diapositiva, puede observar: 1. El gráfico muestra que el número medio de usuarios activos aumentó drásticamente en este punto. Además, el problema más importante fue un problema de espera (Wait). 2. El icono muestra que la salida de ADDM que aparece en la parte inferior de la página corresponde a este momento. Puede ir a un momento anterior (para ver un análisis previo) haciendo clic en los otros iconos. 3. Los resultados le proporcionan un corto resumen de lo que descubrió ADDM como áreas ajustables. Al hacer clic en un problema concreto, pasará a la página Performance Finding Details. Si hace clic en el botón View Report podrá acceder a información detallada sobre el análisis de rendimiento en forma de informe de texto.

Base de Datos Oracle 10g: Taller de Administración I 12-16


Recomendaciones de ADDM

Copyright © 2005, Oracle. Todos los derechos reservados.

Recomendaciones de ADDM La página Performance Finding Details le proporciona recomendaciones para solucionar los problemas encontrados. Las recomendaciones se agrupan en categorías, entre ellas categorías de esquema, de ajuste SQL y de configuración de la base de datos. La columna Benefit (%) muestra la reducción máxima de tiempo transcurrido en la base de datos al implementar la recomendación. ADDM considera la posibilidad de aplicar varios cambios al sistema y entre sus recomendaciones están: • Cambios de hardware: Agregar CPU o cambiar la configuración del subsistema de E/S. • Configuración de la base de datos: Cambiar valores de parámetros de inicialización. • Cambios de esquema: Hacer particiones hash de tablas o índices, o utilizar la gestión automática de espacio de segmento (ASSM). • Cambios de aplicación: Utilizar la opción de caché para secuencias o usar variables ligadas. • Utilizar otros asesores: Ejecutar el Asesor de Ajustes SQL en SQL con mucha carga o ejecutar el Asesor de Segmentos en objetos activos.

Base de Datos Oracle 10g: Taller de Administración I 12-17


Marco de Asesoramiento

Asesor de Ajustes SQL

PGA

Memoria ADDM

SGA Asesor de Acceso SQL

Estadísticas AWR ADDM > Asesores Alertas Tareas Autom.

Asesor de PGA Asesor de Caché de Buffers Asesor de Caché de Bibliotecas Asesor de Segmentos

Espacio Asesor de Deshacer Copia de Seguridad

Asesor de MTTR

Copyright © 2005, Oracle. Todos los derechos reservados.

Marco de Asesoramiento Los asesores son componentes de servidor que proporcionan información de gran utilidad acerca de la utilización y el rendimiento de los recursos de sus respectivos componentes. Al contar con los datos capturados por AWR, ADDM permite a la base de datos Oracle diagnosticar su propio rendimiento y determinar cómo se pueden resolver los problemas identificados. ADDM se ejecuta automáticamente después de cada una de las capturas de estadísticas AWR y puede llamar a otros asesores. Las principales ventajas que proporciona la infraestructura de asesores son las siguientes: • Utiliza una interfaz uniforme para todos los asesores. • Todos los asesores disponen de un origen de datos común y un almacén de resultados al utilizar el repositorio de carga de trabajo.

Base de Datos Oracle 10g: Taller de Administración I 12-18


Marco de Asesoramiento (continuación) Monitor de Diagnóstico de Base de Datos Automático (ADDM) Experto basado en servidor que revisa el rendimiento de la base de datos cada 60 minutos. El objetivo de ADDM es detectar pronto los posibles cuellos de botella del sistema y recomendar correcciones antes de que el rendimiento del sistema se reduzca sensiblemente. Asesores de Memoria El Asesor de Memoria es en realidad una recopilación de varias funciones de asesoramiento que ayudan a determinar los mejores valores para el pool compartido, la caché de buffers de la base de datos y el Área Global de Programa (PGA). Además de las funciones de asesoramiento, esta página ofrece un punto central de control para el pool grande y el pool Java. Asesor de Tiempo Medio para la Recuperación (MTTR) Mediante el asesor de MTTR puede definir el tiempo necesario para que la base de datos se recupere después de un fallo de instancia. Asesor de Segmentos Este asesor busca tablas e índices que consumen más espacio del que necesitan. El asesor comprueba el consumo de espacio ineficaz en el nivel de esquema o tablespace y produce archivos de comandos que reducen el consumo de espacio donde es posible. Asesor de Acceso SQL Este asesor analiza todas las sentencias SQL emitidas en un período determinado y sugiere la creación de índices o vistas materializadas adicionales que mejorarán el rendimiento. Asesor de Ajustes SQL Este asesor analiza una sentencia SQL individual y realiza recomendaciones para mejorar su rendimiento. Las recomendaciones pueden incluir acciones como reescritura de la sentencia, cambio de la configuración de la instancia o adición de índices. No se llama directamente al Asesor de Ajustes SQL. En su lugar, se llama desde otras herramientas, como Top SQL o Top Sessions, para ayudar a optimizar las sentencias SQL de gran impacto. Asesor de Gestión de Deshacer Con el Asesor de Gestión de Deshacer puede determinar el tamaño del tablespace de deshacer necesario para soportar un determinado período de retención. La gestión de deshacer y el uso del asesor se tratan en la lección titulada “Gestión de Datos de Deshacer”.

Base de Datos Oracle 10g: Taller de Administración I 12-19


Enterprise Manager y Asesores

Copyright © 2005, Oracle. Todos los derechos reservados.

Enterprise Manager y Asesores La página Advisor Central es la página principal de todos los asesores. Para llegar a esta página, haga clic en el enlace Advisor Central en la lista Related Links de la página inicial de Database Control. Este no es sin embargo el único punto de acceso a los asesores en Database Control. También se puede acceder a los asesores desde otros contextos. En la página Advisor Central, puede ver una lista de todas las tareas de asesor registradas en el repositorio de carga de trabajo. También puede filtrar esta lista por tipo de asesor y por períodos de tiempo predefinidos. Algunos de los asesores se describen con mayor detalle en las lecciones tituladas “Gestión de Datos de Deshacer”, “Gestión de Rendimiento” y “Conceptos de Copia de Seguridad y Recuperación”. Nota: Utilice la página Change Default Parameters para cambiar el tiempo de vencimiento por defecto en días para todas las tareas futuras. También puede utilizar esta página para cambiar algunos de los parámetros importantes del asesor.

Base de Datos Oracle 10g: Taller de Administración I 12-20


Paquete DBMS_ADVISOR Procedimiento

Descripción

CREATE_TASK

Crea una tarea nueva en el repositorio.

DELETE_TASK

Suprime una tarea del repositorio.

EXECUTE_TASK

Inicia la ejecución de la tarea.

INTERRUPT_TASK

Suspende una tarea que se está ejecutando actualmente.

GET_TASK_REPORT

Crea y devuelve un informe de texto para la tarea especificada.

RESUME_TASK

Hace que se reanude una tarea suspendida.

UPDATE_TASK_ATTRIBUTES

Actualiza atributos de tarea.

SET_TASK_PARAMETER

Modifica un parámetro de tarea.

MARK_RECOMMENDATION

Marca una o más recomendaciones como aceptadas, rechazadas o ignoradas.

GET_TASK_SCRIPT

Crea un archivo de comandos con todas las recomendaciones que se acepten.

Copyright © 2005, Oracle. Todos los derechos reservados.

Paquete DBMS_ADVISOR El paquete DBMS_ADVISOR contiene todas las declaraciones de procedimiento y constantes para todos los módulos de asesor. Puede utilizar este paquete para ejecutar tareas mediante la línea de comandos. Para poder ejecutar los procedimientos de asesor es necesario disponer del privilegio ADVISOR. El privilegio ADVISOR permite acceder plenamente a las vistas y los procedimientos del asesor. Nota: Para obtener más información sobre todos los procedimientos del paquete DBMS_ADVISOR, consulte la guía Oracle Database PL/SQL Packages and Types Reference.

Base de Datos Oracle 10g: Taller de Administración I 12-21


Estadísticas AWR ADDM Asesores > Alertas Tareas Autom.

Alertas Generadas por el Servidor

Enterprise Manager

Cola de alertas del servidor.

Instancia de Oracle La métrica excede el umbral.

AWR

Copyright © 2005, Oracle. Todos los derechos reservados.

Alertas Generadas por el Servidor Las alertas sirven para notificar cuándo una base de datos está en un estado no deseado y necesita atención. Por defecto, la base de datos Oracle proporciona alertas a través de Enterprise Manager Database Control. Opcionalmente, Enterprise Manager se puede configurar para enviar un correo electrónico al administrador acerca de las condiciones del problema, así como para mostrar la información de alerta en la consola. También puede definir los umbrales en varias de las métricas pertinentes para el sistema. La base de datos Oracle 10g notificará de forma proactiva si la base de datos se desvía de las lecturas normales lo bastante como para alcanzar dichos umbrales. Una notificación anticipada de posibles problemas permite responder rápidamente y, con frecuencia, resolver problemas antes incluso de que los usuarios los adviertan. Algunas métricas clave que pueden proporcionar una notificación anticipada del problema son: • Average File Read Time (centiseconds) • Dump Area Used (%) • Response Time (per transaction) • SQL Response Time (%) • Tablespace Used (%) • Wait Time (%) Base de Datos Oracle 10g: Taller de Administración I 12-22


Alertas Generadas por el Servidor por Defecto 97% crítico 85% advertencia Tablespace

Database Control: Métricas SYSTEM

Sesión reanudable suspendida

Uso de espacio de tablespace

Área de recuperación con poco espacio libre

Instantánea demasiado antigua

Copyright © 2005, Oracle. Todos los derechos reservados.

Alertas Generadas por el Servidor por Defecto Por defecto, se activan las alertas generadas por el servidor en los siguientes casos: • Uso de espacio de tablespace (advertencia 85%, crítico 97%) • Instantánea demasiado antigua • Área de recuperación con poco espacio libre • Sesión reanudable suspendida Nota: Enterprise Manager Database Control define automáticamente umbrales en métricas del servidor con el tipo de objeto SYSTEM.

Base de Datos Oracle 10g: Taller de Administración I 12-23


Definición de Umbrales

Copyright © 2005, Oracle. Todos los derechos reservados.

Definición de Umbrales Para definir o editar un umbral para toda la base de datos, seleccione Manage Metrics en la región Related Links de la página inicial de la base de datos. Haga clic en Edit Thresholds. Introduzca los valores deseados para Warning Threshold y Critical Threshold. Aparecerán las alertas adecuadas cuando la base de datos alcance los valores especificados. Si es necesario, puede especificar una acción de respuesta adicional.

Base de Datos Oracle 10g: Taller de Administración I 12-24


Creación y Prueba de una Alerta 1. Especifique un umbral. 2. Cree un caso de prueba. 3. Compruebe la existencia de una alerta. 2

1

3

Copyright © 2005, Oracle. Todos los derechos reservados.

Creación y Prueba de una Alerta También se pueden definir umbrales para un objeto concreto. Ejemplo: El usuario decide que necesita recibir una alerta crítica si el espacio que se utiliza en el tablespace INVENTORY supera el 75%. (Este tablespace no permite que los archivos de datos se amplíen automáticamente.) Para crear y probar la alerta, realice los siguientes pasos: 1. En Enterprise Manager, navegue a la administración de tablespace y defina el umbral deseado. 2. Utilice la acción “Create Like” para duplicar una tabla ya existente y rellénela mediante SQL*Plus. 3. Después de haber recibido un error informándole de que la tabla no se puede ampliar, compruebe la página inicial de la instancia de base de datos para ver alertas relacionadas. La mayoría de las alertas contienen el nombre de un asesor asociado al que se puede llamar para obtener consejo detallado. Database Control ofrece un enlace para llamar al asesor correspondiente a cada mensaje de alerta.

Base de Datos Oracle 10g: Taller de Administración I 12-25


Notificación de Alertas

Copyright © 2005, Oracle. Todos los derechos reservados.

Notificación de Alertas El mecanismo de notificación utiliza la interfaz de usuario porque ya está disponible en Enterprise Manager. Se basa en el concepto de una regla de notificación que establece el mecanismo de notificación adecuado para un juego de próximas alertas. Database Control permite editar las reglas de notificación. En la página inicial, haga clic en el enlace Preferences. De esta forma, se muestra la página General en la que puede especificar la dirección de correo electrónico en la que desea recibir las notificaciones. En la página General, haga clic en el enlace Rules de la región Notification. Seleccione la regla Database Availability and Critical States y haga clic en el botón Edit. Aparecerá la página del asistente Edit Notification Rule Database Availability and Critical States, donde podrá seleccionar las métricas (y sus niveles de gravedad) para las que desee recibir notificación.

Base de Datos Oracle 10g: Taller de Administración I 12-26


Notificación de Alertas (continuación) De manera opcional, puede especificar si desea que Enterprise Manager le proporcione una notificación directa cuando produzcan determinadas alertas. Por ejemplo, si especifica que desea una notificación por correo electrónico de las alertas críticas y tiene definido un umbral crítico para el tiempo de respuesta del sistema de cada métrica de llamada, puede enviar un correo electrónico que contenga un mensaje similar al siguiente: Host Name=mydb.us.mycompany.com Metric=Response Time per Call Timestamp=08-NOV-2005 10:10:01 (GMT -7:00) Severity=Critical Message=Response time per call has exceeded the threshold. See the latest ADDM analysis. Rule Name= Rule Owner=SYSMAN El correo electrónico contiene un enlace al nombre del host y último análisis de ADDM. Por defecto, está definida la notificación de alertas en estado crítico como en el caso de que la base de datos esté caída, estado de error del log de alertas genéricas y tablespace usado. Sin embargo, para recibir estas notificaciones, debe configurar la información de correo electrónico realizando los siguientes pasos: 1. En cualquier página de Database Control, haga clic en el enlace Setup, visible tanto en la cabecera como en el pie de página. 2. En la página Setup, seleccione Notification Methods. 3. Introduzca la información necesaria en la región Mail Server de la página Notifications Methods. Existen otros métodos de notificación, entre los que se incluyen archivos de comandos e interrupciones SNMP (Simplified Network Management Protocol). Este último se puede utilizar para comunicarse con aplicaciones de terceros. Para recibir notificaciones, realice los siguientes pasos: 1. En cualquier página de Database Control, haga clic en el enlace Preferences, visible tanto en la cabecera como en el pie de página. 2. En la página Preferences, seleccione General. Introduzca la dirección de correo electrónico en la región E-mail Addresses. 3. De manera opcional, puede editar las reglas de notificación para, por ejemplo, cambiar el estado de gravedad necesario para recibir una notificación. Para ello, seleccione Notification Rules. Aparece la página Notification Rules. Para obtener más información sobre la configuración de las reglas de notificación, consulte la documentación Oracle Enterprise Manager Advanced Configuration.

Base de Datos Oracle 10g: Taller de Administración I 12-27


Reacción ante Alertas • • •

Si es necesario, recopile más entradas, por ejemplo, ejecutando ADDM u otro asesor. Tome medidas correctivas. Confirme las alertas que no se borran automáticamente.

Copyright © 2005, Oracle. Todos los derechos reservados.

Reacción ante Alertas Al recibir una alerta, siga cualquiera de las recomendaciones que se le proporcionan o plantéese ejecutar ADDM o cualquier otro asesor adecuado para obtener un diagnóstico más detallado del comportamiento del sistema o del objeto. La mayoría de las alertas como, por ejemplo, la alerta de falta de espacio, se borran automáticamente cuando desaparece la causa del problema. Sin embargo, con otras alertas como, por ejemplo, el error del log de alertas genéricas, se envía al usuario una notificación y el usuario deberá confirmarla. Después de tomar las medidas correctivas necesarias, puede confirmar una alerta borrándola o depurándola. Al borrar una alerta, ésta se envía al historial de alertas, que se puede visualizar desde la página inicial en Related Links. Al depurarla, se elimina del historial de alertas. Para borrar una alerta como, por ejemplo, el error del log de alertas genéricas, de la página inicial bajo Diagnostic Summary, haga clic en el enlace Alert Log. Aparece la página Alert Log Errors. Seleccione la alerta que desea borrar y haga clic en Clear. Para depurar una alerta, selecciónela y haga clic en Purge. También puede borrar y depurar cada alerta abierta mediante los botones Clear Every Open Alert o Purge Every Alert.

Base de Datos Oracle 10g: Taller de Administración I 12-28


Tipos de Alerta y Eliminación de Alertas Basado en métricas Alertas de umbral (con estado)

97% crítico

Limpiada

85% advertencia

Limpiada

MMON

DBA_OUTSTANDING_ALERTS

Alertas no de umbral (sin estado)

Instantánea demasiado antigua

Alert

DBA_ALERT_HISTORY

Sesión Área de reanudable recuperación con suspendida poco espacio libre

Basado en eventos

Copyright © 2005, Oracle. Todos los derechos reservados.

Tipos de Alerta y Eliminación de Alertas Hay dos tipos de alertas generadas por el servidor: de umbral y no de umbral. La mayoría de las alertas generadas por el servidor se configuran definiendo valores de umbral crítico y de advertencia en métricas de base de datos. Se pueden definir umbrales para más de 120 métricas. Por ejemplo: • Lecturas físicas por segundo • Confirmaciones por segundo • Tiempo de respuesta del servicio SQL Excepto por la métrica de uso de espacio de tablespace, relacionada con la base de datos, el resto de las métricas están relacionadas con la instancia. Las alertas de umbral se conocen también como alertas con estado. Estas alertas se borran automáticamente cuando desaparece la condición asociada. Las alertas con estado aparecen en DBA_OUTSTANDING_ALERTS y, cuando se borran, pasan a DBA_ALERT_HISTORY. También existen otras alertas generadas por el servidor que corresponden a eventos de bases de datos específicos, como errores porque la instantánea sea demasiado antigua, porque el área de recuperación disponga de poco espacio libre y porque se haya suspendido una sesión reanudable. Estas son alertas que no se basan en umbrales, también conocidas como alertas sin estado. Las alertas sin estado pasan directamente a la tabla de historial. Borrar una alerta sin estado sólo tiene sentido en el entorno de Database Control, ya que Database Control almacena alertas sin estado en su propio repositorio. Base de Datos Oracle 10g: Taller de Administración I 12-29


Tareas de Mantenimiento Automáticas

Estadísticas AWR ADDM Asesores Alertas > Tareas Autom.

• •

El planificador inicia los trabajos Los trabajos se ejecutan en la ventana de mantenimiento por defecto • Se limita el impacto de mantenimiento en las operaciones habituales mediante el uso del gestor de recursos Ejemplos de mantenimiento: • Recopilar estadísticas del optimizador • Recopilar información de segmentos • Realizar copias de seguridad de bases de datos

Copyright © 2005, Oracle. Todos los derechos reservados.

Tareas de Mantenimiento Automáticas Mediante el análisis de la información almacenada en AWR, la base de datos puede identificar la necesidad de realizar tareas de mantenimiento rutinarias como, por ejemplo, refrescar las estadísticas del optimizador. La infraestructura de las tareas de mantenimiento automáticas permite a la base de datos Oracle realizar de manera automática tales operaciones. Utiliza el planificador para ejecutar las tareas en una “ventana de mantenimiento” predefinida. Por defecto, la ventana de mantenimiento empieza cada noche a las 10 p.m. y dura hasta las 6 a.m. de la mañana siguiente y a lo largo de todo el fin de semana. Todos los atributos de la ventana de mantenimiento se pueden personalizar, entre los que se incluyen la hora de inicio y finalización, la frecuencia, los días de la semana, etc. Asimismo, para poder limitar el impacto de las tareas de mantenimiento automáticas en operaciones habituales de la base de datos, se tiene que asociar un plan de recursos del Gestor de Recursos de la Base de Datos a una ventana de mantenimiento. Los ejemplos de mantenimiento son los siguientes: • Las estadísticas del optimizador se refrescan automáticamente mediante el uso de la infraestructura de tareas de mantenimiento automáticas. • El Asesor de Segmentos tiene trabajos por defecto, que se ejecutan en la ventana de mantenimiento. • Al crear una base de datos con DBCA, puede iniciar la realización de copias de seguridad periódicas de bases de datos. Base de Datos Oracle 10g: Taller de Administración I 12-30


Resumen En esta lección, debe haber aprendido lo siguiente: • Utilizar estadísticas • Gestionar el repositorio de carga de trabajo automática (AWR) • Utilizar el Monitor de Diagnóstico de Base de Datos Automático • Describir el marco de asesoramiento • Definir umbrales de alerta • Utilizar alertas generadas por el servidor • Utilizar tareas automáticas

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 12-31


Visión General de la Práctica: Mantenimiento Proactivo En esta práctica se abordan los siguientes temas: • Gestión proactiva de la base de datos mediante ADDM – Configuración de un problema para analizarlo – Revisión del rendimiento de la base de datos – Implementación de una solución

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 12-32


Gesti贸n de Rendimiento

Copyright 漏 2005, Oracle. Todos los derechos reservados.


Objetivos Al finalizar esta lección, debería estar capacitado para lo siguiente: • Utilizar Enterprise Manager para controlar el rendimiento • Ajustar SQL mediante el Asesor de Ajustes SQL • Ajustar SQL mediante el Asesor de Acceso SQL • Utilizar la gestión automática de memoria compartida (ASSM) • Utilizar el Asesor de Memoria para ajustar el tamaño de los buffers de memoria • Visualizar vistas dinámicas relacionadas con el rendimiento • Solucionar problemas de objetos no válidos o no utilizables Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 13-2


Control del Rendimiento

> Control Rend. Asesor de Ajustes Asesor de Acceso Memoria Estadísticas Objetos no Validos

Problemas de asignación de memoria Contención del dispositivo de entrada/salida

Contención de recursos

? Problemas de código de aplicación

DBA

Cuellos de botella de la red

Copyright © 2005, Oracle. Todos los derechos reservados.

Control del Rendimiento Para administrar la base de datos Oracle 10g y mantenerla en ejecución correctamente, el administrador de la base de datos (DBA) debe controlar el rendimiento regularmente para localizar cuellos de botella y corregir las áreas con problemas. Existen cientos de medidas del rendimiento que un DBA puede consultar, desde el rendimiento de la red hasta la velocidad de entrada/salida (E/S) en disco o el tiempo invertido en trabajar con operaciones de aplicaciones individuales. Estas medidas del rendimiento se conocen habitualmente como métricas de base de datos. Nota: Para obtener más información sobre el rendimiento de la base de datos Oracle, consulte el curso Base de Datos Oracle 10g: Taller de Ajustes SQL.

Base de Datos Oracle 10g: Taller de Administración I 13-3


Control del Rendimiento

Copyright © 2005, Oracle. Todos los derechos reservados.

Control del Rendimiento (continuación) La página con separadores Performance de Enterprise Manager es el portal a un potente juego de herramientas de control y ajuste del rendimiento. En la primera pantalla de esta página se resumen los procesos y la actividad de la sesión activa. En el gráfico Average Active Sessions se muestra el nivel de uso de CPU y los recursos que están provocando la mayoría de los eventos de espera. En la pantalla de la diapositiva, se puede observar que se ha producido un aumento reciente del uso de CPU y de las esperas para User I/O, System I/O y Concurrency. Haga clic en cualquiera de estas categorías para obtener más información sobre las esperas. Los datos de E/S se desglosan en tipos de E/S, por ejemplo, lectura de archivo log, escritura de archivo de control, etc.

Base de Datos Oracle 10g: Taller de Administración I 13-4


Control del Rendimiento

Copyright © 2005, Oracle. Todos los derechos reservados.

Control del Rendimiento (continuación) Cuando se accede a una categoría de espera específica, se pueden ver detalles sobre intervalos concretos de cinco minutos así como el SQL en funcionamiento principal (Top Working SQL) y las sesiones en funcionamiento principales (Top Working Sessions) asociadas a ese evento de espera concreto durante ese tiempo. Esto le permitirá realizar análisis posteriores de las ralentizaciones del sistema y determinar las posibles causas.

Base de Datos Oracle 10g: Taller de Administración I 13-5


Control del Rendimiento

Copyright © 2005, Oracle. Todos los derechos reservados.

Control del Rendimiento (continuación) La entrada/salida del disco de instancia (Instance Disk I/O) y el rendimiento global de la instancia (Instance Throughput) también están reflejados en la página con separadores principal Performance.

Base de Datos Oracle 10g: Taller de Administración I 13-6


Control del Rendimiento: Top Sessions

Copyright © 2005, Oracle. Todos los derechos reservados.

Control del Rendimiento: Top Sessions Si hace clic en uno de los nombres de categoría de E/S, accederá a la página Top Consumers, en la que se muestran los principales servicios, módulos, acciones, clientes y sesiones, incluidas las estadísticas críticas como, por ejemplo, recuento de lecturas y escrituras lógica y física, recuento de análisis y recuento de ordenación. Si hace clic en uno de los nombres de categoría de E/S, la estadística asociada constituye el valor de orden de la lista. En la tabla de esta página se enumeran las sesiones ordenadas según el uso de CPU. Aquí se muestra que el usuario SH de la sesión 152 es el principal consumidor de CPU en este momento concreto.

Base de Datos Oracle 10g: Taller de Administración I 13-7


Control del Rendimiento: Top Services

Copyright © 2005, Oracle. Todos los derechos reservados.

Control del Rendimiento: Top Services En sistemas de varias capas en los que hay un servidor de aplicaciones que agrupa en pools las conexiones a la base de datos, puede que la visualización de sesiones no proporcione la información necesaria para analizar el rendimiento. La agrupación de las sesiones en nombres de servicio permite controlar el rendimiento de forma más precisa. En el ejemplo de la diapositiva, hay tres servicios: inventory, orcl y hr. Independientemente de la sesión utilizada para una solicitud concreta, si se conectó a través de uno de estos servicios, los datos de rendimiento de la sesión se capturan con el nombre de servicio. En esta lista queda claro que, de los tres servicios de aplicaciones, el servicio inventory fue el más activo durante este intervalo de cinco minutos.

Base de Datos Oracle 10g: Taller de Administración I 13-8


Asesor de Ajustes SQL: Visión General Optimizador Automático de Ajustes

Control Rend. > Asesor de Ajustes Asesor de Acceso Memoria Estadísticas Objetos no Validos

Ajustes SQL Globales

Modo de optimización de comprobación de estadísticas

Detectar estadísticas anticuadas o que falten

Modo de optimización de ajuste de planes

Ajustar el plan SQL (perfil SQL)

Modo de optimización de análisis de acceso

Agregar el índice que falta Ejecutar el Asesor de Acceso

Modo de optimización de análisis de SQL

Asesor de Ajustes SQL

Reestructurar SQL

Copyright © 2005, Oracle. Todos los derechos reservados.

Asesor de Ajustes SQL: Visión General El Asesor de Ajustes SQL es el controlador principal del proceso de ajuste. Llama al optimizador automático de ajustes (ATO) para que realice cuatro tipos específicos de análisis: • Análisis de estadísticas: El optimizador automático de ajustes comprueba todos los objetos de las consultas por si faltan estadísticas o las existentes están anticuadas y ofrece una recomendación con las estadísticas relevantes que es necesario recopilar. • Creación de perfiles SQL: ATO verifica sus propias estimaciones y recopila información auxiliar para eliminar los errores de estimación. Genera un perfil SQL con la información auxiliar y elabora una recomendación para crearlo. Al crear un perfil SQL, se permite al optimizador de consultas generar un plan ajustado a la perfección. • Análisis de rutas de acceso: ATO realiza una exploración para averiguar si es posible usar un nuevo índice que mejore de forma significativa el acceso a cada tabla de la consulta y, si procede, elabora las recomendaciones oportunas para crear esos índices. • Análisis de la estructura SQL: ATO intenta identificar las sentencias SQL que utilizan planes incorrectos y formula las sugerencias pertinentes para reestructurarlas. Los cambios sugeridos pueden ser tanto sintácticos como semánticos.

Base de Datos Oracle 10g: Taller de Administración I 13-9


Recomendaciones y Opciones del Asesor de Ajustes SQL

Copyright © 2005, Oracle. Todos los derechos reservados.

Recomendaciones y Opciones del Asesor de Ajustes SQL Una vez iniciado el Asesor de Ajustes SQL, Enterprise Manager crea automáticamente una tarea de ajuste, siempre que el usuario disponga de los privilegios de ADVISOR apropiados para ello. Enterprise Manager muestra la tarea de ajuste y las opciones automáticas por defecto en la página SQL Tuning Options. En esta página, el usuario tiene la opción de cambiar los valores automáticos por defecto relativos a la tarea de ajuste oportuna. Es importante elegir el ámbito adecuado para realizar la tarea de ajuste. Si se elige la opción Limited, el Asesor de Ajustes SQL produce recomendaciones basadas en la comprobación de estadísticas, el análisis de rutas de acceso y el análisis de la estructura SQL. No se genera ninguna recomendación de perfil SQL con la opción Limited. En cambio, al elegir la opción Comprehensive, el Asesor de Ajustes SQL producirá las mismas recomendaciones que con la opción Limited pero también llamará al optimizador en el modo de creación de perfiles SQL para crear un perfil SQL, si procede. Con la opción Comprehensive, también puede especificar un límite de tiempo para la tarea de ajuste, que por defecto es de 60 minutos. Después de seleccionar Run SQL Tuning Advisor, configure la tarea de ajuste mediante la página SQL Tuning Options. Vuelva a la página Top SQL y haga clic en la sentencia ajustada para acceder a la página SQL Details, donde se muestra el historial de recomendaciones. En este historial se muestra la tarea de ajuste terminada. Haga clic en la tarea para ver la información general de recomendaciones. Haga clic en View Recommendations para ver los detalles de la tarea. Base de Datos Oracle 10g: Taller de Administración I 13-10


Uso del Asesor de Ajustes SQL •

Utilizar el Asesor de Ajustes SQL para analizar sentencias SQL y obtener recomendaciones de rendimiento. Orígenes del Asesor de Ajustes SQL para analizar – SQL principal: Analiza las sentencias SQL principales actualmente activas – Juegos de ajustes SQL: Analiza un juego de sentencias SQL proporcionado – Instantáneas: Analiza una instantánea – Líneas base: Analiza una línea base

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso del Asesor de Ajustes SQL Puede utilizar el Asesor de Ajustes SQL para analizar sentencias SQL y obtener recomendaciones de rendimiento. Normalmente, ejecuta este asesor como acción de búsqueda de rendimiento de ADDM. Además, puede ejecutar el Asesor de Ajustes SQL cuando desee analizar las sentencias SQL principales que consumen la mayor parte del tiempo de CPU, de E/S y de memoria.

Base de Datos Oracle 10g: Taller de Administración I 13-11


Uso del Asesor de Ajustes SQL: Ejemplo

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso del Asesor de Ajustes SQL: Ejemplo Para llamar al Asesor de Ajustes SQL, realice los siguientes pasos: 1. Haga clic en Advisor Central en la región Related Links de la página inicial de la base de datos. 2. Haga clic en SQL Tuning Advisor. Aparecerá la página SQL Tuning Advisor Links. El asesor se puede ejecutar en uno de los siguientes orígenes: - SQL principal: Analiza las sentencias SQL principales actualmente activas - Juegos de ajustes SQL: Analiza un juego de sentencias SQL proporcionado - Instantáneas: Analiza una instantánea - Líneas base: Analiza una línea base 3. Seleccione Top SQL. Seleccione un intervalo de cinco minutos para analizarlo arrastrando el recuadro sombreado por el período de tiempo de destino. Seleccione una o más sentencias para analizarlas durante el período de tiempo seleccionado. 4. Haga clic en Run SQL Tuning Advisor. Aparecerá la página SQL Tuning Options donde se mostrarán las sentencias SQL en ese intervalo. Asigne un nombre y una descripción a la tarea, seleccione Comprehensive como ámbito y seleccione Inmediately como hora de inicio. Haga clic en OK. 5. Vuelva a la página Advisor Central. El estado de las tareas del asesor aparece bajo la cabecera correspondiente en la región de resultados. Espere hasta que el estado de la tarea sea Completed. Compruebe el estado haciendo clic en Refresh en el explorador. Seleccione la tarea y haga clic en View Result. Aparecerá la página SQL Tuning Result. 6. Seleccione la sentencia SQL y haga clic en View Recommendations. Base de Datos Oracle 10g: Taller de Administración I 13-12


Asesor de Ajustes SQL: Estadísticas SQL select count(*) from x where object_id < 340

select count(*) from x where object_id < 220

Cada sentencia produce un análisis pesado.

Copyright © 2005, Oracle. Todos los derechos reservados.

Estadísticas SQL El Asesor de Ajustes SQL también muestra las estadísticas de un cursor que representa una sentencia SQL. Al visualizar las estadísticas de cada uno de estos cursores, se puede ver que cada una de ellas provoca un análisis pesado de la sentencia. Esto significa que no se ha encontrado una coincidencia de la sentencia sea en la caché de biblioteca. Esto se debe al uso de literales en lugar de variables ligadas.

Base de Datos Oracle 10g: Taller de Administración I 13-13


Asesor de Ajustes SQL: Identificación de SQL Duplicados

Candidatos de variables ligadas

Copyright © 2005, Oracle. Todos los derechos reservados.

Identificación de SQL Duplicados Para identificar SQL duplicados, haga clic en Duplicate SQL en la página con separadores Performance. El SQL que se ha determinado como duplicado, excepto en cuanto a las diferencias literales y de formato, se muestran juntos. Esto le ayudará a determinar qué SQL se puede consolidar en la aplicación reduciendo así los requisitos de la caché de biblioteca y acelerando la ejecución de la sentencia.

Base de Datos Oracle 10g: Taller de Administración I 13-14


Uso del Asesor de Acceso SQL

Control Rend. Asesor de Ajustes > Asesor de Acceso Memoria Estadísticas Objetos no Validos

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso del Asesor de Acceso SQL Puede utilizar el Asesor de Acceso SQL para ajustar el esquema y mejorar el rendimiento de las consultas. Este asesor precisa que identifique una carga de trabajo SQL, que sea un juego representativo de sentencias SQL que acceda al esquema. Puede seleccionar la carga de trabajo de distintos orígenes, entre los que se incluyen la actividad SQL actual y reciente, un repositorio SQL o una carga de trabajo definida por el usuario como, por ejemplo, de un entorno de desarrollo. El Asesor de Acceso SQL puede ofrecer recomendaciones como la creación de índices y vistas materializadas para mejorar el rendimiento de las consultas para la carga de trabajo concreta. Para llamar al Asesor de Acceso SQL, realice los siguientes pasos: 1. Haga clic en Advisor Central en la región Related Links de la página inicial de la base de datos. 2. Haga clic en SQL Access para iniciar un asistente. Aparecerá la página SQL Access Advisor: Workload Source. 3. Especifique el origen de carga de trabajo y haga clic en Next. Se mostrará la página SQL Access Advisor: Recommendation Options. 4. Indique si desea que el asesor recomiende índices, vistas materializadas o ambos.

Base de Datos Oracle 10g: Taller de Administración I 13-15


Uso del Asesor de Acceso SQL (continuación) 5. Especifique el modo Limited o Comprehensive. El modo Limited se ejecuta más rápidamente al concentrarse en sentencias de mayor costo. 6. Haga clic en Next. Aparecerá la página SQL Access Advisor: Schedule. Acepte el valor por defecto de ejecución inmediata o planifique la ejecución para más tarde. 7. Haga clic en Next. Aparecerá la página SQL Access Advisor: Review. 8. Revise las opciones seleccionadas y haga clic en Submit para iniciar el trabajo. Los resultados se publican en la página Advisor Central. Las recomendaciones del Asesor de Acceso SQL se ordenan por beneficio de costo. Por ejemplo, una recomendación puede constar de un archivo de comandos SQL con una o más sentencias CREATE INDEX, que puede implementar haciendo clic en Schedule Implementation.

Base de Datos Oracle 10g: Taller de Administración I 13-16


Gestión de los Componentes de la Memoria •

Control Rend. Asesor de Ajustes Asesor de Acceso > Memoria Estadísticas Objetos no Validos

Gestión Automática de Memoria Compartida: – Se recomienda para simplificar la gestión – Le permite especificar la memoria SGA total a través de un parámetro de inicialización – Le permite al servidor de Oracle gestionar la cantidad de memoria asignada al pool compartido, al pool Java, a la caché de buffers, al pool de Streams y al pool grande

Definición manual de la gestión de memoria compartida: – Fija un tamaño para los componentes mediante varios parámetros de inicialización individuales – Utiliza el Asesor de Memoria para realizar recomendaciones Copyright © 2005, Oracle. Todos los derechos reservados.

Gestión de los Componentes de la Memoria SGA está formado por varios componentes. El tamaño de muchos de estos componentes los puede gestionar el servidor de Oracle a través del uso de la función de gestión automática de memoria compartida (ASMM). Con ello, se simplifican las tareas de gestión de la memoria. Asimismo, puede gestionar el tamaño de los componentes de manera manual mediante la definición de otros parámetros de inicialización. Si, posteriormente, el servidor de Oracle le notifica la existencia de un problema de rendimiento relacionado con el tamaño del Área Global Compartida (SGA) o del Área Global de Programa (PGA), puede utilizar el Asesor de Memoria para determinar valores nuevos y adecuados. El Asesor de Memoria puede modelar el efecto de los cambios realizados en los parámetros. También puede especificar que el servidor de Oracle ajuste de manera automática los parámetros de memoria importantes cuando cambien las condiciones. Se recomienda el ajuste automático.

Base de Datos Oracle 10g: Taller de Administración I 13-17


Activación de la Gestión Automática de Memoria Compartida (ASMM)

Haga clic en Enable para activar la gestión automática de memoria compartida.

Copyright © 2005, Oracle. Todos los derechos reservados.

Activación de la Gestión Automática de Memoria Compartida Si no ha activado esta función al configurar la base de datos, puede activarla realizando los siguientes pasos: 1. Haga clic en Memory Parameters en la región Instance de la página Administration. 2. Haga clic en Enable. Aparece la página Enable Automatic Shared Memory Management. 3. Especifique el tamaño total del área SGA. Haga clic en OK. Puede aumentar el tamaño total del área SGA posteriormente si aumenta el valor del parámetro de inicialización SGA_TARGET, pero no podrá definirlo por encima del valor especificado por el parámetro SGA_MAX_SIZE. Para obtener más información, consulte Oracle Database Administrator’s Guide. Nota: Oracle le recomienda utilizar la gestión automática de memoria compartida para simplificar las tareas de gestión de la memoria.

Base de Datos Oracle 10g: Taller de Administración I 13-18


Activación de la Gestión Automática de Memoria Compartida (continuación) Si ASMM está activada, en principio no deberá definir los parámetros de inicialización de los componentes específicos para los que gestiona la memoria. Si después de ver los efectos de las asignaciones de ASMM, decide que desea ajustar las asignaciones de determinados componentes, entonces podrá especificar los valores para esos componentes. Estos valores se tratan como tamaños mínimos de memoria para los respectivos componentes. De esta forma, se limita la cantidad de memoria disponible para el ajuste automático pero la capacidad estará disponible si el entorno necesita un tamaño especial que ASMM no incorpore. Los parámetros de inicialización que hay que tener en cuenta son los siguientes: • SHARED_POOL_SIZE • LARGE_POOL_SIZE • JAVA_POOL_SIZE • DB_CACHE_SIZE • STREAMS_POOL_SIZE

Base de Datos Oracle 10g: Taller de Administración I 13-19


Definición Manual de la Gestión de Memoria Compartida

Copyright © 2005, Oracle. Todos los derechos reservados.

Definición Manual de la Gestión de Memoria Compartida Si no utiliza la gestión automática de memoria compartida, debe proporcionar los valores para cada componente del SGA durante la instalación y la creación de base de datos. Realice lo siguiente: 1. Acceda a la página Memory Parameters haciendo clic en el enlace Memory Parameters en la región Database Configuration de la página Administration. 2. Para llamar a uno de los asesores de memoria, haga clic en Advice. 3. Haga clic en Help para visualizar la ayuda en pantalla y obtener información adicional sobre cómo funciona el Asesor de Memoria.

Base de Datos Oracle 10g: Taller de Administración I 13-20


Uso del Asesor de Memoria

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso del Asesor de Memoria El Asesor de Memoria ayuda a ajustar el tamaño de las estructuras de memoria. Puede utilizar este asesor sólo cuando esté desactivado el ajuste automático de la memoria. El Asesor de Memoria incluye tres asesores que ofrecen recomendaciones sobre las siguientes estructuras de memoria: • Pool compartido del Área Global del Sistema (SGA) • Caché de buffers de SGA • Área Global de Programa (PGA) Para llamar a los asesores de memoria, realice los siguientes pasos: 1. Haga clic en Advisor Central en la región Related Links de la página inicial de la base de datos. 2. Haga clic en Memory Advisor en la página Advisor Central. Aparecerá la página Memory Parameters. Esta página proporciona un desglose del uso de la memoria para SGA. Nota: El valor de gestión automática de memoria compartida debe estar desactivado para poder ejecutar el asesor. 3. Haga clic en Advice junto al valor de Shared Pool o de Buffer Cache para llamar a los asesores correspondientes. 4. Haga clic en PGA para acceder a la página de propiedades de PGA. Haga clic en Advice para llamar al asesor de PGA. Base de Datos Oracle 10g: Taller de Administración I 13-21


Estadísticas de Rendimiento Dinámicas Del Sistema

Específica de la Sesión

… Asesor de Acceso Memoria > Estadísticas Objetos no Validos

Específica del Servicio

V$SYSSTAT • statistic# • name • class • value • stat_id

V$SESSTAT • sid • statistic# • value

V$SERVICE_STATS • service_name_hash • service_name • stat_id • stat_name • value

V$SYSTEM_EVENT • event • total_waits • total_timeouts • time_waited • average_wait • time_waited_micro

V$SESSION_EVENT • sid • event • total_waits • total_timeouts • time_waited • average_wait • max_wait • time_waited_micro • event_id

V$SERVICE_EVENT • service_name • service_name_hash • event • event_id • total_waits • total_timeouts • time_waited • average_wait • time_waited_micro

Estadísticas acumulativas Eventos de espera

Copyright © 2005, Oracle. Todos los derechos reservados.

Estadísticas de Rendimiento Dinámicas Para diagnosticar eficazmente los problemas de rendimiento, deben estar disponibles las estadísticas. Oracle genera muchos tipos de estadísticas para distintos niveles de granularidad. A nivel de sistema, de sesión y de servicio, se calculan tanto los eventos de espera como las estadísticas acumulativas. La fila superior de las vistas son las estadísticas acumulativas. La fila inferior se compone de las vistas de eventos de espera. Cuando se analiza un problema de rendimiento en cualquiera de estos ámbitos, normalmente se observa el cambio producido en las estadísticas (valor delta) durante el período de tiempo que le interesa. Todos los eventos de espera posibles están catalogados en la vista V$EVENT_NAME. Todas las estadísticas están catalogadas en la vista V$STATNAME. Dispone de alrededor de 360 estadísticas en la base de datos Oracle.

Base de Datos Oracle 10g: Taller de Administración I 13-22


Estadísticas de Rendimiento Dinámicas (continuación) Visualización de Estadísticas del Sistema Por ejemplo: SQL> SELECT name, class, value FROM v$sysstat; NAME CLASS VALUE ------------------------------- ------ ---------... table scans (short tables) 64 135116 table scans (long tables) 64 250 table scans (rowid ranges) 64 0 table scans (cache partitions) 64 3 table scans (direct read) 64 0 table scan rows gotten 64 14789836 table scan blocks gotten 64 558542 ...

Las estadísticas del sistema se clasifican por tema de ajuste y propósito de la depuración. Las clases incluyen la actividad general de la instancia, la actividad del buffer de redo log, el bloqueo, la actividad de la caché de buffers de la base de datos, etc.

Base de Datos Oracle 10g: Taller de Administración I 13-23


Vistas de Solución de Problemas y de Ajustes Instancia/Base de Datos V$DATABASE V$INSTANCE V$PARAMETER V$SPPARAMETER V$SYSTEM_PARAMETER V$PROCESS V$BGPROCESS V$PX_PROCESS_SYSSTAT V$SYSTEM_EVENT Memoria V$BUFFER_POOL_STATISTICS V$LIBRARYCACHE V$SGAINFO V$PGASTAT

Disco V$DATAFILE V$FILESTAT V$LOG V$LOG_HISTORY V$DBFILE V$TEMPFILE V$TEMPSEG_USAGE V$SEGMENT_STATISTICS Contención V$LOCK V$UNDOSTAT V$WAITSTAT V$LATCH

Copyright © 2005, Oracle. Todos los derechos reservados.

Vistas de Solución de Problemas y de Ajustes La diapositiva muestra algunas de las vistas a las que puede acceder para determinar la causa de los problemas de rendimiento o para analizar el estado actual de la base de datos. Para obtener una descripción completa de estas vistas, consulte Oracle Database Reference Manual.

Base de Datos Oracle 10g: Taller de Administración I 13-24


Objetos No Válidos o No Utilizables

Control Rend. Asesor de Ajustes Asesor de Acceso Memoria Estadísticas > Objetos no Validos

Efecto en el Rendimiento: • Los objetos de código PL/SQL se recompilan. • Los índices se vuelven a crear.

Copyright © 2005, Oracle. Todos los derechos reservados.

Objetos No Válidos o No Utilizables El estado actual de determinados objetos de base de datos se puede ver si se consulta el diccionario de datos, que se describe en la lección titulada “Gestión de Objetos de Esquema”. Si encuentra objetos PL/SQL con un estado INVALID, la primera pregunta que debe responder es si “este objeto ha tenido alguna vez el estado VALID”. A menudo, un desarrollador de aplicaciones no realiza la limpieza del código que no funciona. Si el objeto PL/SQL no es válido debido a un error de código, poco se puede hacer hasta que se resuelve el error. Si el procedimiento fue válido en algún momento del pasado y se ha convertido en no válido recientemente, tiene dos opciones para resolver el problema: • No hacer nada. La mayor parte de los objetos PL/SQL se recompilará automáticamente si es necesario cuando se les llame. Los usuarios experimentarán un breve retraso mientras se recompilan los objetos. (En la mayor parte de los casos apenas se advierte este retraso.) • Recompile el objeto no válido manualmente. Los objetos PL/SQL no válidos se pueden recompilar manualmente con Enterprise Manager o a través de comandos SQL: ALTER PROCEDURE HR.add_job_history COMPILE;

La recompilación manual de paquetes PL/SQL necesita dos pasos: ALTER PACKAGE HR.maintainemp COMPILE; ALTER PACKAGE HR.maintainemp COMPILE BODY;

Base de Datos Oracle 10g: Taller de Administración I 13-25


Objetos No Válidos o No Utilizables (continuación) Los índices no utilizables se convierten en válidos reconstruyéndolos para volver a calcular los punteros. La reconstrucción de un índice no utilizable vuelve a crear el índice en una nueva ubicación y después borra el índice no utilizable. Este proceso se puede llevar a cabo con Enterprise Manager o a través de comandos SQL: ALTER INDEX HR.emp_empid_pk REBUILD; ALTER INDEX HR.emp_empid_pk REBUILD ONLINE; ALTER INDEX HR.email REBUILD TABLESPACE USERS;

Si se omite la cláusula TABLESPACE, el índice se vuelve a crear en el mismo tablespace en el que ya existe. La cláusula REBUILD ONLINE permite a los usuarios seguir actualizando la tabla de índices mientras tiene lugar la reconstrucción. (Sin la palabra clave ONLINE, los usuarios deben esperar a que termine la reconstrucción antes de llevar a cabo DML en la tabla afectada.) Enterprise Manager utiliza la acción de reorganización para reparar un índice UNUSABLE. Nota: La reconstrucción de un índice necesita espacio libre disponible para el proceso. Compruebe que haya espacio suficiente antes de intentar la reconstrucción. Enterprise Manager comprueba los requisitos de espacio automáticamente.

Base de Datos Oracle 10g: Taller de Administración I 13-26


Resumen En esta lección, debe haber aprendido lo siguiente: • Utilizar Enterprise Manager para controlar el rendimiento • Ajustar SQL mediante el Asesor de Ajustes SQL • Ajustar SQL mediante el Asesor de Acceso SQL • Utilizar la gestión automática de memoria compartida • Utilizar el Asesor de Memoria para ajustar el tamaño de los buffers de memoria • Visualizar vistas dinámicas relacionadas con el rendimiento • Solucionar problemas de objetos no válidos o no utilizables Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 13-27


Visión General de la Práctica: Control y Mejora del Rendimiento En esta práctica se abordan los siguientes temas: • Detección y reparación de índices no utilizables • Uso del Asesor de Ajustes SQL • Uso de la página Performance en Enterprise Manager

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 13-28


Conceptos de Copia de Seguridad y Recuperaci贸n

Copyright 漏 2005, Oracle. Todos los derechos reservados.


Objetivos Al finalizar esta lección, debería estar capacitado para lo siguiente: • Identificar los tipos de fallos que se pueden producir en la base de datos Oracle • Describir las formas de ajustar la recuperación de instancias • Identificar la importancia de los puntos de control, archivos redo log y archivos archive log • Configurar el modo ARCHIVELOG

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 14-2


Parte de su Trabajo Las funciones del administrador son: • Proteger la base de datos contra fallos siempre que sea posible • Aumentar el tiempo medio entre fallos (MTBF) • Disminuir el tiempo medio para la recuperación (MTTR) • Minimizar la pérdida de datos

Copyright © 2005, Oracle. Todos los derechos reservados.

Parte de su Trabajo El objetivo del administrador de la base de datos (DBA) es asegurarse de que la base de datos está abierta y disponible cuando los usuarios la necesiten. Para conseguirlo, el DBA (que suele trabajar con el Administrador del Sistema): • Se anticipa y trabaja para evitar causas comunes de fallo. • Trabaja para aumentar el tiempo medio entre fallos (MTBF), garantizando que el hardware sea lo más fiable posible, que los componentes críticos estén protegidos por redundancia y que el mantenimiento del sistema operativo se realice a tiempo. La base de datos Oracle proporciona opciones de configuración avanzadas para aumentar el MTBF, que incluyen: - Real Application Clusters (se tratará en el curso Base de Datos Oracle 10g: Real Application Clusters) - Streams (se tratará en el curso Base de Datos Oracle 10g: Implementación de Streams) • Disminuye el tiempo medio para la recuperación (MTTR), mediante la realización de procedimientos de recuperación con antelación, y la configuración de copias de seguridad para que estén disponibles de inmediato cuando sean necesarias. • Minimiza la pérdida de datos. Los DBA, que siguen las recomendaciones aceptadas, pueden configurar sus bases de datos para que ninguna transacción confirmada jamás se pierda. Entre las entidades que permiten garantizar esto se incluyen: - Los archivos archive log (se tratarán en esta lección) - Las bases de datos en espera y Oracle Data Guard (se tratarán en el curso Base de Datos Oracle 10g: Administración de Data Guard) Base de Datos Oracle 10g: Taller de Administración I 14-3


Categorías de Fallos Los fallos normalmente se pueden dividir en las siguientes categorías: • Fallo de sentencia • Fallo de proceso de usuario • Fallo de red • Error del usuario • Fallo de la instancia • Fallo del medio físico

Copyright © 2005, Oracle. Todos los derechos reservados.

Categorías de Fallos Los fallos se pueden dividir en unas amplias categorías: • Fallo de sentencia: Fallo de una única operación de base de datos (select, insert, update, delete). • Fallo de proceso de usuario: Fallo de una única sesión de base de datos. • Fallo de red: Se pierde la conectividad a la base de datos. • Error del usuario: Un usuario termina correctamente una operación, pero ésta no es correcta (borrado de una tabla o introducción de datos erróneos). • Fallo de la instancia: La instancia de la base de datos se cierra de forma inesperada. • Fallo del medio físico: Se pierden uno o más archivos de base de datos (es decir, se han suprimido los archivos o el disco ha fallado).

Base de Datos Oracle 10g: Taller de Administración I 14-4


Fallo de Sentencia Problemas Típicos

Posibles Soluciones

Intentos de introducción de datos no válidos en una tabla

Trabaje con los usuarios para validar y corregir los datos.

Intentos para realizar operaciones con privilegios insuficientes

Proporcione privilegios de objeto o del sistema adecuados.

Fallo al intentar asignar espacio

• Active la asignación de espacio reanudable. • Aumente la cuota de propietario. • Agregue espacio al tablespace.

Errores de lógica en aplicaciones

Trabaje con los desarrolladores para corregir errores del programa.

Copyright © 2005, Oracle. Todos los derechos reservados.

Fallo de Sentencia Cuando falla una única operación de base de datos, la participación del DBA puede ser necesaria para corregir errores con privilegios de usuario o de asignación de espacio de la base de datos.

Base de Datos Oracle 10g: Taller de Administración I 14-5


Fallo de Proceso de Usuario Problemas Típicos

Posibles Soluciones

Un usuario realiza una desconexión anormal.

Normalmente no es necesario que un DBA realice una acción para resolver fallos de proceso de usuario. Los procesos en segundo plano de la instancia realizan un rollback de cambios sin confirmar y liberan los bloqueos.

La sesión de un usuario se termina de forma anormal. Un usuario sufre un error del programa que termina la sesión.

Observe lo que sucede.

Copyright © 2005, Oracle. Todos los derechos reservados.

Fallo de Proceso de Usuario Los procesos de usuario que se desconectan de forma anormal de la instancia pueden tener trabajo sin confirmar en curso al que es necesario realizar un rollback. El proceso en segundo plano de control de procesos (PMON) sondea periódicamente los procesos de servidor para garantizar que sus sesiones siguen conectadas. Si PMON encuentra un proceso de servidor cuyo usuario ya no está conectado, se recupera de cualquier transacción en curso. También realiza un rollback de cambios sin confirmar y libera los bloqueos producidos por la sesión fallida. No debería ser necesaria la intervención de un DBA para la recuperación de un fallo de proceso de usuario, pero el administrador debe observar lo que sucede. Uno o dos usuarios que se desconectan de forma anormal no debe ser motivo de preocupación. Es normal un pequeño porcentaje de fallos de procesos de usuario. Los fallos constantes y sistémicos indican otros problemas. Un gran porcentaje de desconexiones anormales puede indicar que es necesaria la formación de usuarios (lo que incluye enseñarles a desconectarse en lugar de tan sólo terminar sus programas). También puede ser un indicio de problemas en la red o en aplicaciones.

Base de Datos Oracle 10g: Taller de Administración I 14-6


Fallo de Red Problemas Típicos

Posibles Soluciones

Fallo del listener.

Configure un listener de copia de seguridad y operaciones de failover de tiempo de conexión.

Fallo de la tarjeta de interfaz de red (NIC).

Configure varias tarjetas de red.

Fallo de la conexión de red.

Configure una conexión de red de copia de seguridad.

Copyright © 2005, Oracle. Todos los derechos reservados.

Fallo de Red La mejor solución para fallos de red es proporcionar rutas de acceso redundantes para las conexiones de red. Los listeners de copia de seguridad, la conexión de red y las tarjetas de interfaz de red reducen la posibilidad de fallos de red que afecten a la disponibilidad del sistema.

Base de Datos Oracle 10g: Taller de Administración I 14-7


Error del Usuario Causas Típicas

Posibles Soluciones

Un usuario suprime o modifica datos involuntariamente.

Realice un rollback o utilice una consulta de flashback para la recuperación.

Un usuario borra una tabla. Recupere la tabla de la papelera de reciclaje.

Oracle LogMiner

Copyright © 2005, Oracle. Todos los derechos reservados.

Error del Usuario Puede que el usuario suprima o modifique datos involuntariamente. Cuando esto suceda, es posible que el DBA tenga que ayudar a los usuarios en la recuperación del error. Si los usuarios aún no han confirmado ni salido del programa, pueden simplemente realizar un rollback de la operación. Si los usuarios ya han confirmado los cambios, se pueden utilizar consultas de flashback para determinar cuáles eran los valores anteriores (y, a continuación, se pueden actualizar los datos para restaurar la información original): SQL> SELECT salary FROM employees WHERE employee_id=100; SALARY -----25 SQL> SELECT salary FROM employees 2 AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL’10’ minute) 3 WHERE employee_id=100; SALARY -----24000

En los casos en los que no son posibles las consultas de flashback porque se ha superado el período de retención de deshacer, el DBA todavía puede recuperar la información original mediante Oracle LogMiner. Base de Datos Oracle 10g: Taller de Administración I 14-8


Error del Usuario (continuación) Puede utilizar Oracle LogMiner para consultar redo logs en línea y archivados mediante una interfaz SQL. Los datos de transacción pueden mantenerse en redo logs en línea durante más tiempo que en los segmentos de deshacer y, si ha configurado el archivado de información de redo, ésta se mantendrá hasta que suprima los archivos archivados. Oracle LogMiner se trata en el curso Base de Datos Oracle 10g: Taller de Administración II y en el manual de referencia Oracle Database: Utilities. Los usuarios que borren una tabla pueden recuperarla de la papelera de reciclaje mediante una operación de flashback de la tabla anterior al borrado. Para obtener más instrucciones, consulte la lección titulada “Realización de Flashback”. Si la papelera de reciclaje ya se ha depurado o si el usuario borró la tabla con la opción PURGE, aún se puede recuperar la tabla borrada mediante la recuperación point-in-time (PITR) si la base de datos se ha configurado de forma adecuada. PITR se trata en el curso Base de Datos Oracle 10g: Taller de Administración II y en Oracle Database: Backup and Recovery Advanced User’s Guide.

Base de Datos Oracle 10g: Taller de Administración I 14-9


Fallo de la Instancia Causas Típicas

Posibles Soluciones

Cortes en el suministro eléctrico

Reinicie la instancia mediante el comando “startup”. La recuperación de un fallo de instancia es automática e incluye la aplicación de transacciones pendientes de los redo logs y la realización de un rollback de transacciones sin confirmar.

Fallo de hardware

Fallo de uno de los procesos en segundo plano Procedimientos de cierre de emergencia

Investigue las causas del fallo mediante el log de alertas, los archivos de rastreo y Enterprise Manager.

Copyright © 2005, Oracle. Todos los derechos reservados.

Fallo de la Instancia Se produce un fallo de la instancia cuando la instancia de la base de datos se cierra antes de la sincronización de todos los archivos de base de datos. Se puede producir un fallo de la instancia debido a un fallo de hardware o de software, o bien por el uso de los comandos de cierre de emergencia SHUTDOWN ABORT y STARTUP FORCE. La participación del administrador en la recuperación del fallo de la instancia se suele limitar a reiniciar la instancia y a trabajar para evitar que se vuelva a producir.

Base de Datos Oracle 10g: Taller de Administración I 14-10


Procesos en Segundo Plano y Recuperación: Punto de Control (CKPT) CKPT es responsable de: • La señalización DBWn en los puntos de control • La actualización de las cabeceras de los archivos de datos con información de los puntos de control • La actualización de los archivos de control con información de los puntos de control Punto de control (CKPT)

SGA Caché de buffers de la base de datos

Escritor de la base de datos (DBWn)

Archivo de control Archivos de datos

Copyright © 2005, Oracle. Todos los derechos reservados.

Procesos en Segundo Plano y Recuperación: Punto de Control (CKPT) Para comprender la recuperación de instancias, es necesario entender el funcionamiento de determinados procesos en segundo plano. Cada tres segundos (o menos), el proceso CKPT almacena datos en el archivo de control para documentar qué bloques de datos modificados ha escrito DBWn del SGA al disco. Esto se denomina “punto de control”. El objetivo de un punto de control consiste en identificar ese lugar en el archivo redo log en línea en el que va a empezar la recuperación de la instancia (denominado “posición de punto de control”). En el caso de un cambio de log, el proceso CKPT también escribe esta información de punto de control en las cabeceras de los archivos de datos. Los puntos de control existen por los siguientes motivos: • Para asegurar que los bloques de datos modificados en memoria se escriben en el disco de forma regular para que los datos no se pierdan en el caso de que se produzca un fallo del sistema o de la base de datos. • Para reducir el tiempo que se necesita para recuperar instancias. Se necesita procesar únicamente las entradas del archivo redo log que sigan al último punto de control para que se puedan recuperar. • Para garantizar que todos los datos confirmados se han escrito en los archivos de datos durante el cierre. Base de Datos Oracle 10g: Taller de Administración I 14-11


Procesos en Segundo Plano y Recuperación: Punto de Control (CKPT) (continuación) En la información de punto de control que escribe el proceso CKPT se incluye la posición de punto de control, el número de cambio del sistema, la ubicación en el archivo redo log en línea para empezar la recuperación, la información sobre los logs, etc. Nota: El proceso CKPT no escribe bloques de datos en el disco ni bloques de redo en los archivos redo log en línea.

Base de Datos Oracle 10g: Taller de Administración I 14-12


Procesos en Segundo Plano y Recuperación: Archivos Redo Log y Escritor de Log SGA Buffer de redo log Escritor de log (LGWR)

Grupo 1 de redo log

Grupo 2 de redo log

Los archivos redo log: • Registran cambios de la base de datos • Se deben multiplexar como protección ante pérdidas El escritor de log escribe: • Durante la confirmación • Cuando está un tercio lleno Grupo 3 3 de • Cada tres segundos Grupo redo log • Antes de que DBWn escriba

Copyright © 2005, Oracle. Todos los derechos reservados.

Procesos en Segundo Plano y Recuperación: Archivos Redo Log y Escritor de Log Los archivos redo log registran cambios en la base de datos como resultado de las transacciones y las acciones internas del servidor de Oracle. (Una transacción es una unidad de trabajo lógica, que consta de una o más sentencias SQL que ejecuta un usuario.) Los archivos redo log protegen la base de datos de pérdidas de integridad debidas a fallos del sistema provocados por interrupciones de alimentación, fallos de disco, etc. Los archivos redo log se deben multiplexar para garantizar que la información almacenada en ellos no se pierda en caso de un fallo de disco. El redo log se compone de grupos de archivos redo log. Un grupo está formado por un archivo redo log y sus copias multiplexadas. Cada copia idéntica se considera miembro de dicho grupo y cada grupo se identifica mediante un número. El proceso de escritor de log (LGWR) escribe registros de redo desde el buffer de redo log a todos los miembros de un grupo de redo logs hasta que se llena el archivo o se solicita una operación de cambio de log. A continuación, se cambia y se escribe en los archivos del siguiente grupo. Los grupos de redo logs se utilizan de forma circular. Práctica recomendada: Si es posible, los archivos redo log multiplexados deben residir en discos distintos.

Base de Datos Oracle 10g: Taller de Administración I 14-13


Procesos en Segundo Plano y Recuperación: Proceso de Archivado (ARCn) El proceso de archivado (ARCn): • Es un proceso en segundo plano opcional • Archiva automáticamente los archivos redo log en línea cuando se ha definido el modo ARCHIVELOG para la base de datos • Conserva el registro de todos los cambios realizados en la base de datos

SGA Buffer de redo log

Escritor de log (LGWR)

Redo log en línea

Archivos archive log

Proceso de archivado (ARCn)

Copyright © 2005, Oracle. Todos los derechos reservados.

Procesos en Segundo Plano y Recuperación: Proceso de Archivado (ARCn) ARCn es un proceso en segundo plano opcional. Sin embargo, es crucial para recuperar una base de datos tras la pérdida de un disco. Conforme se llenan los archivos redo log en línea, la instancia de Oracle empieza a escribir en el siguiente archivo redo log en línea. El proceso de cambio de un archivo redo log en línea a otro se denomina cambio de log. El proceso ARCn empieza a realizar copias de seguridad o a archivar el grupo de log lleno cada vez que se cambia de log. Archiva automáticamente el archivo redo log en línea antes de que se pueda volver a utilizar el log para que todos los cambios realizados en la base de datos se mantengan. Esto permite la recuperación de la base de datos hasta el punto de fallo, incluso si la unidad de disco está dañada. Una de las decisiones importantes que un DBA debe tomar es si debe configurar la base de datos para que funcione en el modo ARCHIVELOG o en el modo NOARCHIVELOG. • En el modo NOARCHIVELOG, los archivos redo log en línea se sobrescriben cada vez que se produce un cambio de log. • En el modo ARCHIVELOG, los grupos inactivos de archivos redo log en línea llenos se deben archivar antes de que se puedan volver a utilizar. Nota: El modo ARCHIVELOG es esencial para la mayoría de las estrategias de copia de seguridad (y es muy sencillo de configurar). Base de Datos Oracle 10g: Taller de Administración I 14-14


Recuperación de Instancias La recuperación de fallos o de instancias: • Se produce por intentos de apertura de una base de datos cuyos archivos no se sincronizan al cerrar • Es automática • Utiliza información almacenada en los grupos de redo logs para sincronizar los archivos • Implica dos operaciones distintas: – Aplicación de transacciones pendientes: Los archivos de datos se restauran a su estado anterior al fallo de la instancia. – Realización de un rollback: Los cambios realizados pero no confirmados vuelven a su estado original. Copyright © 2005, Oracle. Todos los derechos reservados.

Recuperación de Instancias La base de datos Oracle 10g se recupera automáticamente de los fallos de instancia. Todo lo que tiene que hacer el DBA es iniciar la instancia de forma normal. La instancia monta los archivos de control e intenta abrir los archivos de datos. Cuando descubre que los archivos de datos no se han sincronizado en el momento del cierre, la instancia utiliza información incluida en los grupos de redo logs para aplicar las transacciones pendientes en el momento del cierre en los archivos de datos y, a continuación, (puesto que también se aplicarán los cambios pendientes en el tablespace de deshacer) realizar un rollback de transacciones sin confirmar.

Base de Datos Oracle 10g: Taller de Administración I 14-15


Fases de la Recuperación de Instancias 1. Archivos de datos no Instancia sincronizados SGA 2. Aplicación de transacciones pendientes (redo) Procesos en segundo 3. Datos confirmados y sin plano confirmar en archivos 4. Realización de rollback Archivo de Archivo Grupo de (deshacer) Control de datos redo logs SCN: 143 SCN: 140 SCN: 74-101 5. Datos confirmados en archivos Deshacer

Archivo de datos SCN: 129

Archivo de Control SCN: 143

Archivo de datos SCN: 99

Base de datos

Grupo de redo logs SCN: 102-143

Copyright © 2005, Oracle. Todos los derechos reservados.

Fases de la Recuperación de Instancias Para que una instancia abra un archivo de datos, el número de cambio del sistema (SCN) incluido en la cabecera de dicho archivo debe coincidir con el SCN actual almacenado en los archivos de control de la base de datos. Si los números no coinciden, la instancia aplica datos de redo de los redo logs en línea, “rehaciendo” por orden las transacciones hasta que los archivos de datos estén actualizados. Después de sincronizar todos los archivos de datos con los archivos de control, se abre la base de datos y los usuarios pueden conectarse. Al aplicar los datos de redo, se aplican todas las transacciones para poner la base de datos en el estado que tenía en el momento del fallo. Esto suele incluir transacciones que están en curso pero que aún no se han confirmado. Una vez abierta la base de datos, se realiza un rollback de dichas transacciones sin confirmar. Al final de la fase de rollback de recuperación de la instancia, los archivos de datos contienen sólo datos confirmados.

Base de Datos Oracle 10g: Taller de Administración I 14-16


Ajuste de la Recuperación de Instancias •

Durante la recuperación de instancias, las transacciones entre la posición de punto de control y el final de redo log se deben aplicar a los archivos de datos. Para ajustar la recuperación de instancias, controle la diferencia entre la posición de punto de control y el final de redo log. Posición de punto de control

Final de redo log

Recuperación de instancias

Transacciones

Copyright © 2005, Oracle. Todos los derechos reservados.

Ajuste de la Recuperación de Instancias La información de transacciones siempre se registra en los grupos de redo logs antes de que la instancia devuelva commit complete para una transacción. La información de los grupos de redo logs garantiza que la transacción pueda recuperarse en caso de fallo. También es necesario escribir la misma información de transacciones en el archivo de datos. La escritura del archivo de datos suele suceder poco después de que la información se registre en los grupos de redo logs porque el proceso de escritura del archivo de datos es mucho más lento que las escrituras de redo. (Las escrituras aleatorias en archivos de datos son más lentas que las escrituras en serie en archivos redo log.) Cada tres segundos, el proceso de punto de control registra información en el archivo de control acerca de la posición del punto de control en el redo log. Por lo tanto, la base de datos Oracle sabe que todas las entradas de redo log registradas antes de este punto no son necesarias para la recuperación de la base de datos. En el gráfico de la diapositiva, los bloques rayados aún no se han escrito en el disco. El tiempo necesario para la recuperación de instancias es el mismo que para pasar los archivos de datos de su último punto de control al último SCN registrado en el archivo de control. El administrador controla dicho tiempo mediante la definición de un destino de MTTR (en segundos) y mediante el tamaño de los grupos de redo logs. La distancia entre la posición del punto de control y el final del grupo de redo logs nunca puede ser superior al 90% del grupo de redo log más pequeño. Base de Datos Oracle 10g: Taller de Administración I 14-17


Uso del Asesor de MTTR • • •

Especifique el tiempo deseado en segundos o minutos. El valor por defecto es 0 (desactivado). El valor máximo es de 3.600 segundos (una hora).

Copyright © 2005, Oracle. Todos los derechos reservados.

Asesor de MTTR Si necesita ayuda para definir el destino de MTTR, seleccione Enterprise Manager > Administration > Advisor Central > MTTR Advisor. Este asesor convierte el valor FAST_START_MTTR_TARGET en varios parámetros para permitir que se recupere la instancia en el momento deseado o lo más cercano posible a ese momento. La definición explícita del parámetro FAST_START_MTTR_TARGET en 0 desactiva el ajuste automático de puntos de control. La definición explícita del parámetro FAST_START_MTTR_TARGET en un valor distinto a 0 también activa el asesor de redo log. El parámetro FAST_START_MTTR_TARGET se debe definir en un valor que soporte el acuerdo de nivel de servicio del sistema. Si el valor del destino de MTTR es pequeño, aumenta la sobrecarga de E/S debido a escrituras adicionales de archivo de datos (lo que afecta al rendimiento). Sin embargo, si el valor del destino de MTTR es demasiado grande, la instancia tarda demasiado en recuperarse tras un fallo.

Base de Datos Oracle 10g: Taller de Administración I 14-18


Fallo del Medio Físico Causas Típicas

Posibles Soluciones

Fallo de la unidad de disco

1. Restaure el archivo afectado a partir de la copia de seguridad. 2. Si es necesario, informe a la base de datos sobre una nueva ubicación del archivo. 3. Si es necesario, recupere el archivo aplicando la información de redo.

Fallo del controlador de disco Supresión o corrupción de un archivo de base de datos

Copyright © 2005, Oracle. Todos los derechos reservados.

Fallo del Medio Físico Oracle Corporation define el fallo del medio físico como cualquier fallo resultante de la pérdida o corrupción de uno o más archivos de base de datos (archivo de datos, de control o redo log). Para la recuperación de un fallo del medio físico es necesario restaurar y recuperar los archivos que falten. Para garantizar que la base de datos se pueda recuperar de un fallo del medio físico, siga las recomendaciones que se indican en las páginas siguientes.

Base de Datos Oracle 10g: Taller de Administración I 14-19


Configuración de Recuperabilidad Para configurar la base de datos para una máxima recuperabilidad, debe: • Planificar copias de seguridad periódicas • Multiplexar los archivos de control • Multiplexar los grupos de redo logs • Retener copias archivadas de redo logs

Copyright © 2005, Oracle. Todos los derechos reservados.

Configuración de Recuperabilidad Para proporcionar la mejor protección de los datos, debe realizar lo siguiente: • Planificar copias de seguridad periódicas: La mayoría de fallos del medio físico necesitan que restaure el archivo perdido o dañado a partir de una copia de seguridad. • Multiplexar los archivos de control: Todos los archivos de control asociados a una base de datos son idénticos. La recuperación de la pérdida de un único archivo de control no es difícil. La recuperación de la pérdida de todos los archivos de control supone un mayor reto. Para protegerse contra la pérdida de todos los archivos de control, tenga al menos tres copias de dichos archivos. • Multiplexar los grupos de redo logs: Para recuperarse del fallo de la instancia o del medio físico, se utiliza la información de redo log para aplicar los cambios pendientes de archivos de datos hasta la última transacción confirmada. Si los grupos de redo logs confían en un único archivo redo log, la pérdida de dicho archivo significa que es probable que se pierdan esos datos. Asegúrese de que existen al menos tres copias de cada grupo de redo logs, si es posible, en controladores de disco distintos. • Retener copias archivadas de redo logs: Si un archivo se pierde y se restaura de una copia de seguridad, la instancia debe aplicar la información de redo para actualizar el archivo hasta el último SCN incluido en el archivo de control. Con el valor por defecto, la base de datos sobrescribe la información de redo después de que se haya escrito en los archivos de datos. La base de datos se puede configurar para que retenga la información de redo en copias archivadas de los redo logs. Esto se denomina poner la base de datos en modo ARCHIVELOG. Base de Datos Oracle 10g: Taller de Administración I 14-20


Archivos de Control Protéjase contra un fallo de la base de datos mediante la multiplexión de archivos de control. Se recomienda que la base de datos tenga: • Al menos dos copias (Oracle recomienda tres) del archivo de control • Cada copia en un disco independiente • Al menos una copia en un controlador de disco independiente

Archivos de Control Copyright © 2005, Oracle. Todos los derechos reservados.

Archivos de Control Un archivo de control es un pequeño archivo binario que describe la estructura de la base de datos. Debe estar disponible para que el servidor de Oracle escriba en él siempre que se monte o se abra la base de datos. Sin este archivo, la base de datos no se puede montar y es necesario recuperar o volver a crear el archivo de control. La base de datos debe tener un mínimo de dos archivos de control (es preferible tres) en distintos discos para minimizar el impacto de la pérdida de un archivo de control. Si la base de datos se ha creado con el Asistente de Configuración de Bases de Datos (DBCA), tendrá tres archivos de control (a no ser que lo haya modificado antes de crear la base de datos). La pérdida de un único archivo de control provoca que la instancia falle porque todos los archivos de control deben estar disponibles en todo momento, aunque la recuperación es tan sencilla como copiar uno de los demás archivos de control. Es un poco más difícil recuperarse de la pérdida de todos los archivos de control, pero no suele ser de gran repercusión.

Base de Datos Oracle 10g: Taller de Administración I 14-21


Archivos Redo Log Multiplezar grupos de redo logs para protegerse contra fallos del medio físico y la pérdida de datos. Se recomienda que los grupos de redo logs tengan: • Al menos dos miembros (archivos) por grupo • Cada miembro en una unidad de disco independiente • Cada miembro en un controlador de disco independiente Nota: El rendimiento se ve altamente afectado por la escritura en redo logs.

Disco 1

Miembro 1

Miembro 2

Miembro 1

Disco 2

Miembro 2 Grupo 1

Miembro 1 Grupo 2

Miembro 2 Grupo 3

Copyright © 2005, Oracle. Todos los derechos reservados.

Archivos Redo Log Los grupos de redo logs están formados por uno o más archivos redo log. Cada archivo log de un grupo es un duplicado de los otros. Oracle recomienda que los grupos de redo logs tengan al menos dos archivos por grupo, con los archivos distribuidos en discos o controladores independientes para que ningún fallo del equipo destruya un grupo de logs completo. La pérdida de un grupo de logs completo es uno de los posibles fallos del medio físico más graves porque puede producir la pérdida de datos. La pérdida de un único miembro de un grupo de logs con varios miembros es insignificante y no afecta al funcionamiento de la base de datos; sólo se publicará una alerta en el log de alertas. La recuperación de la pérdida de un grupo de logs completo necesita técnicas de recuperación avanzadas y se tratará en Base de Datos Oracle 10g: Taller de Administración II. Recuerde que los redo logs influyen mucho en el rendimiento de la base de datos porque una confirmación no se puede terminar hasta que la información de transacciones se haya escrito en los logs. Debe colocar los archivos redo log en los discos más rápidos que sirvan los controladores más rápidos. Si es posible, no coloque ningún otro archivo de base de datos en los mismos discos que los archivos redo log. Puesto que sólo se escribe un grupo en un momento determinado, no hay ningún problema en tener miembros de varios grupos en el mismo disco.

Base de Datos Oracle 10g: Taller de Administración I 14-22


Multiplexión del Redo Log

Copyright © 2005, Oracle. Todos los derechos reservados.

Multiplexión del Redo Log Para multiplexar el redo log, agregue un miembro a un grupo de logs existente. Para agregar un miembro a un grupo de redo logs (con la base de datos abierta y sin que tenga impacto en el rendimiento del usuario), realice los siguientes pasos: 1. Acceda a la página Redo Log Groups. 2. Seleccione un grupo y haga clic en el botón Edit o haga clic en el enlace del nombre del grupo. Aparece la página Edit Redo Log Group. 3. En la región Redo Log Members, haga clic en Add. Se mostrará la página Add Redo Log Member. 4. Introduzca el nombre de archivo y el directorio de archivos. Haga clic en Continue. Nota: Se recomienda que almacene los miembros en discos independientes para protegerse contra la pérdida total de entradas de redo log en caso de fallo de un disco. Repita estos pasos para cada uno de los grupos existentes. Cuando agrega el miembro del redo log a un grupo, el estado del grupo se marca como INVALID. Éste es el estado esperado porque aún no se ha escrito en un miembro del grupo. Cuando se produce un cambio de log y el grupo no válido se convierte en el actual, el estado cambia a CURRENT.

Base de Datos Oracle 10g: Taller de Administración I 14-23


Archivos Archive Log Para mantener la información de redo, cree copias archivadas de los archivos redo log, realizando los siguientes pasos: 1. Especifique la regla de nomenclatura de los archivos archive log. 2. Especifique una o más ubicaciones de los archivos archive log. 3. Cambie la base de datos al modo ARCHIVELOG.

Archivos redo log en línea

Archivos archive log

Copyright © 2005, Oracle. Todos los derechos reservados.

Archivos Archive Log La instancia trata los grupos de redo logs en línea como un buffer circular en el que almacenar la información de transacciones, llenando un grupo y, a continuación, pasando al siguiente. Después de que se haya escrito en todos los grupos, la instancia empieza a sobrescribir la información del primer grupo de logs. Para configurar la base de datos para la máxima recuperabilidad, debe indicarle que realice una copia del grupo de redo logs en línea antes de permitir que se sobrescriban. Estas copias se denominan archive logs. Para facilitar la creación de archivos archive log, realice los siguientes pasos: 1. Especifique una regla de nomenclatura para los archive logs. 2. Especifique un destino o destinos para almacenar los archive logs. 3. Ponga la base de datos en modo ARCHIVELOG. Nota: El destino debe existir antes de poner la base de datos en modo ARCHIVELOG. Cuando se especifica un directorio como destino, debe haber una barra al final del nombre del directorio.

Base de Datos Oracle 10g: Taller de Administración I 14-24


Archivo Archive Log: Nomenclatura y Destinos

Copyright © 2005, Oracle. Todos los derechos reservados.

Archivo Archive Log: Nomenclatura y Destinos Para configurar la nomenclatura y los destinos de archivos archive log, haga clic en Configure Recovery Settings en la página Maintenance. Los archivos archive log deben tener un nombre único para evitar sobrescribir archivos log antiguos. Especifique el formato de nomenclatura como se muestra en la diapositiva. Para ayudar a crear nombres de archivo únicos, la base de datos Oracle 10g permite varios caracteres comodín en el formato de nombre: • %s: Incluye el número de secuencia de log como parte del nombre de archivo • %t: Incluye el número de thread como parte del nombre de archivo • %r: Incluye el identificador de resetlogs para asegurarse de que el nombre del archivo archive log sea único incluso después de determinadas técnicas de recuperación avanzadas que restablecen los números de secuencia de log • %d: Incluye el identificador de base de datos como parte del nombre de archivo El formato debe incluir %s, %t y %r. El uso de %d es opcional, pero se debe incluir si varias bases de datos comparten el mismo destino de archive logs.

Base de Datos Oracle 10g: Taller de Administración I 14-25


Archivo Archive Log: Nomenclatura y Destinos (continuación) Los archivos archive log se pueden escribir en un máximo de diez destinos distintos. Los destinos pueden ser locales (un directorio) o remotos (un alias de Red de Oracle para una base de datos en espera). Los destinos locales deben terminar en una barra “/” (o barra invertida “\” si se utiliza Windows). El destino por defecto (número 10) envía los archivos archive log a una ubicación determinada por el parámetro de inicialización DB_RECOVERY_FILE_DEST. DB_RECOVERY_FILE_DEST también se denomina área de recuperación de flash. Este destino se puede ver en la parte inferior de la página de propiedades Configure Recovery Settings como ubicación del área de recuperación de flash. Si no desea que se envíen los archivos a esta ubicación, suprima USE_DB_RECOVERY_FILE_DEST. Para cambiar los valores de recuperación, debe conectarse como SYSDBA o SYSOPER.

Base de Datos Oracle 10g: Taller de Administración I 14-26


Modo ARCHIVELOG

Para poner la base de datos en modo ARCHIVELOG, realice los siguientes pasos: 1. Active la casilla de control del modo ARCHIVELOG. 2. Haga clic en Apply. La base de datos sólo se puede definir en el modo ARCHIVELOG desde el estado MOUNT. 3. Haga clic en Yes cuando se le pregunte si desea reiniciar la base de datos. 4. Cree una copia de seguridad de la base de datos.

Las bases de datos en modo ARCHIVELOG tienen acceso a todas las opciones de copia de seguridad y de recuperación.

Copyright © 2005, Oracle. Todos los derechos reservados.

Modo ARCHIVELOG Al poner la base de datos en el modo ARCHIVELOG los redo logs no se sobrescriben hasta que no se han archivado. El siguiente comando SQL se utiliza para poner la base de datos en modo ARCHIVELOG: SQL> ALTER DATABASE ARCHIVELOG;

Este comando se puede emitir sólo mientras la base de datos tiene el estado MOUNT, por lo que la instancia se debe reiniciar para terminar este último paso. Se le pedirá que indique las credenciales del sistema operativo y de la base de datos durante el reinicio de la base de datos. Las credenciales de base de datos deben ser las de un usuario con privilegios SYSDBA. Una vez reiniciada la instancia, se activarán los cambios realizados en los procesos de archivado, formato de log y destinos de log. Con la base de datos en modo NOARCHIVELOG (modo por defecto), la recuperación sólo es posible hasta el momento en que se realizó la última copia de seguridad. Todas las transacciones realizadas después se perderán. En el modo ARCHIVELOG, la recuperación es posible hasta el momento en que se realizó la última confirmación. La mayoría de bases de datos de producción se ejecutan en modo ARCHIVELOG. Nota: Realice una copia de seguridad de la base de datos después de haber cambiado al modo ARCHIVELOG porque sólo podrá recuperar la base de datos de la última copia de seguridad realizada en ese modo. Base de Datos Oracle 10g: Taller de Administración I 14-27


Resumen En esta lección, debe haber aprendido lo siguiente: • Identificar los tipos de fallos que se pueden producir en la base de datos Oracle • Describir las formas de ajustar la recuperación de instancias • Identificar la importancia de los puntos de control, archivos redo log y archivos archive log • Configurar el modo ARCHIVELOG

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 14-28


Visión General de la Práctica: Configuración de Recuperabilidad En esta práctica se abordan los siguientes temas: • Multiplexión de los archivos de control • Multiplexión de los grupos de redo logs • Puesta de la base de datos en modo ARCHIVELOG •

Garantía de que se crean archive logs redundantes

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 14-29


Realizaci贸n de Copias de Seguridad de Bases de Datos

Copyright 漏 2005, Oracle. Todos los derechos reservados.


Objetivos Al finalizar esta lección, debería estar capacitado para lo siguiente: • Crear copias de seguridad de bases de datos consistentes • Realizar copias de seguridad de bases de datos sin cerrarlas • Crear copias de seguridad incrementales • Automatizar copias de seguridad de bases de datos • Controlar el área de recuperación de flash

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 15-2


Soluciones de Copia de Seguridad: Visión General Las copias de seguridad se pueden realizar mediante: • Recovery Manager • Oracle Secure Backup • Un supuesto gestionado por usuario

Copyright © 2005, Oracle. Todos los derechos reservados.

Soluciones de Copia de Seguridad: Visión General Como verá en el resto de esta lección, Recovery Manager (RMAN) es el método recomendado para realizar copias de seguridad de su base de datos Oracle. Oracle Secure Backup complementa la funcionalidad existente al agregar las capacidades de copias de seguridad en cintas y de red. Las copias de seguridad gestionadas por usuario se basan en archivos de comandos, que un DBA tendría que escribir. Esta opción se está dejando de utilizar porque es más laboriosa.

Base de Datos Oracle 10g: Taller de Administración I 15-3


Oracle Secure Backup •

Oracle Secure Backup y RMAN proporcionan una completa solución de copia de seguridad para entornos de Oracle: – Gestión centralizada de copia de seguridad en cintas de datos del sistema de archivos y de la base de datos Oracle – Capa de gestión de medios físicos con la máxima integración para las copias de seguridad de RMAN – Copia de seguridad de todos los datos de cualquier punto de la red

Un único recurso de soporte técnico para toda la solución de copia de seguridad acelera la resolución de problemas. Así se garantiza una protección fiable de los datos con el menor costo y la mínima complejidad. Copyright © 2005, Oracle. Todos los derechos reservados.

Oracle Secure Backup El producto actual de Oracle para copia de seguridad y recuperación de la base de datos es Recovery Manager. Oracle Secure Backup complementa la funcionalidad existente de los siguientes modos: • Solución de copia de seguridad completa: Oracle Secure Backup proporciona protección a los datos de la base de datos y también a los datos que no son de la base para proteger todo el entorno de Oracle. • Gestión de medios físicos: Oracle Secure Backup proporciona una capa de gestión de medios físicos que facilita la copia de seguridad de la base de datos de RMAN en cintas. Antes de que existiera Oracle Secure Backup, los clientes tenían que adquirir costosos productos de terceros para la gestión de medios físicos que ofrecieran integración con las copias de seguridad de RMAN en cintas. • Copias de seguridad en cualquier punto de la red: Oracle Secure Backup realiza copias de seguridad de los datos de varios sistemas de computadoras conectadas a la red en recursos de almacenamiento terciario de la red. Oracle Secure Backup soporta diversas configuraciones de servidores, clientes, servidores Network Attached Storage (NAS) y dispositivos de almacenamiento terciario al tiempo que protege los entornos de almacenamiento de la red. La combinación de RMAN y Oracle Secure Backup proporciona una completa solución de copia de seguridad dentro de la pila de productos Oracle. Esto mejora el soporte al cliente ya que Oracle Corporation es responsable de toda la solución de copia de seguridad. Base de Datos Oracle 10g: Taller de Administración I 15-4


Copia de Seguridad Gestionada por Usuario Un supuesto gestionado por usuario: • Es un proceso manual en el que se realiza un seguimiento de las necesidades y estado de las copias de seguridad. • Necesita que el DBA escriba archivos de comandos. • Necesita que los archivos de la base de datos se pongan en el modo correcto para la copia de seguridad. • Se basa en comandos del sistema operativo para realizar copias de seguridad de archivos. Copyright © 2005, Oracle. Todos los derechos reservados.

Copia de Seguridad Gestionada por Usuario Una copia de seguridad gestionada por usuario implica la escritura de archivos de comandos para realizar la copia de seguridad. Hay varios supuestos que se pueden ejecutar; se deben escribir archivos de comandos para manejarlos. Éstos son algunos de los pasos que deben realizar los archivos de comandos: • Consultar v$datafile para determinar los archivos de datos que se deben incluir en la copia de seguridad y su estado actual. • Consultar v$logfile para identificar los archivos redo log en línea. • Consultar v$controlfile para identificar el archivo de control para la copia de seguridad. • Colocar cada tablespace en el modo de copia de seguridad online. • Consultar v$backup para ver qué archivos de datos forman parte de un tablespace que se ha colocado en el modo de copia de seguridad online. • Ejecutar comandos de copia del sistema operativo para copiar los archivos de datos en la ubicación de copia de seguridad. • Quitar cada tablespace del modo de copia de seguridad online.

Base de Datos Oracle 10g: Taller de Administración I 15-5


Terminología •

La estrategia de copia de seguridad puede incluir: – Toda la base de datos (completa) – Una parte de la base de datos (parcial)

El tipo de copia de seguridad puede indicar la inclusión: – De toda la información de todos los archivos de datos (completa) – Sólo de la información que ha cambiado desde una copia de seguridad anterior (incremental)

El modo de copia de seguridad puede ser: – Offline (consistente, en frío) – Online (inconsistente, con la base de datos activa) Copyright © 2005, Oracle. Todos los derechos reservados.

Terminología Una copia de seguridad de la base de datos completa incluye todos los archivos de datos y al menos un archivo de control. (Recuerde que todos los archivos de control dentro de una base de datos son idénticos.) La copia de seguridad de la base de datos parcial puede incluir cero o más tablespaces, cero o más archivos de datos y puede incluir o no un archivo de control. Las copias de seguridad completas realizan una copia de todos los bloques de datos que contienen datos y que están dentro de los archivos de los que se está realizando la copia de seguridad. Las copias de seguridad incrementales realizan una copia de todos los bloques de datos que han cambiado desde una copia de seguridad anterior. La base de datos Oracle 10g soporta dos niveles de copia de seguridad incremental (0 y 1). Una copia de seguridad de nivel 0 o de línea base es equivalente a una copia de seguridad completa y contiene todos los bloques de datos. Una copia de seguridad incremental de nivel 1 incluye todos los bloques de la base de datos modificados desde la copia de seguridad de nivel 0. Para restaurar utilizando copias de seguridad incrementales, se debe restaurar primero la copia de seguridad de línea base y, a continuación, la incremental.

Base de Datos Oracle 10g: Taller de Administración I 15-6


Terminología (continuación) Las copias de seguridad offline (también conocidas como copias de seguridad consistentes) se realizan cuando la base de datos no está abierta. Son consistentes porque en el momento de la copia de seguridad, el número de cambio del sistema (SCN) de las cabeceras de los archivos de datos coincide con los SCN de los archivos de control. Las copias de seguridad online (también conocidas como copias de seguridad inconsistentes) se realizan cuando la base de datos está abierta. Las copias de seguridad son inconsistentes porque, con la base de datos abierta, no hay garantía de que los archivos de datos estén sincronizados con los archivos de control. Para utilizar las copias de seguridad inconsistentes es necesario recuperarlas.

Base de Datos Oracle 10g: Taller de Administración I 15-7


Terminología Las copias de seguridad se pueden almacenar como: • Copias de imagen • Juegos de copias de seguridad Archivo de datos nº 1 Archivo de datos nº 2 Archivo de datos nº 3 Archivo de datos nº 4 Archivo de datos nº 5 Archivo de datos nº 6 Copias de imagen

Archivo de datos nº 1

Archivo de datos nº 2

Archivo de datos nº 3

Archivo de datos nº 4

Archivo de datos nº 5

Archivo de datos nº 6

Juego de copias de seguridad

Copyright © 2005, Oracle. Todos los derechos reservados.

Terminología (continuación) Las copias de imagen son duplicados de archivos de datos o archive log (similar a copiar los archivos utilizando comandos del sistema operativo). Los juegos de copias de seguridad son copias de uno o más archivos de datos o archive log. Con los juegos de copias de seguridad, los bloques de datos vacíos no se almacenan, por lo que los juegos de copias de seguridad utilizan menos espacio en disco o en cinta. Los juegos de copias de seguridad se pueden comprimir para reducir más los requisitos de espacio de la copia de seguridad. La copia de seguridad de las copias de imagen se debe realizar en disco. Los juegos de copias de seguridad se pueden enviar a disco o directamente a cinta. La ventaja de crear una copia de seguridad como una copia de imagen es la mejora en la granularidad de la operación de restauración. Con una copia de imagen, sólo el archivo o los archivos se deben recuperar de la cinta. Con los juegos de copias de seguridad, toda la copia de seguridad se debe recuperar de la cinta para extraer el archivo o los archivos necesarios.

Base de Datos Oracle 10g: Taller de Administración I 15-8


Terminología (continuación) La ventaja de crear copias de seguridad como juegos es el mejor uso del espacio. La mayoría de las bases de datos contienen un 20% o más bloques vacíos. Las copias de imagen realizan la copia de seguridad de todos los bloques de datos, incluso si están vacíos. Los juegos de copias de seguridad reducen significativamente el espacio necesario para la copia de seguridad. En la mayor parte de los sistemas, las ventajas de los juegos de copias de seguridad son mayores que las de las copias de imagen. Una copia de seguridad de una base de datos ejecutándose en el modo NOARCHIVELOG debe tener los siguientes tres atributos: offline, completa y de la base de datos completa. Las bases de datos en modo ARCHIVELOG tienen acceso a todas las opciones de copia de seguridad.

Base de Datos Oracle 10g: Taller de Administración I 15-9


Recovery Manager (RMAN) •

Enterprise Manager utiliza Recovery Manager (RMAN) para realizar operaciones de copia de seguridad y recuperación. RMAN: – Es un cliente de línea de comandos para funciones avanzadas – Tiene un potente lenguaje de control y de archivos de comandos – Tiene una API publicada que permite interactuar con el software de copia de seguridad más conocido – Realiza copia de seguridad de archivos de datos, de control, archive log y de parámetros de servidor – Realiza copia de seguridad de los archivos en disco o cinta Copyright © 2005, Oracle. Todos los derechos reservados.

Recovery Manager (RMAN) RMAN es el componente de la base de datos Oracle 10g que se utiliza para realizar operaciones de copia de seguridad y recuperación. Puede realizar copias de seguridad consistentes e inconsistentes, incrementales o completas, de la base de datos completa o de una parte de la misma. RMAN utiliza un potente lenguaje de control de trabajos y de archivos de comandos propio, así como una API publicada que permite a RMAN interactuar con muchas soluciones de software de copia de seguridad conocidas. RMAN puede almacenar copias de seguridad en disco para una recuperación rápida, o en cinta para su almacenamiento a largo plazo. Para que RMAN almacene las copias de seguridad en cinta, se debe configurar una interfaz al dispositivo de cinta conocida como capa de gestión de medios físicos (MML). Enterprise Manager proporciona una interfaz gráfica de las funciones de RMAN más utilizadas. El acceso a las operaciones avanzadas de copia de seguridad y recuperación se realiza a través del cliente de línea de comandos de RMAN. Para obtener más información sobre las capacidades RMAN avanzadas, consulte Base de Datos Oracle 10g: Taller de Administración II u Oracle Backup and Recovery Advanced User’s Guide.

Base de Datos Oracle 10g: Taller de Administración I 15-10


Configuración de Valores de Copia de Seguridad

Copyright © 2005, Oracle. Todos los derechos reservados.

Configuración de Valores de Copia de Seguridad Acceda a la página Maintenance y haga clic en Configure Backup Settings. En esta página de propiedades se gestionan los valores de copia de seguridad persistente que se utilizan para crear copias de seguridad. Hay valores distintos para disco y cinta. Los valores de cinta dependen de las capacidades de la biblioteca de gestión de medios físicos. Los valores de disco incluyen: • Parallelism: Número de flujos de información de copia de seguridad distintos que desea crear. La mejor configuración para el paralelismo dependerá del hardware. Una única CPU, un único controlador de disco o un único servidor de disco no se beneficiarían de la realización de copias de seguridad paralelas. A medida que aumentan los recursos de hardware, el grado de paralelismo adecuado también aumenta. • Disk Backup Location: Lugar donde se deben almacenar las copias de seguridad. El valor por defecto es el área de recuperación de flash. Si lo cambia, haga clic en “Test Disk Backup” para verificar que RMAN puede escribir en la nueva ubicación. • Disk Backup Type: Seleccione Image Copy, Backup Set o Compressed Backup Set. Haga clic en el separador Backup Set para definir el tamaño máximo de los archivos de juego de copias de seguridad. (Los juegos de copias de seguridad se pueden dividir más si es necesario para un archivado más sencillo.) Las credenciales de host son necesarias para que Enterprise Manager guarde los cambios a los valores de copia de seguridad. Base de Datos Oracle 10g: Taller de Administración I 15-11


Configuración de Valores de Copia de Seguridad

Copyright © 2005, Oracle. Todos los derechos reservados.

Configuración de Valores de Copia de Seguridad (continuación) Haga clic en el separador Policy para: • Realizar una copia de seguridad automática del archivo de control y del archivo de parámetros del servidor (SPFILE) con cada copia de seguridad. También puede especificar una ubicación para estas copias de seguridad, si no desea que vayan al área de recuperación de flash. • Optimizar las copias de seguridad omitiendo la copia de archivos que coincidan exactamente con un archivo que ya forma parte de las copias de seguridad conservadas. Este valor permite saltar los archivos de datos de sólo lectura y offline. • Activar el seguimiento de cambios de bloque y especificar una ubicación para el archivo de seguimiento. Si intenta crear copias de seguridad incrementales, este ajuste puede reducir el tiempo necesario para seleccionar los bloques que se deben incluir en la copia de seguridad incremental. • Excluir el tablespace de una copia de la base de datos completa. Algunos administradores eligen no realizar la copia de seguridad de tablespaces que contengan datos u objetos que se pueden volver a crear fácilmente (como índices o datos que se cargan por lotes con frecuencia).

Base de Datos Oracle 10g: Taller de Administración I 15-12


Configuración de Valores de Copia de Seguridad (continuación) • Especificar una política de retención: Tiempo que RMAN conserva las copias de seguridad. Si utiliza el área de recuperación de flash para almacenar copias de seguridad, RMAN suprime automáticamente las copias de seguridad antiguas para crear espacio para las nuevas (si lo permite la política de retención). Por defecto, sólo se conserva la última copia de seguridad. La política de retención se puede especificar como un número de copias de seguridad o de días.

Base de Datos Oracle 10g: Taller de Administración I 15-13


Planificación de Copias de Seguridad: Estrategia Seleccionar una copia de seguridad completa o parcial de la base de datos.

Copyright © 2005, Oracle. Todos los derechos reservados.

Planificación de Copias de Seguridad: Estrategia Haga clic en Schedule Backup en la región Backup/Recovery de la página de propiedades Maintenance. Seleccione la estrategia de copia de seguridad sugerida por Oracle o su propia estrategia personalizada. La estrategia de copia de seguridad sugerida por Oracle crea una única copia de seguridad de base de datos completa, que se realiza online. Se trata de una copia de seguridad incremental de línea base de nivel 0. A continuación, la estrategia de copia de seguridad automatizada planifica copias de seguridad incrementales de nivel 1 para cada día siguiente. Al seleccionar Customized, obtiene acceso a un rango más amplio de opciones de configuración. Seleccione los objetos de los que desea realizar copias de seguridad: la base de datos completa (por defecto) o tablespaces, archivos de datos o archive logs individuales, o bien cualquier copia de seguridad de Oracle que resida actualmente en disco (para moverla a cinta).

Base de Datos Oracle 10g: Taller de Administración I 15-14


Planificación de Copias de Seguridad: Options

Copyright © 2005, Oracle. Todos los derechos reservados.

Planificación de Copias de Seguridad: Options Seleccione el tipo de copia de seguridad completa o incremental. Si realiza una copia de seguridad de base de datos completa, puede seleccionar “Use as the base of an incremental backup strategy” para que la copia de seguridad de base de datos completa sea una copia de seguridad incremental de nivel 0. Si utiliza copias de imagen, puede activar la casilla de control “Refresh the latest datafile copy on disk to the current time using the incremental backup” para actualizar la copia de seguridad existente en lugar de crear una copia de imagen nueva. Haga clic en “Delete obsolete backups” para eliminar todas las copias de seguridad que no cumplan con la política de retención configurada anteriormente. RMAN elimina automáticamente todas las copias de seguridad obsoletas si está realizando la copia de seguridad en el área de recuperación de flash.

Base de Datos Oracle 10g: Taller de Administración I 15-15


Planificación de Copias de Seguridad: Settings

Copyright © 2005, Oracle. Todos los derechos reservados.

Planificación de Copias de Seguridad: Settings Seleccione si la copia de seguridad se enviará al disco o a la cinta.

Base de Datos Oracle 10g: Taller de Administración I 15-16


Planificación de Copias de Seguridad: Schedule

Copyright © 2005, Oracle. Todos los derechos reservados.

Planificación de Copias de Seguridad: Schedule Seleccione cómo desea planificar la copia de seguridad: como un trabajo que se ejecuta una sola vez o como un proceso automatizado y repetitivo. Para configurar una base de datos para una máxima recuperabilidad, Oracle sugiere realizar copias de seguridad planificadas de forma regular. La automatización de copias de seguridad puede simplificar la carga de trabajo del administrador.

Base de Datos Oracle 10g: Taller de Administración I 15-17


Planificación de Copias de Seguridad: Review

Haga clic en Edit RMAN Script para revisar comandos de RMAN. Copyright © 2005, Oracle. Todos los derechos reservados.

Planificación de Copias de Seguridad: Review RMAN utiliza su propia sintaxis de comandos y su lenguaje de archivos de comandos. Haga clic en el botón Edit RMAN Script para ver los comandos que ha generado el planificador de copia de seguridad según las especificaciones proporcionadas por el usuario. Mediante esta página puede personalizar los archivos de comandos de RMAN si es necesario o copiarlos con fines de registro.

Base de Datos Oracle 10g: Taller de Administración I 15-18


Copia de Seguridad del Archivo de Control en un Archivo de Rastreo Los archivos de control tienen una opción adicional de copia de seguridad.

Las copias de seguridad para rastreo de archivos de control se pueden utilizar para recuperar la pérdida de todos los archivos de control. Copyright © 2005, Oracle. Todos los derechos reservados.

Copia de Seguridad del Archivo de Control en un Archivo de Rastreo Haga clic en Control Files en la región Storage de la página de propiedades Administration para gestionar los archivos de control de la base de datos. Los archivos de control tienen una opción de copia de seguridad adicional; se puede hacer una copia de seguridad de los mismos en un archivo de rastreo. Una copia de seguridad para rastreo de archivos de control contiene la sentencia SQL necesaria para volver a crear los archivos de control en caso de que se pierdan todos los archivos de control. Aunque es bastante improbable que una base de datos configurada correctamente (con varias copias del archivo de control en distintos discos y distintos controladores) pierda todos los archivos de control al mismo tiempo, es posible. Por lo tanto, el administrador debe realizar una copia de seguridad del archivo de control en un archivo de rastreo tras cada cambio en la estructura física de la base de datos (adición de tablespaces o archivos de datos, o adición de grupos de redo logs adicionales). Las copias de rastreo del archivo de control se pueden crear con Enterprise Manager (como se indica en la diapositiva) haciendo clic en Control Files en la página de propiedades Administration o con el siguiente comando SQL: SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

La copia de seguridad para rastreo se crea en la ubicación especificada mediante el parámetro de inicialización USER_DUMP_DEST con un nombre de archivo como sid_ora_pid.trc. Base de Datos Oracle 10g: Taller de Administración I 15-19


Copia de Seguridad del Archivo de Control en un Archivo de Rastreo (continuaciรณn) El archivo de rastreo contiene informaciรณn sobre los destinos de archive log seguida de comandos que crean archivos de control de sustituciรณn y, a continuaciรณn, recupera la base de datos: CREATE CONTROLFILE REUSE DATABASE ORCL NORESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 226 LOGFILE GROUP 1 '/oracle/oradata/orcl/redo01.log' SIZE 10M, GROUP 2 '/oracle/oradata/orcl/redo02.log' SIZE 10M, GROUP 3 '/oracle/oradata/orcl/redo03.log' SIZE 10M DATAFILE '/oracle/oradata/orcl/system01.dbf', '/oracle/oradata/orcl/undotbs01.dbf', '/oracle/oradata/orcl/sysaux01.dbf', '/oracle/oradata/orcl/users01.dbf', '/oracle/oradata/orcl/example01.dbf' CHARACTER SET WE8ISO8859P1; -- Commands to re-create incarnation table -- Below log names MUST be changed to existing filenames on -- disk. Any one log file from each branch can be used to -- re-create incarnation records. -- ALTER DATABASE REGISTER LOGFILE '/oracle/flash_recovery_area/ORCL/archivelog/2003_12_05/o1_mf_1_ 1_%u_.arc'; -- ALTER DATABASE REGISTER LOGFILE '/oracle/flash_recovery_area/ORCL/archivelog/2003_12_05/o1_mf_1_ 1_%u_.arc'; -- Recovery is required if any of the data files are restored backups, -- or if the last shutdown was not normal or immediate. RECOVER DATABASE -- All logs need archiving and a log switch is needed. ALTER SYSTEM ARCHIVE LOG ALL; -- Database can now be opened normally. ALTER DATABASE OPEN; -- Commands to add tempfiles to temporary tablespaces. -- Online tempfiles have complete space information. -- Other tempfiles may require adjustment. ALTER TABLESPACE TEMP ADD TEMPFILE '/oracle/oradata/orcl/temp01.dbf' SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;

Base de Datos Oracle 10g: Taller de Administraciรณn I 15-20


Gestión de Copias de Seguridad

Copyright © 2005, Oracle. Todos los derechos reservados.

Gestión de Copias de Seguridad Haga clic en Manage Current Backups en la página de propiedades Maintenance para gestionar las copias de seguridad existentes. En esta página puede ver cuándo se completó una copia de seguridad, dónde se creó (disco o cinta) y si aún está disponible. En la parte superior de la página Manage Current Backups aparecen cuatro botones que permiten trabajar con copias de seguridad existentes. • Catalog Additional Files: Aunque RMAN (al trabajar mediante Enterprise Manager) es el modo recomendado para crear copias de seguridad, se pueden crear copias de imagen o juegos de copias de seguridad mediante algún otro tipo de medio u entorno que no tenga en cuenta RMAN. Esta tarea identifica esos archivos y los agrega al catálogo. • Crosscheck All: RMAN puede suprimir automáticamente las copias de seguridad obsoletas, pero también puede suprimirlas utilizando comandos del sistema operativo. Si suprime una copia de seguridad sin utilizar RMAN, el catálogo no tendrá conocimiento de que ésta falta hasta que realice una comprobación cruzada entre el catálogo y lo que hay realmente allí. • Delete All Obsolete: Suprime las copias de seguridad anteriores a la política de retención. • Delete All Expired: Suprime la lista del catálogo para las copias de seguridad que no se encontraron al realizar la comprobación cruzada.

Base de Datos Oracle 10g: Taller de Administración I 15-21


Área de Recuperación de Flash Controlar el área de recuperación de flash para: • Configurar el registro de flashback • Dimensionar el área de recuperación • Visualizar el consumo de espacio actual

Copyright © 2005, Oracle. Todos los derechos reservados.

Área de Recuperación de Flash El área de recuperación de flash es un espacio separado en el disco para contener archive logs, copias de seguridad y logs de flashback. Si ha configurado los archive logs para que se escriban en esta ubicación (con el indicador USE_DB_RECOVERY_AREA en una de las ubicaciones), es importante controlar este espacio para asegurarse de que no alcanza la capacidad. Si la instancia no puede crear un archive log debido a falta de espacio, se detiene hasta que el administrador corrija la situación. Al hacer clic en Recovery Settings en la página de propiedades Maintenance se accede a los valores de Flash Recovery Area. En esta página puede: • Especificar la ubicación del área de recuperación de flash • Especificar el tamaño del área de recuperación de flash (Oracle recomienda que sea al menos dos veces el tamaño de la base de datos para que pueda contener una copia de seguridad y varios archive logs) • Verificar qué cantidad del área de recuperación de flash se ha consumido • Configurar el flashback de base de datos. El flashback de base de datos se trata en la lección titulada “Realización de Flashback”.

Base de Datos Oracle 10g: Taller de Administración I 15-22


Resumen En esta lección, debe haber aprendido lo siguiente: • Crear copias de seguridad de bases de datos consistentes • Realizar copias de seguridad de bases de datos sin cerrarlas • Crear copias de seguridad incrementales • Automatizar copias de seguridad de bases de datos • Controlar el área de recuperación de flash

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 15-23


Visión General de la Práctica: Creación de Copias de Seguridad de Bases de Datos En esta práctica se abordan los siguientes temas: • Configuración de la base de datos para realizar copias de seguridad • Realización de una copia de seguridad de la base de datos mientras ésta está abierta para mantener la actividad de los usuarios • Planificación de copias de seguridad incrementales automáticas de la base de datos por las noches

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 15-24


Recuperaci贸n de Bases de Datos

Copyright 漏 2005, Oracle. Todos los derechos reservados.


Objetivos Al finalizar esta lección, debería estar capacitado para recuperar la pérdida de lo siguiente: • Archivo de control • Archivo redo log • Archivo de datos

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 16-2


Apertura de una Base de Datos Para abrir una base de datos: • Todos los archivos de control deben estar presentes y sincronizados • Todos los archivos de datos online deben estar presentes y sincronizados • Al menos un miembro de cada grupo de redo logs debe estar presente OPEN

STARTUP MOUNT NOMOUNT SHUTDOWN

Copyright © 2005, Oracle. Todos los derechos reservados.

Apertura de una Base de Datos Cuando una base de datos cambia de la etapa de cierre hasta estar completamente abierta, realiza comprobaciones internas de consistencia. Las etapas son: • NOMOUNT: Para que una instancia alcance el estado NOMOUNT (también denominado STARTED), la instancia debe leer el archivo de parámetros de inicialización. No se comprueba ningún archivo de base de datos mientras la instancia entra en el estado NOMOUNT. • MOUNT: Cuando la instancia cambia al estado MOUNT, comprueba si todos los archivos de control que aparecen en el archivo de parámetros de inicialización están presentes y sincronizados. Si falta un archivo de control o está corrupto, la instancia devuelve un error (con el archivo de control que falta) al administrador y permanece en estado NOMOUNT. • OPEN: Cuando la instancia cambia del estado MOUNT a OPEN: - Comprueba si todos los grupos de redo logs que conoce el archivo de control tienen al menos un miembro. Todos los miembros que faltan se anotan en el log de alertas.

Base de Datos Oracle 10g: Taller de Administración I 16-3


Apertura de una Base de Datos (continuación) - Verifica que todos los archivos de datos que conoce el archivo de control están presentes a menos que se hayan puesto offline. Los archivos offline no se comprueban hasta que el administrador intenta ponerlos online. El administrador puede poner un archivo de datos offline y abrir la instancia siempre que el archivo de datos no pertenezca a los tablespaces SYSTEM o UNDO. Si falta algún archivo, se devuelve al administrador un error que indica el primer archivo que falta, y la instancia sigue en estado MOUNT. Cuando la instancia descubre que faltan archivos, sólo aparece en el mensaje de error el primer archivo que causa el problema. Para buscar todos los archivos que es necesario recuperar, el administrador puede comprobar la vista de rendimiento dinámico v$recover_file para obtener una lista completa de los archivos que necesitan atención: SQL> startup ORACLE instance started. Total System Global Area 171966464 bytes Fixed Size 775608 bytes Variable Size 145762888 bytes Database Buffers 25165824 bytes Redo Buffers 262144 bytes Database mounted. ORA-01157: cannot identify/lock data file 4 - see DBWR trace file ORA-01110: data file 4: '/oracle/oradata/orcl/users01.dbf' SQL> SELECT name, error 2 FROM v$datafile 3 JOIN v$recover_file 4 USING (file#); NAME ERROR ----------------------------------- -----------------/oracle/oradata/orcl/users01.dbf FILE NOT FOUND /oracle/oradata/orcl/example01.dbf FILE NOT FOUND

-

Verifica que todos los archivos de datos que no están offline o son de sólo lectura están sincronizados con el archivo de control. Si es necesario, la recuperación de la instancia se realiza automáticamente. Sin embargo, si un archivo no está sincronizado de forma que no se puede recuperar mediante los grupos de redo logs online, el administrador debe realizar una recuperación del medio físico. Si algún archivo necesita la recuperación del medio físico, se devuelve al administrador un mensaje de error que indica el primer archivo que se necesita recuperar, y la instancia sigue en estado MOUNT: ORA-01113: file 4 needs media recovery ORA-01110: data file 4: '/oracle/oradata/orcl/users01.dbf'

De nuevo, v$recover_file proporciona una lista completa de los archivos que necesitan atención. Se enumeran los archivos que están presentes y que necesitan recuperación de medios físicos, pero no se muestra ningún mensaje de error.

Base de Datos Oracle 10g: Taller de Administración I 16-4


Cambio del Estado de la Instancia Utilice Database Control para modificar el estado de la instancia.

Copyright © 2005, Oracle. Todos los derechos reservados.

Cambio del Estado de la Instancia Al iniciar la instancia, el modo de inicio por defecto es OPEN. Puede decidir iniciar la instancia en algún otro modo o puede que problemas con la base de datos le obliguen a iniciar la instancia en otro modo. La página de propiedades Advanced Startup Options permite seleccionar un estado que no sea OPEN al iniciar la instancia y modificar el estado si la instancia ya se ha iniciado en otro modo. También puede utilizar comandos SQL para modificar el estado de una instancia: SQL> STARTUP NOMOUNT ORACLE instance started. Total System Global Area Fixed Size Variable Size Database Buffers Redo Buffers

188743680 778036 162537676 25165824 262144

bytes bytes bytes bytes bytes

SQL> ALTER DATABASE MOUNT Database altered. SQL> ALTER DATABASE OPEN

Base de Datos Oracle 10g: Taller de Administración I 16-5


Mantenimiento de una Base de Datos Abierta Una vez abierta la instancia, falla en el caso de pérdida de: • Cualquier archivo de control • Un archivo de datos que pertenezca a los tablespaces del sistema o de deshacer • Todo un grupo de redo logs. Siempre que al menos un miembro del grupo esté disponible, la instancia permanece abierta

Copyright © 2005, Oracle. Todos los derechos reservados.

Mantenimiento de una Base de Datos Abierta Una vez abierta una instancia, el fallo del medio físico que causa la pérdida de un archivo de control, la pérdida de todo un grupo de redo logs o la pérdida de un archivo de datos que pertenece a los tablespaces SYSTEM o UNDO provoca que la instancia falle. En muchos casos la instancia fallida no se cierra completamente, sino que no puede continuar realizando el trabajo. La recuperación de estos tipos de fallos del medio físico se debe realizar con la base de datos cerrada, por lo que el administrador debe utilizar el comando SHUTDOWN ABORT antes de que iniciar la recuperación. La pérdida de archivos de datos que pertenezcan a otros tablespace no provoca ningún fallo de la instancia y se puede recuperar la base de datos mientras está abierta continuando con trabajo en otros tablespace. Podrá detectar estos errores si consulta el archivo log de alertas.

Base de Datos Oracle 10g: Taller de Administración I 16-6


Pérdida de un Archivo de Control Si se pierde o se corrompe un archivo de control, normalmente la instancia se aborta, momento en el que debe realizar los pasos siguientes: 1. Cierre la instancia si aún está abierta. 2. Restaure el archivo de control que falta copiando uno existente. 3. Inicie la instancia.

Archivos de control

Copyright © 2005, Oracle. Todos los derechos reservados.

Pérdida de un Archivo de Control Para recuperar un archivo de control perdido (siempre que quede al menos un archivo de control), realice los siguientes pasos: 1. Si la instancia aún no ha fallado, ciérrela mediante SHUTDOWN ABORT. 2. Copie uno de los restantes archivos de control en la ubicación del archivo que falta. Si el fallo del medio físico se debe a la pérdida de una unidad o controlador de disco, copie uno de los archivos de control restantes en otra ubicación y actualice el archivo de parámetros de la instancia para que apunte a la nueva ubicación. Asimismo, puede suprimir la referencia al archivo de control que falta desde el archivo de parámetros de inicialización. Recuerde que Oracle recomienda tener al menos dos archivos de control en todo momento. 3. Inicie la instancia. La recuperación de todos los archivos de control perdidos se trata en Base de Datos Oracle 10g: Taller de Administración II.

Base de Datos Oracle 10g: Taller de Administración I 16-7


Pérdida de un Archivo Redo Log Si se pierde un miembro de un grupo de archivos redo log, siempre que el grupo siga teniendo al menos un miembro: 1. No afectará al funcionamiento normal de la instancia 2. Recibirá un mensaje en el log de alertas que le notifica que no se ha encontrado un miembro 3. Restaure el archivo log que falta copiando uno de los restantes del mismo grupo

Copyright © 2005, Oracle. Todos los derechos reservados.

Pérdida de un Archivo Redo Log La recuperación de un único miembro perdido del grupo de redo logs no debe afectar a la instancia en ejecución. Para realizar esta recuperación, realice los siguientes pasos: 1. Determine si falta un archivo log examinando el log de alertas. 2. Restaure el archivo que falta copiando uno de los restantes del mismo grupo. 3. Si el fallo del medio físico se debe a la pérdida de una unidad o controlador de disco, cambie el nombre del archivo que falta. 4. Si el grupo ya se ha archivado o si está en modo NOARCHIVELOG, puede resolver el problema limpiando el grupo de logs para volver a crear el archivo o archivos que faltan. Seleccione el grupo adecuado y, a continuación, la acción Clear Logfile. También puede limpiar el grupo afectado manualmente con el siguiente comando: SQL> ALTER DATABASE CLEAR LOGFILE GROUP #;

Nota: Database Control no permite limpiar un grupo de logs que no se ha archivado. Si lo hace romperá la cadena de información de redo. Si debe limpiar un grupo de logs no archivado, debe realizar inmediatamente una copia de seguridad completa de toda la base de datos. De lo contrario, se puede producir una pérdida de datos en caso de que se produzca otro fallo. Para limpiar un grupo de logs no archivado, utilice el comando siguiente: SQL> ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP #;

Base de Datos Oracle 10g: Taller de Administración I 16-8


Pérdida de un Archivo de Datos en Modo NOARCHIVELOG Si la base de datos está en modo NOARCHIVELOG y se pierde cualquier archivo de datos, realice las siguientes tareas: 1. Cierre la instancia si aún no lo está. 2. Restaure toda la base de datos, incluidos todos los archivos de datos y de control de la copia de seguridad. 3. Abra la base de datos. 4. Los usuarios tienen que volver a introducir todos los cambios realizados desde la última copia de seguridad.

Usuario

Usuario

Usuario

Usuario

Usuario

Copyright © 2005, Oracle. Todos los derechos reservados.

Pérdida de un Archivo de Datos en Modo NOARCHIVELOG La pérdida de cualquier archivo de datos de una base de datos en modo NOARCHIVELOG necesita una restauración completa de la base de datos, incluidos los archivos de control y todos los archivos de datos. Con la base de datos en modo NOARCHIVELOG, la recuperación sólo es posible hasta el momento en que se realizó la última copia de seguridad. Por este motivo, los usuarios tienen que volver a introducir todos los cambios realizados desde esa copia de seguridad. Para este tipo de recuperación, realice las siguientes tareas: 1. Cierre la instancia si aún no lo está. 2. Haga clic en Perform Recovery en la página de propiedades Maintenance. 3. Seleccione Whole Database como tipo de recuperación.

Base de Datos Oracle 10g: Taller de Administración I 16-9


Pérdida de un Archivo de Datos No Crítico en Modo ARCHIVELOG Si un archivo de datos se pierde o está corrupto, y dicho archivo no pertenece al tablespace SYSTEM o UNDO, restaure y recupere el archivo de datos que falta.

Usuarios Copyright © 2005, Oracle. Todos los derechos reservados.

Pérdida de un Archivo de Datos No Crítico en Modo ARCHIVELOG Con la base de datos en modo ARCHIVELOG, la pérdida de cualquier archivo de datos que no pertenezca a los tablespaces SYSTEM o UNDO afecta sólo a los objetos que están en el archivo que falta. El resto de la base de datos sigue disponible para que los usuarios continúen con el trabajo. Para restaurar y recuperar el archivo de datos que falta, realice los siguientes pasos: 1. Haga clic en Perform Recovery en la página de propiedades Maintenance. 2. Seleccione “Datafiles” como tipo de recuperación y, a continuación, “Restore to current time or a previous point-in-time”. 3. Agregue todos los archivos de datos que sea necesario recuperar. 4. Determine si desea restaurar los archivos a la ubicación por defecto o (si falta un disco o controlador) a una nueva ubicación. 5. Ejecute el trabajo RMAN para restaurar y recuperar los archivos que faltan. Puesto que la base de datos está en modo ARCHIVELOG, la recuperación es posible hasta el momento de la última confirmación y no es necesario que los usuarios vuelvan a introducir ningún dato.

Base de Datos Oracle 10g: Taller de Administración I 16-10


Pérdida de un Archivo de Datos Crítico del Sistema en Modo ARCHIVELOG Si un archivo de datos se pierde o está corrupto, y dicho archivo pertenece al tablespace SYSTEM o UNDO: 1. Puede que la instancia se cierre automáticamente o que no se cierre. Si no se cierra, utilice SHUTDOWN ABORT para cerrarla. 2. Monte la base de datos 3. Restaure y recupere el archivo de datos que falta 4. Abra la base de datos

Usuarios Copyright © 2005, Oracle. Todos los derechos reservados.

Pérdida de un Archivo de Datos Crítico del Sistema Los archivos de datos que pertenecen al tablespace SYSTEM o que contienen los datos UNDO se consideran críticos del sistema. La pérdida de uno de estos archivos necesita que se restaure la base de datos desde el estado MOUNT (a diferencia de otros archivos de datos que se pueden restaurar con la base de datos abierta). Para realizar esta recuperación, realice los siguientes pasos: 1. Si la instancia aún no se ha cerrado, ciérrela. 2. Monte la base de datos. 3. Haga clic en Perform Recovery en la página de propiedades Maintenance. 4. Seleccione “Datafiles” como tipo de recuperación y, a continuación, “Restore to current time or a previous point-in-time”. 5. Agregue todos los archivos de datos que sea necesario recuperar. 6. Determine si desea restaurar los archivos a la ubicación por defecto o (si falta un disco o controlador) a una nueva ubicación. 7. Ejecute el trabajo RMAN para restaurar y recuperar los archivos que faltan. 8. Abra la base de datos. Los usuarios no tienen que volver a introducir los datos porque la recuperación se ha realizado hasta el momento de la última confirmación.

Base de Datos Oracle 10g: Taller de Administración I 16-11


Resumen En esta lección, debe haber aprendido a recuperar la pérdida de lo siguiente: • Archivo de control • Archivo redo log • Archivo de datos

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 16-12


Visión General de la Práctica: Recuperación de Bases de Datos En esta práctica se aborda la recuperación ante la pérdida de lo siguiente: • Archivo de control • Archivo redo log • Archivo de datos no crítico • Archivo de datos crítico del sistema

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 16-13


Realizaci贸n de Flashback

Copyright 漏 2005, Oracle. Todos los derechos reservados.


Objetivos Al finalizar esta lección, debería estar capacitado para: • Describir la función de flashback de base de datos • Restaurar el contenido de la tabla a un punto específico en el pasado con flashback de tabla • Recuperar una tabla borrada • Visualizar el contenido de la base de datos desde cualquier punto en el tiempo con consulta de flashback • Visualizar las versiones de una fila a lo largo del tiempo con consulta de flashback de versiones • Visualizar el historial de transacciones o una fila con consulta de flashback de transacciones

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 17-2


Tecnología de Flashback: Ventajas • •

> Visión General Base de Datos Tabla Borrado Consulta Versiones Transacción

La tecnología de flashback es un avance revolucionario en la recuperación. Las técnicas de recuperación tradicionales son lentas. – Se debe restaurar toda la base de datos o un archivo (no sólo los datos incorrectos). – Se deben examinar todos los cambios del log de la base de datos.

La operación de flashback es rápida. – Los cambios se indexan por fila y por transacción. – Sólo se restauran los datos cambiados.

Los comandos de flashback son sencillos. – No se incluyen procedimientos complejos de varios pasos. Copyright © 2005, Oracle. Todos los derechos reservados.

Tecnología de Flashback: Ventajas La arquitectura de la base de datos Oracle 10g aprovecha las ventajas tecnológicas únicas en el área de recuperación de bases de datos por la pérdida de datos debido a errores humanos. La tecnología de flashback ofrece un juego de funciones nuevas para visualizar y rebobinar los datos hacia delante y hacia atrás en el tiempo. Esta tecnología revoluciona la recuperación ya que simplemente actúa en los datos cambiados. El tiempo que se tarda en recuperarse del error equivale ahora al que se tarda en cometerlo. Cuando sea aplicable, la tecnología de flashback ofrece ventajas importantes sobre la recuperación del medio físico en términos de facilidad de uso, disponibilidad y tiempo de restauración.

Base de Datos Oracle 10g: Taller de Administración I 17-3


Cuándo Utilizar la Tecnología de Flashback Nivel de Objeto

Ejemplos de Supuestos

Tecnología de Flashback

Usos

Afecta a los Datos

Base de datos

Truncar una tabla; cambios no deseados realizados en varias tablas

Base de datos

Logs de flashback

Verdadero

Tabla

Borrar una tabla

Borrado

Papelera de reciclaje

Verdadero

Actualizar con la cláusula WHERE incorrecta

Tabla

Datos de deshacer

Verdadero

Comparar datos actuales con datos anteriores

Consulta

Datos de deshacer

Falso

Comparar versiones de una fila

Versión

Datos de deshacer

Falso

Investigar varios estados históricos de los datos

Transacción

Datos de deshacer

Falso

Transacción

Copyright © 2005, Oracle. Todos los derechos reservados.

Cuándo Utilizar la Tecnología de Flashback La tecnología de flashback se debe utilizar cuando se produce una corrupción lógica en la base de datos Oracle y necesita una recuperación de datos rápida y sencilla. Al igual que con los errores humanos, es difícil identificar los objetos y las filas que se ven afectados por una transacción errónea. Con la tecnología de flashback, puede diagnosticar cómo se introdujeron los errores en la base de datos y, a continuación, reparar el daño. Puede ver las transacciones que han contribuido a modificaciones de filas específicas, ver todo el juego de versiones de una fila determinada durante un período de tiempo o simplemente ver los datos tal y como aparecían en un momento concreto del pasado. En la tabla de la diapositiva se muestran los usos típicos de la tecnología de flashback. El flashback de base de datos utiliza los logs de flashback para realizar la operación de flashback. El flashback de borrado utiliza la papelera de reciclaje. Todas las demás técnicas utilizan los datos de deshacer. No todas las funciones de flashback modifican la base de datos. Algunas son simples métodos para consultar otras versiones de los datos. Son herramientas que puede utilizar para investigar un problema y como ayuda para la recuperación. Los resultados de estas consultas de flashback pueden ayudar a realizar una de las dos operaciones siguientes: • Determinar qué tipo de operación de flashback que modifica la base de datos se debe realizar para corregir el problema. • Introducir el juego de resultados de estas consultas en una sentencia INSERT, UPDATE o DELETE que permita reparar fácilmente los datos erróneos. Base de Datos Oracle 10g: Taller de Administración I 17-4


Realización de Flashback en Cualquier Error •

La función de flashback de base de datos devuelve la base de datos a un punto anterior en el tiempo al deshacer todos los cambios realizados desde ese momento. La función de flashback de tabla recupera una tabla a un punto en el tiempo pasado sin tener que restaurar una copia de seguridad. La función de flashback de borrado restaura las tablas borradas por accidente.

Copyright © 2005, Oracle. Todos los derechos reservados.

Realización de Flashback en Cualquier Error La base de datos Oracle 10g introduce capacidades ampliadas de flashback de base de datos. Si se produce un error grave que origina cambios que no son aislados, como un trabajo por lotes que se ejecuta dos veces seguidas, puede solicitar una operación de flashback que recupera rápidamente toda la base de datos hasta un punto anterior en el tiempo. Esto evita tener que restaurar copias de seguridad y realizar una recuperación point-in-time. Además de las operaciones de flashback a nivel de base de datos, también es posible realizar una operación de flashback de una única tabla o recuperar una tabla borrada por error.

Base de Datos Oracle 10g: Taller de Administración I 17-5


Flashback de Base de Datos: Visión General

Visión General > Base de Datos Tabla Borrado Consulta Versiones Transacción

La operación de flashback de base de datos: • Funciona como un botón de rebobinado en la base de datos • Se puede utilizar en casos de corrupción de datos lógicos provocada por los usuarios

Los usuarios generan errores.

La base de datos se corrompe.

Pulsa el botón de rebobinar.

La base de datos se “rebobina”.

Copyright © 2005, Oracle. Todos los derechos reservados.

Flashback de Base de Datos: Visión General Con el flashback de base de datos puede devolver rápidamente la base de datos a un punto anterior en el tiempo deshaciendo todos los cambios realizados desde ese momento. Esta operación es rápida, porque no es necesario restaurar las copias de seguridad. Puede utilizar esta función para deshacer cambios que han provocado corrupciones de datos lógicos. Si se han perdido medios físicos o se ha producido corrupción física en la base de datos, deberá utilizar los métodos de recuperación tradicionales.

Base de Datos Oracle 10g: Taller de Administración I 17-6


Flashback de Base de Datos: Reducción del Tiempo de Restauración Recuperación Incompleta Generación de logs

Copia de seguridad

Error del usuario

Flashback de Base de Datos Logs de flashback

Copia de seguridad

Restauración de archivos

Base de datos reparada

Aplicación de logs hacia delante Base de datos reparada

Error del usuario

Aplicación de logs de flashback hacia atrás

Copyright © 2005, Oracle. Todos los derechos reservados.

Flashback de Base de Datos: Reducción del Tiempo de Restauración La función de flashback de base de batos es más rápida que la recuperación point-in-time tradicional que utiliza archivos restaurados y archivos redo log. A medida que una base de datos aumenta de tamaño, la cantidad de tiempo necesaria para restaurar todos los archivos de datos con el fin de llevar a cabo una recuperación point-in-time tradicional resulta prohibitiva. Con el flashback de base de datos, el tiempo para recuperar una base de datos es ahora proporcional al número de cambios que es necesario deshacer (y no al tamaño de la base de datos) porque no tiene que restaurar los archivos de datos. El flashback de base de datos se implementa mediante un tipo de archivo log denominado log de flashback de base de datos. La base de datos Oracle registra periódicamente “imágenes anteriores” de bloques de datos en los logs de flashback de base de datos. Las imágenes de bloque se pueden reutilizar para hacer retroceder con rapidez los cambios en los archivos de datos hasta cualquier momento en que se hayan capturado logs de flashback justo antes de la hora deseada. Entonces, se aplican los cambios a partir de los archivos redo log para rellenar el hueco. Los logs de flashback de base de datos se crean y gestionan de forma automática en el área de recuperación de flash.

Base de Datos Oracle 10g: Taller de Administración I 17-7


Flashback de Base de Datos: Consideraciones •

Una vez terminada la operación de flashback de base de datos, la base de datos se debe abrir mediante uno de los siguientes métodos: – En el modo de sólo lectura para verificar que se han utilizado la hora o el SCN correctos – Con el parámetro RESETLOGS para permitir las actualizaciones

Lo contrario de “flashback” es “recuperar”.

Copyright © 2005, Oracle. Todos los derechos reservados.

Flashback de Base de Datos: Consideraciones En situaciones en las que no pueda utilizar la función de flashback de base de datos, debería utilizar una operación de recuperación incompleta para devolver la base de datos a un momento específico. Una vez finalizada la operación de flashback de base de datos, puede abrir la base de datos en modo de sólo lectura para verificar que se han utilizado la hora o el número de cambio de sistema (SCN) correctos. De no ser así, puede volver a realizar la operación de flashback de base de datos de nuevo o bien llevar a cabo una recuperación para avanzar la base de datos. Para deshacer una operación de flashback de base de datos, por tanto, debe recuperar la base de datos hacia delante. Nota: El destino de retención de flashback no supone una garantía absoluta de que esté disponible la opción de flashback. Si se precisa espacio para archivos necesarios en el área de recuperación de flash, puede que los logs de flashback se supriman de forma automática.

Base de Datos Oracle 10g: Taller de Administración I 17-8


Flashback de Base de Datos: Limitaciones No se puede utilizar la función de flashback de base de datos en las siguientes situaciones: • El archivo de control se ha restaurado o se ha vuelto a crear. • Se ha borrado un tablespace. • Se ha reducido un archivo de datos.

Tiempo de flashback

Borrar tablespace.

Reducir Volver a crear archivo de un archivo de datos. control.

Presente

Copyright © 2005, Oracle. Todos los derechos reservados.

Flashback de Base de Datos: Limitaciones No puede utilizar el flashback de base de datos para recuperar un archivo de datos que se ha borrado desde el tiempo de flashback. El archivo de datos borrado se agrega al archivo de control y se marca como offline, pero no se incluye en la operación de flashback. El flashback de base de datos no puede realizar un flashback en un archivo de datos si se ha reducido desde el tiempo de flashback. Cualquier archivo de datos de este tipo se debe poner offline antes de realizar una operación de flashback.

Base de Datos Oracle 10g: Taller de Administración I 17-9


Activación de la Función de Flashback de Base de Datos

Copyright © 2005, Oracle. Todos los derechos reservados.

Activación de la Función de Flashback de Base de Datos El flashback de base de datos se puede activar en Enterprise Manager mediante el enlace Recovery Settings de la página con separadores Maintenance. Active la casilla de control de la región Flash Recovery de la página y especifique el tiempo de retención, que representa hasta qué punto del pasado desea realizar un flashback en la base de datos.

Base de Datos Oracle 10g: Taller de Administración I 17-10


Flashback de Tabla: Visión General • • •

El flashback de tabla recupera tablas a un punto en el tiempo específico. El flashback de tabla se produce in situ. La base de datos permanece online.

DML erróneos

Usuario

Visión General Base de Datos > Tabla Borrado Consulta Versiones Transacción

Tablas con flashback

Copyright © 2005, Oracle. Todos los derechos reservados.

Flashback de Tabla: Visión General Con el flashback de tabla puede devolver un juego de tablas a un punto en el tiempo específico sin tener que realizar operaciones de recuperación point-in-time tradicionales. Una operación de flashback de tabla se realiza in situ mientras la base de datos está online mediante la realización de un rollback únicamente de los cambios efectuados en las tablas en cuestión y en los objetos que dependen de ellas. Una sentencia de flashback de tabla se ejecuta como una transacción única. Es necesario llevar a cabo un flashback en todas las tablas de forma correcta o se realizará un rollback de toda la transacción. Nota: La consulta de flashback de versiones y la consulta de flashback de transacciones permiten determinar el tiempo de flashback adecuado.

Base de Datos Oracle 10g: Taller de Administración I 17-11


Flashback de Tabla •

• •

Con el flashback de tabla, puede devolver una o más tablas a un punto en el tiempo específico sin restaurar ninguna copia de seguridad. Los datos se recuperan de un tablespace de deshacer para realizar una operación de flashback de tabla. El privilegio FLASHBACK TABLE es necesario para realizar un flashback en una tabla. El movimiento de filas debe estar activado en la tabla en la que se vaya a realizar la operación de flashback.

Copyright © 2005, Oracle. Todos los derechos reservados.

Flashback de Tabla Con el flashback de tabla, puede devolver una o más tablas a un punto en el tiempo específico sin restaurar ninguna copia de seguridad. Cuando se utiliza esta función, se restauran los datos de la tabla y los objetos asociados (índices, restricciones, disparadores, etc.). Los datos utilizados para satisfacer una solicitud de flashback de tabla se recuperan del tablespace de deshacer. La consulta de flashback de versiones y la consulta de flashback de transacciones permiten determinar el tiempo de flashback adecuado. Para obtener más información sobre el uso de estas funciones, consulte Oracle Database Concepts. El flashback de tabla proporciona a los usuarios una manera fácil y rápida de recuperar modificaciones accidentales sin la participación del administrador de la base de datos (DBA). Es necesario otorgar el privilegio del sistema FLASHBACK TABLE o FLASHBACK ANY TABLE a cualquier usuario que utilice la función de flashback de tabla. Además, deberá otorgar los privilegios de objeto SELECT, INSERT, DELETE y ALTER TABLE al usuario. Puede utilizar Enterprise Manager para realizar un flashback en una tabla: El asistente le guiará por el proceso.

Base de Datos Oracle 10g: Taller de Administración I 17-12


Activación del Movimiento de Filas en una Tabla

ALTER TABLE employees ENABLE ROW MOVEMENT;

Copyright © 2005, Oracle. Todos los derechos reservados.

Activación del Movimiento de Filas en una Tabla Es necesario activar el movimiento de filas en una tabla para poder realizar un flashback en ella. Al activar el movimiento de filas, el servidor de Oracle puede mover una fila de la tabla. Puede utilizar Enterprise Manager para activar el movimiento de filas. Con Enterprise Manager, puede activar el movimiento de filas de una tabla mediante los siguientes pasos: 1. Seleccione Tables en la región Schema de la página de propiedades Administration. Introduzca el nombre del esquema para buscar la tabla y haga clic en Go. 2. Haga clic en el nombre de la tabla en la que desea activar el movimiento de filas. Aparece la página View Table. 3. Haga clic en Edit para acceder a la página Edit Table. 4. Haga clic en el separador Options, en el que podrá cambiar el valor de Enable Row Movement de la tabla. 5. Defina Enable Row Movement en Yes y haga clic en Apply. Aparece el mensaje de confirmación de actualización.

Base de Datos Oracle 10g: Taller de Administración I 17-13


Realización de Flashback de Tabla

FLASHBACK TABLE hr.employees TO TIMESTAMP TO_TIMESTAMP('2005-05-05 05:32:00', 'YYYY-MM-DD HH24:MI:SS'); Copyright © 2005, Oracle. Todos los derechos reservados.

Realización de Flashback de Tabla Puede realizar un flashback en una tabla en Enterprise Manager mediante los siguientes pasos: 1. Seleccione Perform Recovery en la región Backup/Recovery de la página de propiedades Maintenance. Aparece la página Perform Recovery. 2. En la región Object Level Recovery, seleccione Tables en la lista desplegable Object Type. 3. Seleccione Flashback Existing Tables como Operation Type. Haga clic en Perform Object Level Recovery. Aparece la página “Perform Object Level Recovery: Point-in-time”. 4. Seleccione “Flashback to a timestamp” o “Flashback to a known SCN” y, a continuación, especifique un registro de hora o SCN para realizar un flashback y haga clic en Next. 5. Haga clic en Add Tables para agregar tablas a la lista de la operación de flashback. Haga clic en Next. 6. Si existen tablas dependientes, aparece la página Dependency Options. Seleccione la opción que desee para gestionar las tablas dependientes. Normalmente, debería seleccionar “Cascade” para garantizar un flashback consistente. Haga clic en Next. 7. Aparece la página “Perform Object Level Recovery: Review”. Revise la información y haga clic en Submit. Aparecerá la página Confirmation. Nota: También puede realizar un flashback de tablas a través del enlace Tables de la región Schema de la página Administration.

Base de Datos Oracle 10g: Taller de Administración I 17-14


Flashback de Tabla: Consideraciones •

• • •

El comando FLASHBACK TABLE se ejecuta como una sola transacción y adquiere bloqueos de DML exclusivos. El flashback no afecta a las estadísticas. Se mantienen los índices y los objetos dependientes actuales. Operaciones de flashback de tabla: – – – –

No se pueden realizar en tablas del sistema No pueden abarcar operaciones de DDL Se escriben en el archivo log de alertas Generan datos de deshacer y de redo

Copyright © 2005, Oracle. Todos los derechos reservados.

Flashback de Tabla: Consideraciones • La sentencia FLASHBACK TABLE completa se ejecuta en una única transacción. Se realiza un flashback en todas o en ninguna de las tablas especificadas. • La operación de flashback de tabla adquiere bloqueos de lenguaje de manipulación de datos (DML) exclusivos en todas las tablas especificadas en la sentencia durante el período de tiempo en que la operación está en curso. • El flashback no se aplica a las estadísticas de los objetos afectados. • Se mantienen todos los índices existentes. Los índices borrados no se vuelven a crear. Las vistas materializadas dependientes de confirmación también se mantienen de forma automática. • La sentencia FLASHBACK TABLE se escribe en el log de alertas. • Se realiza un flashback en las tablas especificadas mediante la sentencia FLASHBACK TABLE, siempre que no se viole ninguna de las restricciones de las tablas. Si se viola alguna restricción durante la ejecución del flashback, la operación se aborta y las tablas permanecen en el mismo estado en el que se encontraban justo antes de la llamada a la sentencia FLASHBACK TABLE.

Base de Datos Oracle 10g: Taller de Administración I 17-15


Flashback de Tabla: Consideraciones (continuación) • No puede realizar un flashback de tabla a una hora concreta anterior a la hora de la ejecución de una operación de lenguaje de definición de datos (DDL) que modificó la estructura de una tabla o que redujo una tabla que se iba a incluir en la operación de flashback. Esta restricción no se aplica a las sentencias DDL que sólo cambian los atributos de almacenamiento de las tablas. • No se puede realizar un flashback de tabla en las tablas del sistema, las tablas remotas ni las tablas fijas.

Base de Datos Oracle 10g: Taller de Administración I 17-16


Flashback de Borrado: Visión General

Visión General Base de Datos Tabla > Borrado Consulta Versiones Transacción

Papelera de reciclaje

DROP TABLE employees;

FLASHBACK TABLE employees TO BEFORE DROP;

Se cometió un error.

Copyright © 2005, Oracle. Todos los derechos reservados.

Flashback de Borrado: Visión General Con la función de flashback de borrado puede deshacer los efectos de una sentencia DROP TABLE sin tener que utilizar la recuperación point-in-time tradicional. Esto es posible gracias a la papelera de reciclaje, que se puede consultar a través de la vista DBA_RECYCLEBIN.

Base de Datos Oracle 10g: Taller de Administración I 17-17


Flashback de Tablas Borradas mediante Enterprise Manager

También se realiza un flashback en el índice de bitmap dependiente.

Copyright © 2005, Oracle. Todos los derechos reservados.

Flashback de Tablas Borradas mediante Enterprise Manager Para realizar un flashback de tablas borradas con la Consola de Database Control, seleccione Perform Recovery en la región Backup/Recovery de la página Maintenance. Seleccione Tables para Object Type de la región Type y seleccione Flashback Dropped Tables en la región Operation Type. Después de realizar esta acción, haga clic en Perform Object Level Recovery. Ahora deberá ver la página “Perform Object Level Recovery: Dropped Objects Selection”, en la que puede seleccionar las tablas borradas de la papelera de reciclaje. También puede consultar el contenido de las tablas borradas haciendo clic en View Content. Seleccione las tablas que desee recuperar y haga clic en Next. Aparece la página “Perform Object Level Recovery: Rename”, en la que puede cambiar el nombre de la tabla si existe otra con el mismo nombre en el mismo esquema. Haga clic en Next para continuar. En la página “Perform Object Level Recovery: Review”, puede revisar los detalles de la operación, así como mostrar las sentencias SQL correspondientes. Cuando esté preparado, haga clic en Submit. Ahora debe aparecer la página Confirmation. Haga clic en OK para volver a la página Maintenance. Nota: También puede realizar un flashback de tablas borradas a través del enlace Tables de la región Schema de la página Administration. En la página Tables, haga clic en el botón Recycle Bin. Base de Datos Oracle 10g: Taller de Administración I 17-18


Flashback de Borrado: Consideraciones •

La función de flashback de borrado no funciona con las tablas que: – Residen en el tablespace SYSTEM – Utilizan auditoría detallada o base de datos privada virtual – Residen en un tablespace gestionado por diccionario – Han sido depuradas, ya sea de forma manual o automática por problema de espacio

Las siguientes dependencias no se protegen: – – – –

Índices de unión de bitmap Logs de vistas materializadas Restricciones de integridad referencial Índices borrados antes que las tablas Copyright © 2005, Oracle. Todos los derechos reservados.

Flashback de Borrado: Consideraciones La función de flashback de borrado sólo funciona con tablas situadas en tablespaces gestionados de forma local (LMT) que no son SYSTEM. No obstante, en los objetos dependientes que residen en tablespaces gestionados por diccionario se realiza un flashback como parte de la operación de flashback del objeto principal que alberga LMT. En las tablas con políticas de auditoría detallada (FGA) o de base de datos privada virtual (VPD) definidas no se puede realizar una operación de flashback de borrado. Tampoco es posible realizar un flashback de borrado en una tabla que se haya depurado. Puede que se haya depurado manualmente con la sentencia PURGE o automáticamente por necesidad de espacio para otros objetos del tablespace. Al realizar un flashback de borrado en una tabla, también se realiza un flashback en todos los objetos dependientes de dicha tabla desde la papelera de reciclaje. Existen algunas excepciones: No se puede realizar un flashback en los índices de unión de bitmap, las restricciones de integridad referencial y los logs de vistas materializadas, aunque sí se pueda realizar en su tabla principal. Nota: Si borra un índice antes que la tabla a la que está asociado, la recuperación del índice no es posible cuando se hace un flashback de la tabla borrada.

Base de Datos Oracle 10g: Taller de Administración I 17-19


Acceso al Tiempo de Flashback •

Consulta de flashback – Consultar todos los datos de un punto en el tiempo determinado.

Visión General Base de Datos Tabla Borrado > Consulta Versiones Transacción

Consulta de flashback de versiones – Ver todas las versiones de una fila entre dos horas. – Ver las transacciones que cambiaron la fila.

Consulta de flashback de transacciones

Tiempo

– Ver todos los cambios que ha realizado una transacción. Transacción 3 Transacción 2 Transacción 1

Flashback

Copyright © 2005, Oracle. Todos los derechos reservados.

Acceso al Tiempo de Flashback La tecnología de flashback ofrece la capacidad de consultar versiones anteriores de objetos de esquema, consultar datos históricos o realizar análisis de cambios. Cada transacción genera de forma lógica una nueva versión de la base de datos. Con la tecnología de flashback, puede navegar por estas versiones para buscar un error y su causa: • Consulta de Flashback: Consulta de todos los datos existentes en un punto en el tiempo determinado. • Consulta de Flashback de Versiones: Visualización de todas las versiones de las filas entre dos horas y las transacciones que cambiaron la fila. • Consulta de Flashback de Transacciones: Visualización de todos los cambios que ha realizado una transacción.

Base de Datos Oracle 10g: Taller de Administración I 17-20


Consulta de Flashback: Visión General

Employees

Actualizaciones no deseadas

Employees

t1

t2

SELECT employee_id, salary FROM employees AS OF TIMESTAMP t1 WHERE employee_id = 200

Copyright © 2005, Oracle. Todos los derechos reservados.

Consulta de Flashback: Visión General Con la función de consulta de flashback, puede realizar consultas en la base de datos relacionadas con un momento determinado. Al utilizar la cláusula AS OF de la sentencia SELECT, puede especificar el registro de hora para el que desea visualizar los datos. Esto resulta útil para analizar una discrepancia en los datos. Nota: A la cláusula AS OF le pueden seguir TIMESTAMP o SCN.

Base de Datos Oracle 10g: Taller de Administración I 17-21


Consulta de Flashback: Ejemplo

Employees

Employees

Employees

salary = 4,400

salary = 4,840

salary = 4,400

11:00

11:10

UPDATE employees SET salary = (SELECT salary FROM employees AS OF TIMESTAMP TO_TIMESTAMP ('2005-05-04 11:00:00', 'yyyy-mm-dd hh24:mi:ss') WHERE employee_id = 200) WHERE employee_id = 200

Copyright 漏 2005, Oracle. Todos los derechos reservados.

Consulta de Flashback: Ejemplo Si se ha concedido, por error, un aumento a un empleado recientemente, puede volver a actualizar el salario asignando el salario proporcionado mediante una subconsulta que devuelve el valor en el que se ha realizado el flashback.

Base de Datos Oracle 10g: Taller de Administraci贸n I 17-22


Consulta de Flashback de Versiones: Visión General Transacción 0

Transacción 1

Employees

Transacción 2

Employees

Visión General Base de Datos Tabla Borrado Consulta > Versiones Transacción

Employees

200

t1

t2

SELECT versions_xid, salary FROM employees VERSIONS BETWEEN TIMESTAMP t1 and t2 WHERE employee_id = 200;

Transacción 0

Transacción 1

Transacción 2

Copyright © 2005, Oracle. Todos los derechos reservados.

Consulta de Flashback de Versiones: Visión General Con la función de consulta de flashback, puede realizar consultas en la base de datos a partir de un intervalo de tiempo determinado o un rango de números de cambio del sistema (SCN) especificado por el usuario. La función de consulta de flashback de versiones permite utilizar la cláusula VERSIONS para recuperar todas las versiones de las filas existentes entre dos puntos en el tiempo o dos SCN. Las filas devueltas por la consulta de flashback de versiones representan un historial de cambios de las filas entre transacciones. La consulta de flashback de versiones sólo recupera las incidencias confirmadas de las filas. Las versiones no confirmadas de las filas de una transacción no se muestran. Las filas devueltas también incluyen las versiones suprimidas y las posteriormente insertadas de dichas filas. Puede utilizar la consulta de flashback de versiones para recuperar el historial de filas. Esto ofrece una forma de auditar las filas de una tabla y recuperar información sobre las transacciones que han afectado a las filas. A continuación, puede utilizar el identificador de transacción devuelto para realizar una extracción de transacción mediante LogMiner o realizar una consulta de flashback de versiones, que se tratará más adelante en esta lección. Nota: En el ejemplo, VERSIONS_XID es una pseudocolumna que devuelve el identificador de transacción de la versión correspondiente de una fila. Base de Datos Oracle 10g: Taller de Administración I 17-23


Consulta de Flashback de Versiones mediante Enterprise Manager

Copyright © 2005, Oracle. Todos los derechos reservados.

Consulta de Flashback de Versiones mediante Enterprise Manager La consulta de flashback de versiones también se puede llevar a cabo mediante Enterprise Manager. En la página Maintenance, seleccione Perform Recovery. En la página Perform Recovery, seleccione Tables en Object Type y Flashback Existing Tables en Operation Type. Haga clic en Perform Object Level Recovery. En la página “Perform Object Level Recovery: Point-in-Time”, seleccione “Evaluate row changes and transactions to decide on a point in time” y especifique el nombre de la tabla de destino. Seleccione las columnas que desee visualizar en el recuadro Available Columns y, a continuación, introduzca una cláusula de búsqueda en el recuadro Bind The Row Value. Seleccione “Show all row history” y haga clic en Next.

Base de Datos Oracle 10g: Taller de Administración I 17-24


Consulta de Flashback de Versiones: Consideraciones •

La cláusula VERSIONS no se puede utilizar para realizar consultas en: – – – –

• •

Tablas externas Tablas temporales Tablas fijas Vistas

La cláusula VERSIONS no puede abarcar comandos DDL. Las operaciones de reducción de segmentos se filtran.

Copyright © 2005, Oracle. Todos los derechos reservados.

Consulta de Flashback de Versiones: Consideraciones La cláusula VERSIONS no se puede utilizar para consultar las siguientes tablas especiales: • Tablas externas • Tablas temporales • Tablas fijas No puede utilizar la cláusula VERSIONS para realizar una consulta en una vista. Sin embargo, una definición de vista puede utilizar la cláusula VERSIONS. La cláusula VERSIONS en una sentencia SELECT no puede producir versiones de filas en las sentencias DDL que cambian la estructura de las tablas correspondientes. Esto significa que la consulta deja de producir filas cuando alcanza una hora del pasado en que se cambió la estructura. Ciertas operaciones de mantenimiento, como la reducción de un segmento, pueden mover las filas de la tabla de un bloque a otro. En tal caso, la consulta de versiones filtra estas versiones fantasma porque los datos de la fila permanecen sin cambios.

Base de Datos Oracle 10g: Taller de Administración I 17-25


Consulta de Flashback de Transacciones: Visión General FLASHBACK_TRANSACTION_QUERY

Visión General Base de Datos Tabla Borrado Consulta Versiones > Transacción

DBA DML erróneo

SQL de deshacer

Usuario Copyright © 2005, Oracle. Todos los derechos reservados.

Consulta de Flashback de Transacciones: Visión General La consulta de flashback de transacciones es una herramienta de diagnóstico que puede utilizar para ver los cambios realizados en la base de datos a nivel de transacción. Permite diagnosticar los problemas de la base de datos y realizar análisis y auditorías de transacciones. Puede utilizar la vista FLASHBACK_TRANSACTION_QUERY con el fin de determinar todas las sentencias SQL necesarias que se pueden usar para deshacer los cambios realizados por una transacción concreta o durante un período de tiempo específico.

Base de Datos Oracle 10g: Taller de Administración I 17-26


Consulta de Flashback de Transacciones mediante Enterprise Manager

Copyright © 2005, Oracle. Todos los derechos reservados.

Consulta de Flashback de Transacciones mediante Enterprise Manager Esta función se utiliza junto con la función de consulta de flashback de versiones con la ayuda del asistente Perform Recovery. En la página “Perform Object Level Recovery: Choose SCN”, haga clic en el enlace Transaction ID correspondiente en la región Flashback Versions Query Result. En el ejemplo de la diapositiva, se realiza una consulta de flashback de versiones en la tabla JOBS para recuperar las tres versiones de la fila JOBS de JOB_ID = 'AD_PRES'. A continuación, se hace clic en uno de los identificadores de transacción, con lo que muestran todos los cambios que formaban parte de la transacción. Observe que, además de la actualización de la tabla JOB, también se actualizó la tabla EMPLOYEES en dicha transacción.

Base de Datos Oracle 10g: Taller de Administración I 17-27


Consulta de Flashback de Transacciones: Consideraciones • • •

Los procedimientos DDL se consideran como actualizaciones de diccionario. Los objetos borrados aparecen como números de objeto. Los usuarios borrados aparecen como identificadores de usuario.

Copyright © 2005, Oracle. Todos los derechos reservados.

Consulta de Flashback de Transacciones: Consideraciones • Dentro de la base de datos, las operaciones DDL no son más que una serie de operaciones de gestión de espacio y cambios en el diccionario de datos. Una consulta de flashback de transacciones en una transacción subyacente a un DDL muestra los cambios realizados en el diccionario de datos. • Cuando la consulta de flashback de transacciones implica tablas borradas de la base de datos, los nombres de las tablas no se reflejan. En su lugar, se utilizan números de objeto. • Si el usuario que ejecutó una transacción se borra, la consulta de flashback de transacciones de dicha transacción muestra el identificador de usuario correspondiente en lugar del nombre de usuario. Nota: Cuando no hay datos de deshacer suficientes para una transacción concreta, se devuelve una fila con el valor UNKNOWN en la columna OPERATION de FLASHBACK_TRANSACTION_QUERY.

Base de Datos Oracle 10g: Taller de Administración I 17-28


Resumen En esta lección, debe haber aprendido lo siguiente: • Describir la función de flashback de base de datos • Restaurar el contenido de la tabla a un punto específico en el pasado con flashback de tabla • Recuperar una tabla borrada • Visualizar el contenido de la base de datos desde cualquier punto en el tiempo con consulta de flashback • Visualizar las versiones de una fila a lo largo del tiempo con consulta de flashback de versiones • Visualizar el historial de transacciones o una fila con consulta de flashback de transacciones Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 17-29


Visión General de la Práctica: Uso de Flashback En esta práctica se abordan los siguientes temas: • Uso de flashback para recuperar una tabla borrada • Realización de una consulta de flashback de versiones

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 17-30


Movimiento de Datos

Copyright Š 2005, Oracle. Todos los derechos reservados.


Objetivos

Objeto de Directorio SQL*Loader Pump de Datos - Exportación - Importación Tabla Externa

Al finalizar esta lección, debería estar capacitado para lo siguiente: • Describir las formas disponibles para mover datos • Crear y utilizar objetos de directorio • Utilizar SQL*Loader para cargar datos de una base de datos que no sea Oracle (o archivos de usuario) • Explicar la arquitectura general del pump de datos • Utilizar la exportación e importación de pump de datos para mover datos entre las bases de datos Oracle • Utilizar las tablas externas para mover datos a través de archivos independientes de la plataforma Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 18-2


Movimiento de Datos: Arquitectura General SQL*Loader

expdp

impdp

Otros clientes

Pump de datos Motor de movimiento de datos/metadatos DBMS_DATAPUMP

Pump de datos de Oracle API de tabla externa

Cargador de Oracle

API de ruta de acceso directa

API de metadatos

Copyright © 2005, Oracle. Todos los derechos reservados.

Movimiento de Datos: Arquitectura General Este diagrama de bloques muestra los principales componentes funcionales: • DBMS_DATAPUMP: Este paquete incorpora la API para las utilidades de exportación e importación de alta velocidad destinadas al movimiento de datos en bloque y metadatos. • API de ruta de acceso directa (DPAPI): La base de datos Oracle 10g soporta una interfaz de API de ruta de acceso directa que minimiza el análisis y la conversión de datos tanto en la carga como en la descarga. • DBMS_METADATA: Los procesos de worker utilizan este paquete para cargar y descargar todos los metadatos. Las definiciones de objetos de base de datos se almacenan mediante XML en lugar de SQL. • API de tabla externa: Con los controladores de acceso ORACLE_DATAPUMP y ORACLE_LOADER, se pueden almacenar datos en tablas externas (es decir, en archivos independientes de la plataforma). La sentencia SELECT lee tablas externas como si estuvieran almacenadas en una base de datos Oracle. • SQL*Loader: Se ha integrado el cliente de SQL*Loader con las tablas externas, lo que permite la migración automática de los archivos de control del cargador a los parámetros de acceso de las tablas externas. • expdp e impdp: Los clientes expdp e impdp son capas finas que realizan llamadas al paquete DBMS_DATAPUMP para iniciar y controlar las operaciones de pump de datos. • Otros clientes: Son aplicaciones como Database Control, la replicación, los tablespaces transportables y las aplicaciones de usuario que se benefician de esta infraestructura. También se puede utilizar SQL*Plus a modo de cliente de DBMS_DATAPUMP para realizar consultas de estado simples sobre operaciones en curso. Base de Datos Oracle 10g: Taller de Administración I 18-3


Objeto de Directorio: Visión General

Copyright © 2005, Oracle. Todos los derechos reservados.

Objeto de Directorio: Visión General Los objetos de directorio son estructuras lógicas que representan un directorio físico en el sistema de archivos del servidor. Contienen la ubicación de un directorio del sistema operativo específico. Este nombre de objeto de directorio se puede utilizar en Enterprise Manager, por lo que no es necesario codificar las especificaciones de la ruta de acceso al directorio. Por lo tanto, se obtiene una mayor flexibilidad de gestión de archivos. Los objetos de directorio son propiedad del usuario SYS. Los nombres de directorio son únicos en la base de datos porque todos los directorios se ubican en un espacio de nombres único (es decir, SYS). Los objetos de directorio son necesarios cuando se especifican ubicaciones de archivos para pump de datos porque éste accede a los archivos en el servidor en vez de en el cliente. En Enterprise Manager, seleccione Administration > Directory Objects. Para editar o suprimir un objeto de directorio, seleccione el objeto de directorio y haga clic en el botón correspondiente.

Base de Datos Oracle 10g: Taller de Administración I 18-4


Creación de Objetos de Directorio 1 2

3

5

4

Copyright © 2005, Oracle. Todos los derechos reservados.

Creación de Objetos de Directorio 1. En la página Directory Objects, haga clic en el botón Create. 2. Introduzca el nombre del objeto de directorio y la ruta del sistema operativo al que se asigna. Los directorios del sistema operativo se deben crear antes de utilizarse. Puede probarlo si hace clic en el botón “Test File System”. Para la prueba, proporcione las credenciales de conexión al host (es decir, el usuario del sistema operativo que tiene privilegios en este directorio del sistema operativo). 3. Los permisos para los objetos de directorio no son los mismos que los permisos del sistema operativo del directorio físico del sistema de archivos del servidor. Puede gestionar los privilegios de usuario en los objetos de directorio individuales. Esto aumenta el nivel de seguridad y proporciona un control más específico sobre dichos objetos. En la página con separadores Privileges, haga clic en Add para seleccionar el usuario al que desea otorgar privilegios de lectura, de escritura o ambos. 4. Haga clic en Show SQL para visualizar las sentencias subyacentes. 5. Haga clic en OK para crear el objeto.

Base de Datos Oracle 10g: Taller de Administración I 18-5


SQL*Loader: Visión General

Objeto de Directorio > SQL*Loader Pump de Datos - Exportación - Importación Tabla Externa

Archivos de datos de entrada

Archivo de control SQL*Loader Rechazado Procesamiento de campos Aceptado Desechado Selección de registros Seleccionado

Archivo de desechos (opcional)

Servidor de Oracle Insertado

Archivo de errores

Rechazado

Archivo log

Copyright © 2005, Oracle. Todos los derechos reservados.

SQL*Loader: Visión General SQL*Loader carga datos de archivos externos en tablas de una base de datos Oracle. Dispone de un potente sistema de análisis de datos que limita muy poco el formato de los datos en el archivo de datos. Los archivos que utiliza SQL*Loader son los siguientes: Archivos de datos de entrada: SQL*Loader lee datos de uno o más archivos (o equivalentes de archivos del sistema operativo) especificados en el archivo de control. Desde la perspectiva de SQL*Loader, los datos del archivo de datos se organizan en registros. Un archivo de datos concreto puede tener un formato de registro fijo, variable o de flujo. El formato de registro se puede especificar en el archivo de control con el parámetro INFILE. Si no se especifica ningún formato de registro, el valor por defecto es el formato de registro de flujo. Archivo de control: El archivo de control es un archivo de texto escrito con un lenguaje que SQL*Loader comprende. El archivo de control indica a SQL*Loader dónde encontrar los datos, cómo analizarlos e interpretarlos, dónde insertarlos, etc. Aunque no está definido de forma precisa, se puede decir que un archivo de control tiene tres secciones. • La primera sección contiene amplia información de sesiones, por ejemplo: - Opciones globales, como el nombre del archivo de datos de entrada y los registros que se van a saltar - Cláusulas INFILE para especificar dónde localizar los datos de entrada - Datos que se van a cargar Base de Datos Oracle 10g: Taller de Administración I 18-6


SQL*Loader: Visión General (continuación) • La segunda sección se compone de uno o más bloques INTO TABLE. Cada uno de estos bloques contiene información sobre la tabla (como el nombre de tabla y las columnas de la misma) en la que se van a cargar los datos. • La tercera sección es opcional y, si está presente, contiene datos de entrada. Archivo log: Cuando SQL*Loader inicia la ejecución, crea un archivo log. Si no puede crear un archivo log, la ejecución termina. El archivo log contiene un resumen detallado de la carga, que incluye una descripción de cualquier error producido durante la carga. Archivo de errores: El archivo de errores contiene registros que fueron rechazados, por SQL*Loader o por la base de datos Oracle. SQL*Loader rechaza los registros de archivos de datos cuando el formato de entrada no es válido. Una vez que SQL*Loader acepta un registro de archivo de datos para su procesamiento, éste se envía a la base de datos Oracle para su inserción en una tabla como una fila. Si la base de datos Oracle determina que la fila es válida, ésta se inserta en la tabla. Si se determina que la fila no es válida, se rechaza el registro y SQL*Loader lo pone en el archivo de errores. Archivo de desechos: Este archivo se crea sólo cuando es necesario y si se ha especificado que se active uno. El archivo de desechos contiene registros que se han filtrado de la carga porque no coinciden con ningún criterio de selección de registro especificado en el archivo de control. Para obtener más información sobre SQL*Loader, consulte la documentación Oracle Database Utilities Guide.

Base de Datos Oracle 10g: Taller de Administración I 18-7


Carga de Datos con SQL*Loader

Copyright © 2005, Oracle. Todos los derechos reservados.

Carga de Datos con SQL*Loader Utilice el asistente Load Data from User Files para cargar datos de un archivo plano a una base de datos Oracle. Para visualizar el asistente, seleccione Enterprise Manager Maintenance > Data Movement > Move Row Data > Load Data from User Files. El asistente le guiará por los pasos necesarios.

Base de Datos Oracle 10g: Taller de Administración I 18-8


Archivo de Control de SQL*Loader El archivo de control de SQL*Loader le indica a SQL*Loader lo siguiente: • La ubicación de los datos que se van a cargar • El formato de los datos • Los detalles de configuración: – Gestión de memoria – Rechazo de registros – Detalles de manejo de cargas interrumpidas

Los detalles de manipulación de datos

Copyright © 2005, Oracle. Todos los derechos reservados.

Archivo de Control de SQL*Loader El archivo de control de SQL*Loader es un archivo de texto que contiene instrucciones de lenguaje de definición de datos (DDL). DDL se utiliza para controlar los siguientes aspectos de una sesión de SQL*Loader: • Dónde encuentra SQL*Loader los datos que se van a cargar • Qué formato espera SQL*Loader que tengan los datos • Cómo se configura SQL*Loader (incluida la gestión de memoria, el rechazo de registros, el manejo de cargas interrumpidas, etc.) cuando carga los datos • Cómo manipula SQL*Loader los datos que se están cargando

Base de Datos Oracle 10g: Taller de Administración I 18-9


Archivo de Control de SQL*Loader (continuación) 1 -- This is a sample control file 2 LOAD DATA 3 INFILE ’SAMPLE.DAT’ 4 BADFILE ’sample.bad’ 5 DISCARDFILE ’sample.dsc’ 6 APPEND 7 INTO TABLE emp 8 WHEN (57) = ’.’ 9 TRAILING NULLCOLS 10 (hiredate SYSDATE, deptno POSITION(1:2) INTEGER EXTERNAL(3) NULLIF deptno=BLANKS, job POSITION(7:14) CHAR TERMINATED BY WHITESPACE NULLIF job=BLANKS "UPPER(:job)", mgr POSITION(28:31) INTEGER EXTERNAL TERMINATED BY WHITESPACE, NULLIF mgr=BLANKS, ename POSITION(34:41) CHAR TERMINATED BY WHITESPACE "UPPER(:ename)", empno POSITION(45) INTEGER EXTERNAL TERMINATED BY WHITESPACE, sal POSITION(51) CHAR TERMINATED BY WHITESPACE "TO_NUMBER(:sal,’$99,999.99’)", comm INTEGER EXTERNAL ENCLOSED BY ’(’ AND ’%’ ":comm * 100" )

La explicación de un archivo de control de ejemplo por números de línea es la siguiente: 1. Pueden aparecer comentarios en cualquier lugar de la sección de comandos del archivo, pero no deben aparecen dentro de los datos. Escriba dos guiones delante de cualquier comentario. Se ignora todo el texto situado a la derecha del guión doble, hasta el final de la línea. 2. La sentencia LOAD DATA indica a SQL*Loader que éste es el inicio de una nueva carga de datos. Si continúa con una carga que se interrumpió cuando estaba en curso, utilice la sentencia CONTINUE LOAD DATA. 3. La palabra clave INFILE especifica el nombre de un archivo que contiene los datos que desea cargar. 4. La palabra clave BADFILE especifica el nombre de un archivo en el que se colocan los registros rechazados. 5. La palabra clave DISCARDFILE especifica el nombre de un archivo en el que se colocan los registros desechados. 6. La palabra clave APPEND es una de las opciones que puede utilizar al cargar datos en una tabla que no está vacía. Para cargar datos en una tabla que está vacía, utilice la palabra clave INSERT. 7. La palabra clave INTO TABLE permite identificar tablas, campos y tipos de dato. Define la relación entre registros del archivo de datos y tablas de la base de datos. 8. La cláusula WHEN especifica una o más condiciones de campo con las que deben coincidir los registros para que SQL*Loader cargue los datos. En este ejemplo, SQL*Loader sólo carga el registro si el carácter 57 es un punto decimal. Dicho punto decimal delimita los dólares y los céntimos en el campo y hace que los registros se rechacen si SAL no tiene ningún valor. 9. La cláusula TRAILING NULLCOLS pide a SQL*Loader que trate cualquier columna con una ubicación relativa que no esté en el registro como columna nula. 10. El resto del archivo de control contiene la lista de campos, que proporciona información sobre los formatos de columna en la tabla que se está cargando. Base de Datos Oracle 10g: Taller de Administración I 18-10


Métodos de Carga Escrituras de bloques

Inserción de datos Tabla

Límite superior

Carga Convencional

Carga de Ruta de Acceso Directa

Utiliza COMMIT

Utiliza datos guardados (operación más rápida)

Siempre genera entradas de redo

Genera un redo sólo en condiciones concretas

Aplica todas las restricciones

Aplica sólo PRIMARY KEY, UNIQUE y NOT NULL

Arranca disparadores INSERT

No arranca disparadores INSERT

Puede cargar en tablas en cluster

No carga en clusters

Permite que otros usuarios modifiquen las tablas durante la operación de carga

Evita que otros usuarios realicen cambios en las tablas durante la operación de carga

Copyright © 2005, Oracle. Todos los derechos reservados.

Comparación de las Cargas de Ruta de Acceso Directa y Convencional Método para Guardar Datos Las cargas de ruta de acceso convencional utilizan el procesamiento SQL y la operación COMMIT de base de datos para guardar datos. La inserción de una matriz de registros va seguida de una operación COMMIT. Cada carga de datos puede implicar varias transacciones. Las cargas de ruta de acceso directa utilizan almacenamientos de datos para escribir bloques de datos en archivos de datos Oracle. Por eso la carga de ruta de acceso directa es más rápida que la convencional. Las siguientes funciones diferencian guardar datos de COMMIT: • Durante el proceso de guardar datos, sólo se escriben bloques completos de base de datos en la base de datos. • Los bloques se escriben después del límite superior de la tabla. • Después de guardar datos, se mueve el límite superior. • Los recursos internos no se liberan después de guardar datos. • Al guardar datos no termina la transacción. • Los índices no se actualizan cada vez que se guardan datos. Nota: Las cargas de ruta de acceso directa y paralela son tan parecidas con respecto a las actividades de DML que no se han diferenciado en esta comparación.

Base de Datos Oracle 10g: Taller de Administración I 18-11


Comparación de las Cargas de Ruta de Acceso Directa y Convencional (continuación) Registro de Cambios La carga de ruta de acceso convencional genera entradas de redo de forma similar a cualquier sentencia DML. Al utilizar una carga de ruta de acceso directa, no se generan entradas de redo si: • La base de datos está en modo NOARCHIVELOG. • La base de datos está en modo ARCHIVELOG, pero el registro está desactivado. El registro se puede desactivar definiendo el atributo NOLOGGING para la tabla o utilizando la cláusula UNRECOVERABLE en el archivo de control. Aplicación de Restricciones Durante una carga de ruta de acceso convencional, todas las restricciones activadas se aplican de la misma forma que durante cualquier operación DML. Durante las cargas de ruta de acceso directa, las restricciones se manejan de la siguiente forma: • Las restricciones NOT NULL se comprueban cuando se crean las matrices. • Las restricciones FOREIGN KEY y CHECK se desactivan y se pueden activar al final de la carga mediante los comandos adecuados del archivo de control. Las restricciones FOREIGN KEY se desactivan porque hacen referencia a otras filas o tablas y las restricciones CHECK se desactivan porque pueden utilizar funciones SQL. Si sólo va a insertan un pequeño número de filas en una tabla grande, utilice las cargas convencionales. • Las restricciones PRIMARY KEY y UNIQUE se comprueban durante la carga y al final de la misma, y se pueden desactivar si se violan. Arranque de Disparadores INSERT Los disparadores WHILE INSERT se arrancan durante las cargas convencionales; se desactivan antes de una carga de ruta de acceso directa y se vuelven a activar al final de la carga. Pueden permanecer desactivados si al final de la ejecución no se puede acceder a un objeto al que se hace referencia. Considere el uso de cargas de ruta de acceso convencional para cargar datos en tablas con disparadores INSERT. Carga en Tablas en Cluster No se pueden utilizar cargas directas para cargar filas en tablas en cluster. Las tablas en cluster se pueden cargar sólo mediante cargas de ruta de acceso convencional. Bloqueo Mientras una carga de ruta de acceso directa está en curso, ninguna otra transacción puede realizar cambios en las tablas que se están cargando. La única excepción a esta regla se produce cuando se utilizan simultáneamente varias sesiones de carga directa paralela.

Base de Datos Oracle 10g: Taller de Administración I 18-12


Pump de Datos: Visión General

Objeto de Directorio SQL*Loader > Pump de Datos - Exportación - Importación Tabla Externa

Como utilidad basada en el servidor para el movimiento de datos y metadatos de alta velocidad, el pump de datos: • Se puede llamar a través de DBMS_DATAPUMP • Proporciona las siguientes herramientas: – expdp – impdp – Interfaz basada en Web

Proporciona métodos de acceso a los datos: – Ruta de acceso directa – Tablas externas

• •

Desconecta y vuelve a conectar trabajos de larga ejecución Reinicia trabajos de pump de datos Copyright © 2005, Oracle. Todos los derechos reservados.

Pump de Datos: Visión General El pump de datos permite la carga y descarga de datos y metadatos a velocidad muy alta en las bases de datos Oracle. La infraestructura de pump de datos se puede llamar a través del paquete PL/SQL DBMS_DATAPUMP. Por tanto, es posible crear utilidades personalizadas para mover datos mediante pump de datos. La base de datos Oracle 10g soporta las siguientes herramientas: • Clientes de exportación e importación de línea de comandos, denominados expdp e impdp, respectivamente • Una interfaz de exportación e importación basada en Web a la que se puede acceder desde Database Control El pump de datos decide automáticamente los métodos de acceso a los datos que se van a utilizar; puede ser una ruta de acceso directa o tablas externas. El pump de datos utiliza la carga y la descarga de ruta de acceso directa cuando la estructura de una tabla lo permite y cuando se desea un rendimiento máximo de flujo único. No obstante, si existen tablas en cluster, restricciones de integridad referencial, columnas cifradas u otros elementos, el pump de datos utiliza las tablas externas en lugar de la ruta de acceso directa para mover los datos.

Base de Datos Oracle 10g: Taller de Administración I 18-13


Pump de Datos: Visión General (continuación) La capacidad para desconectar trabajos de larga duración y volver a conectarlos sin que esto afecte al trabajo en sí permite controlar los trabajos desde diversas ubicaciones mientras se ejecutan. Todos los trabajos de pump de datos parados se pueden reiniciar sin que se produzcan pérdidas de datos, siempre que la metainformación permanezca sin cambios. No importa si el trabajo se paró voluntaria o involuntariamente debido a un fallo. Nota: El pump de datos es una función integral de la base de datos Oracle 10g y, por tanto, está disponible en todas las configuraciones. No obstante, el paralelismo sólo está disponible en Enterprise Edition.

Base de Datos Oracle 10g: Taller de Administración I 18-14


Pump de Datos: Ventajas • • • • • • •

Selección de objetos y datos detallada Especificación explícita de la versión de la base de datos Ejecución en paralelo Estimación del consumo de espacio del trabajo de exportación Modo de red en entornos distribuidos Capacidades de nueva asignación durante la importación Ejemplo de datos y compresión de metadatos

Copyright © 2005, Oracle. Todos los derechos reservados.

Pump de Datos: Ventajas Se utilizan los parámetros EXCLUDE, INCLUDE y CONTENT para la selección detallada de objetos y datos. Puede especificar la versión de la base de datos correspondiente a los objetos que se moverán (gracias al parámetro VERSION) con el fin de crear un juego de archivos de volcado compatible con una versión anterior de la base de datos Oracle que soporte pump de datos. Se puede utilizar el parámetro PARALLEL para especificar el número máximo de threads de servidores de ejecución activos que usará el trabajo de exportación. Asimismo, cabe la posibilidad de calcular la cantidad de espacio que consumirá un trabajo de exportación (sin necesidad de realizar la exportación realmente) mediante el parámetro ESTIMATE_ONLY. El modo de red permite llevar a cabo la exportación desde una base de datos remota directamente a un juego de archivos de volcado. Esto se puede hacer a través de un enlace de base de datos con el sistema origen. Durante la importación, se pueden modificar los tablespaces, los esquemas y los nombres de los archivos de datos del sistema destino.

Base de Datos Oracle 10g: Taller de Administración I 18-15


Pump de Datos: Ventajas (continuación) Además, la base de datos Oracle 10g permite especificar un porcentaje de datos para que se tomen como ejemplo y se descarguen de la base de datos origen al realizar una exportación de pump de datos. Esto se puede realizar especificando el parámetro SAMPLE. Puede utilizar el parámetro COMPRESSION para indicar si se deben comprimir los metadatos en el archivo de volcado de exportación, de manera que consuman menos espacio en el disco. Si comprime los metadatos, se descomprimirán automáticamente durante la importación.

Base de Datos Oracle 10g: Taller de Administración I 18-16


Exportación e Importación de Pump de Datos: Cliente Visión General Enlace de base de datos

expdp Origen

Base de datos Tabla maestra

Destino Trabajo de pump de datos Juego de archivos de volcado

Proceso de servidor Base de datos Juego de archivos de volcado

Tabla maestra

“Modo de red” Proceso de servidor

Trabajo de pump de datos Cliente impdp

Copyright © 2005, Oracle. Todos los derechos reservados.

Exportación e Importación de Pump de Datos: Visión General La utilidad de exportación de pump de datos permite descargar datos y metadatos a un juego de archivos del sistema operativo denominado juego de archivos de volcado. La utilidad de importación de pump de datos se utiliza para cargar metadatos y datos almacenados en un juego de archivos de volcado de exportación en un sistema destino. La API de pump de datos accede a sus archivos en el servidor, no en el cliente. Estas utilidades también se pueden utilizar para llevar a cabo la exportación directamente desde una base de datos remota a un juego de archivos de volcado, o bien para cargar la base de datos destino directamente desde una base de datos origen sin archivos implicados. Esto se conoce como modo de red. Este modo resulta especialmente útil para exportar datos desde una base de datos origen de sólo lectura. En el núcleo de toda operación de pump de datos está la tabla maestra, que es una tabla creada en el esquema del usuario que ejecuta un trabajo de pump de datos. Esta tabla conserva todos los aspectos del trabajo. La tabla maestra se crea durante un trabajo de exportación basado en archivos y se escribe en el juego de archivos de volcado en el último paso. Por el contrario, la carga de la tabla maestra en el esquema del usuario actual constituye el primer paso de una operación de importación basada en archivos, y se utiliza para secuenciar la creación de todos los objetos importados. Nota: La tabla maestra es la clave de la capacidad de reinicio de pump de datos en caso de que se produzca una parada del trabajo, ya sea planificada o no. Esta tabla se borra cuando el trabajo de pump de datos finaliza de forma normal. Base de Datos Oracle 10g: Taller de Administración I 18-17


Utilidad Pump de Datos: Interfaces y Modos •

Interfaces de exportación e importación de pump de datos: – – – –

Línea de comandos Archivo de parámetros Línea de comandos interactiva Database Control

Modos de exportación e importación de pump de datos: – – – – –

Completa Esquema Tabla Tablespace Tablespace transportable Copyright © 2005, Oracle. Todos los derechos reservados.

Utilidad Pump de Datos: Interfaces y Modos Puede interactuar con la exportación y la importación de pump de datos mediante cualquiera de estas interfaces: • La interfaz de línea de comandos permite especificar la mayor parte de los parámetros de exportación directamente en la línea de comandos. • La interfaz de archivo de parámetros permite especificar todos los parámetros de línea de comandos en un archivo de parámetros. La única excepción es el parámetro PARFILE. • La interfaz de línea de comandos interactiva para el registro en el terminal y muestra los prompts de exportación o importación, en los que puede introducir diversos comandos. Para activar este modo, pulse [Ctrl] + [C] durante una operación de exportación iniciada con la interfaz de línea de comandos o de archivo de parámetros. El modo de línea de comandos interactiva también se activa cuando se conecta un trabajo en ejecución o parado. • También puede acceder a la interfaz Web. En la página inicial de Database Control, haga clic en el separador Maintenance y, a continuación, seleccione uno de los siguientes enlaces de la región Utilities: Export to Files, Import from Files o Import from Database. Las utilidades de exportación e importación de pump de datos ofrecen diversos modos para descargar y cargar porciones diferentes de la base de datos. El modo se especifica en la línea de comandos mediante el parámetro adecuado. Los modos disponibles aparecen en la diapositiva y son los mismos que en las utilidades de exportación e importación originales. Base de Datos Oracle 10g: Taller de Administración I 18-18


Selecciรณn de Objetos Detallada

Objeto de Directorio . SQL*Loader Pump de Datos > - Exportaciรณn - Importaciรณn Tabla Externa

Copyright ยฉ 2005, Oracle. Todos los derechos reservados.

Selecciรณn de Objetos Detallada El trabajo de pump de datos puede incluir o excluir prรกcticamente cualquier tipo de objeto. El parรกmetro EXCLUDE permite excluir cualquier tipo de objeto de base de datos de una operaciรณn de exportaciรณn o importaciรณn. El cualificador de nombre opcional ofrece una capacidad de selecciรณn mรกs detallada dentro de cada uno de los tipos de objetos especificados. Ejemplos: EXCLUDE=VIEW EXCLUDE=PACKAGE EXCLUDE=INDEX:"LIKE 'EMP%'"

El parรกmetro INCLUDE sรณlo incluye los objetos y los tipos de objetos especificados en una operaciรณn. Sintaxis: INCLUDE

= object_type[:"name_expr"]

El parรกmetro CONTENT permite solicitar para la operaciรณn actual sรณlo los metadatos, sรณlo los datos o ambos. Sintaxis: CONTENT = ALL | METADATA_ONLY | DATA_ONLY

El parรกmetro QUERY funciona de forma similar a como lo hace en la utilidad de exportaciรณn original, pero con dos mejoras significativas: se puede cualificar con un nombre de tabla de forma que sรณlo se aplique a dicha tabla y, ademรกs, se puede utilizar tambiรฉn durante la importaciรณn. Ejemplo: QUERY=hr.employees:"WHERE department_id in (10,20) and salary < 1600 ORDER BY department_id" Base de Datos Oracle 10g: Taller de Administraciรณn I 18-19


Función Avanzada: Creación de Ejemplos • •

Tarea: Crear datos de prueba. Método: Especificar un porcentaje de datos para que se tomen como ejemplo y se descarguen de la base de datos.

Ejemplo para descargar el 44% de la tabla HR.EMPLOYEES: SAMPLE="HR"."EMPLOYEES":44 Ejemplo para descargar el 30% del trabajo de exportación completo (porque no se ha especificado ningún nombre de tabla): expdp hr/hr DIRECTORY=DATA_PUMP_DIR DUMPFILE=sample1.dmp SAMPLE=30 Copyright © 2005, Oracle. Todos los derechos reservados.

Función Avanzada: Creación de Ejemplos Con el parámetro SAMPLE puede especificar un porcentaje de datos para que se tomen como ejemplo y se descarguen de la base de datos origen al realizar una exportación de pump de datos. Sintaxis: SAMPLE=[[schema_name.]table_name:]sample_percent

Rango de sample_percent: de 0.000001 a 100 (sin incluir) El porcentaje del ejemplo indica la probabilidad de que se incluya un bloque de filas. Nota: El parámetro SAMPLE no es válido para las exportaciones de red.

Base de Datos Oracle 10g: Taller de Administración I 18-20


Opciones de Exportación: Archivos

Copyright © 2005, Oracle. Todos los derechos reservados.

Opciones de Exportación: Archivos Los trabajos de pump de datos gestionan tres tipos de archivos: • Archivos de volcado de datos y metadatos que se van a mover • Archivos log de mensajes • Archivos SQL de salida de una operación SQLFILE Ya que el pump de datos se basa en el servidor y no en el cliente, para acceder a los archivos asociados a esta utilidad se utilizan rutas de acceso de directorio Oracle. Las rutas de acceso absolutas no están soportadas por motivos de seguridad.

Base de Datos Oracle 10g: Taller de Administración I 18-21


Ubicaciones de los Archivos de Pump de Datos

Orden de prioridad de las ubicaciones de archivos: • Directorio de cada archivo • Parámetro DIRECTORY • Variable de entorno DATA_PUMP_DIR • Objeto de directorio DATA_PUMP_DIR Copyright © 2005, Oracle. Todos los derechos reservados.

Ubicaciones de los Archivos de Pump de Datos En la diapositiva se muestra el orden de prioridad utilizado por los clientes de pump de datos para localizar estos archivos: • Es posible especificar objetos de directorio por cada archivo de volcado, archivo log y archivo SQL. En caso de especificarlos, se deben separar del nombre de archivo mediante dos puntos (:). • Los clientes de exportación e importación de pump de datos proporcionan un parámetro DIRECTORY que especifica el nombre de un objeto de directorio. Este objeto de directorio describe la ubicación de acceso de los archivos. • Como alternativa, es posible definir una variable de entorno, DATA_PUMP_DIR, para especificar el nombre del objeto de directorio en lugar de utilizar el parámetro DIRECTORY. Los clientes de pump de datos buscan esta variable de entorno si no se especifica ningún objeto de directorio de forma explícita. • Existe un objeto de directorio por defecto creado para cada base de datos. Este objeto de directorio se denomina DATA_PUMP_DIR. El acceso al directorio DATA_PUMP_DIR se otorga automáticamente a los roles EXP_FULL_DATABASE e IMP_FULL_DATABASE.

Base de Datos Oracle 10g: Taller de Administración I 18-22


Ubicaciones de los Archivos de Pump de Datos (continuación) • No es necesario crear un objeto de directorio manualmente antes de utilizar la exportación de pump de datos. Existe un objeto de directorio por defecto creado para cada base de datos, independientemente de que se trate de una creación reciente o de una actualización mediante un archivo de comandos en las plataformas UNIX o Windows. Este objeto de directorio se denomina DATA_PUMP_DIR. El acceso al directorio DATA_PUMP_DIR se otorga automáticamente a los roles EXP_FULL_DATABASE e IMP_FULL_DATABASE. El directorio DATA_PUMP_DIR se crea en una de las siguientes ubicaciones: - <ORACLE_BASE>/admin/DB_UNIQUE_NAME - <ORACLE_HOME>/admin/DB_UNIQUE_NAME La especificación de la ruta de acceso exacta al directorio para DATA_PUMP_DIR varía en función de las variables de entorno del sistema ORACLE_BASE y ORACLE_HOME y de la existencia del subdirectorio DATA_PUMP_DIR. Si ORACLE_BASE está definido en el sistema de destino, entonces se utiliza ese valor. De lo contrario, se utiliza el valor de ORACLE_HOME. Si, por algún motivo, no se encuentra el subdirectorio DATA_PUMP_DIR, se utiliza la siguiente ruta de acceso por defecto: ORACLE_HOME/rdbms/log. Nota: En cualquier caso, es necesario disponer de los privilegios de acceso apropiados en relación con el objeto de directorio para la operación que se pretenda llevar a cabo. En el caso de la exportación, necesitará el acceso de escritura para todos los archivos y, en el caso de la importación, necesitará el acceso de lectura para los archivos de volcado, así como el acceso de escritura para los archivos log y los archivos SQL.

Base de Datos Oracle 10g: Taller de Administración I 18-23


Planificación y Ejecución de un Trabajo

Copyright © 2005, Oracle. Todos los derechos reservados.

Planificación y Ejecución de un Trabajo Enterprise Manager Database Control permite planificar los trabajos de pump de datos (creados mediante este asistente) como trabajos repetibles.

Base de Datos Oracle 10g: Taller de Administración I 18-24


Nomenclatura y Tamaño de los Archivos de Pump de Datos

Copyright © 2005, Oracle. Todos los derechos reservados.

Nomenclatura y Tamaño de los Archivos de Pump de Datos El parámetro DUMPFILE especifica los nombres y, si se desea, los directorios de los archivos de volcado del disco. Se pueden proporcionar diversas especificaciones de archivos a modo de lista separada por comas, o bien mediante especificaciones independientes del parámetro DUMPFILE. Los nombres de los archivos pueden contener la variable de sustitución %U, lo que implica que es posible que se generen varios archivos. La variable %U se convierte en los nombres de archivos resultantes en un número entero de dos dígitos y ancho fijo que aumenta de forma monótona a partir de 01. Si no se especifica el parámetro DUMPFILE, se utiliza expdat.dmp por defecto. Los archivos de volcado creados son de extensión automática por defecto. Si se especifica FILESIZE, los archivos tienen el tamaño en bytes definido por FILESIZE y no son de extensión automática. En caso de que sea necesario más espacio de volcado y se haya proporcionado una plantilla con %U, se crea de forma automática un archivo nuevo con el tamaño en bytes definido por FILESIZE; de lo contrario, el cliente recibe un mensaje para agregar un nuevo archivo. Si se especifica una plantilla con %U, el número de archivos creados inicialmente coincidirá con el parámetro PARALLEL. Los archivos existentes cuyos nombres coincidan con los nombres de archivos resultantes no se sobrescriben; generan un error y provocan que se aborte el trabajo. Nota: Si se proporcionan varias plantillas de archivo de volcado, se utilizarán para generar archivos de volcado de forma circular. Base de Datos Oracle 10g: Taller de Administración I 18-25


Importación de Pump de Datos

Objeto de Directorio SQL*Loader Pump de Datos - Exportación > - Importación Tabla Externa

Copyright © 2005, Oracle. Todos los derechos reservados.

Importación de Pump de Datos La utilidad de importación de pump de datos permite cargar un juego de archivos de volcado de exportación en un sistema de destino. El juego de archivos de volcado se compone de uno o más archivos de disco que contienen datos de tabla, metadatos de objetos de base de datos e información de control. Estos archivos están escritos en un formato binario propietario. Durante una operación de importación, la utilidad de importación de pump de datos utiliza estos archivos para localizar cada uno de los objetos de base de datos en el juego de archivos de volcado. Se puede interactuar con la función de importación de pump de datos utilizando una línea de comando, un archivo de parámetros o un modo de comando interactivo: • Puede utilizar el comando impdp y especificar los parámetros directamente en la línea de comandos. • Puede introducir los parámetros de la línea de comandos en un archivo (se excluye el parámetro PARFILE porque los archivos de parámetros no se pueden anidar). • En el modo de comando interactivo, se sigue ejecutando el trabajo actual, pero se para el registro en el terminal y se muestra el prompt de importación. Por ejemplo, puede adjuntar trabajos adicionales a un trabajo que esté en ejecución o que se haya parado.

Base de Datos Oracle 10g: Taller de Administración I 18-26


Importación de Pump de Datos: Transformaciones Es posible volver a asignar: • Archivos de datos mediante REMAP_DATAFILE • Tablespaces mediante REMAP_TABLESPACE • Esquemas mediante REMAP_SCHEMA REMAP_DATAFILE = 'C:\oradata\tbs6.f':'/u1/tbs6.f'

Copyright © 2005, Oracle. Todos los derechos reservados.

Importación de Pump de Datos: Transformaciones Ya que los metadatos de objetos se almacenan como XML en el juego de archivos de volcado, resulta fácil aplicar transformaciones cuando se está creando el DDL durante la importación. La importación de pump de datos soporta diversas transformaciones: • REMAP_DATAFILE resulta útil cuando se mueven bases de datos entre plataformas con semánticas de sistema de archivos distintas. • REMAP_TABLESPACE permite mover objetos de un tablespace a otro. • REMAP_SCHEMA proporciona la anterior capacidad FROMUSER /TOUSER para cambiar la propiedad de los objetos.

Base de Datos Oracle 10g: Taller de Administración I 18-27


Importación de Pump de Datos: Transformaciones Mediante TRANSFORM, también puede: •

Excluir de tablas e índices: – Las cláusulas STORAGE y TABLESPACE – Sólo la cláusula STORAGE

• •

Volver a crear identificadores de objetos de tipos de dato abstractos Cambiar las asignaciones de extensión y el tamaño de los archivos

TRANSFORM = SEGMENT_ATTRIBUTES|STORAGE|OID|PCTSPACE:{y|n|v}[:object type]

Copyright © 2005, Oracle. Todos los derechos reservados.

Importación de Pump de Datos: Transformaciones (continuación) El parámetro TRANSFORM permite modificar el DDL de creación de objetos para objetos específicos o para todos los objetos aplicables que se van a cargar. Especifique el parámetro TRANSFORM como se muestra en la diapositiva. Son posibles las siguientes opciones: • SEGMENT_ATTRIBUTES: Si el valor se especifica como Y, se incluyen los atributos de segmentos (atributos físicos, atributos de almacenamiento, tablespaces y registros). • STORAGE: Si el valor se especifica como Y, se incluyen las cláusulas STORAGE. • OID: Puede utilizar este parámetro para determinar si el identificador de objeto (OID) de tipos de dato abstractos se vuelve a utilizar o se crea de nuevo. Si el valor está especificado como N, se suprime la cláusula OID de exportación de los tipos de objetos. Resulta útil cuando es necesario duplicar los esquemas en la base de datos mediante exportación e importación, pero no se puede garantizar que los tipos de objetos tengan valores OID idénticos a los de las bases de datos. • PCTSPACE: Puede utilizar el parámetro PCTSPACE para reducir la cantidad de espacio necesario para tablespaces si realiza una operación de reducción en la asignación de almacenamiento de tablespace. El valor proporcionado para esta transformación debe ser mayor que cero. Representa el multiplicador de porcentaje utilizado para modificar asignaciones de extensiones y el tamaño de los archivos de datos.

Base de Datos Oracle 10g: Taller de Administración I 18-28


Pump de Datos: Consideración del Rendimiento Maximización del rendimiento con el parámetro PARALLEL. Coordinador maestro Ejecución en paralelo Archivos generados

Ejemplo: expdp hr/hr FULL=y DUMPFILE=dp_dir1:full1%U.dmp, dp_dir2:full2%U.dmp FILESIZE=2G PARALLEL=3 LOGFILE=dp_dir1:expfull.log JOB_NAME=expfull Copyright © 2005, Oracle. Todos los derechos reservados.

Pump de Datos: Consideración del Rendimiento Puede mejorar el rendimiento de un trabajo con el parámetro PARALLEL. El valor de paralelismo se aplica mediante el proceso maestro, que asigna el trabajo que se va a ejecutar a los procesos de worker que realizan el procesamiento de los datos y metadatos dentro de una operación. Estos procesos de worker funcionan en paralelo. En general, el grado de paralelismo se debe definir en más del doble del número de CPU en una instancia. Para maximizar el paralelismo, debe proporcionar al menos un archivo para cada grado de paralelismo. Si no hay suficientes archivos de volcado, el rendimiento no será óptimo ya que los distintos threads de ejecución intentarán acceder al mismo archivo de volcado. El grado de paralelismo se puede restablecer en cualquier momento durante un trabajo. En el ejemplo de la diapositiva se muestra la exportación de una base de datos completa. Se exportan todos los datos y metadatos de la base de datos. Se crean archivos de volcado (full101.dmp, full201.dmp, full102.dmp, etc.) con el método de asignación en rueda (Round-Robin) en los directorios a los que hacen referencia los objetos de directorio dp_dir1 y dp_dir2. Para obtener un mejor rendimiento, se debe realizar en canales de E/S independientes. Si es necesario, cada archivo puede tener un tamaño de hasta 2 GB. En principio, se crean hasta tres archivos. Si es necesario, se crearán más archivos. La tabla de trabajo y maestra tienen el mismo nombre: expfull. El archivo log se escribe en expfull.log en el directorio dp_dir1. Base de Datos Oracle 10g: Taller de Administración I 18-29


Parámetros de Inicialización de Rendimiento •

Los siguientes parámetros afectan al rendimiento de pump de datos: – DISK_ASYNCH_IO=TRUE – DB_BLOCK_CHECKING=FALSE – DB_BLOCK_CHECKSUM=FALSE

Los siguientes parámetros se deben definir en valores altos para permitir el mayor paralelismo posible: – PROCESSES – SESSIONS – PARALLEL_MAX_SERVERS

A los siguientes se les debe asignar un tamaño grande: – SHARED_POOL_SIZE – UNDO_TABLESPACE Copyright © 2005, Oracle. Todos los derechos reservados.

Parámetros de Inicialización de Rendimiento Puede utilizar los parámetros (que se muestran en la diapositiva) para mejorar el rendimiento, aunque es posible que el efecto no sea el mismo en todas las plataformas. De forma adicional, se puede asignar un tamaño grande a los parámetros de inicialización SHARED_POOL_SIZE y UNDO_TABLESPACE. Los valores exactos dependerán del tamaño de la base de datos.

Base de Datos Oracle 10g: Taller de Administración I 18-30


Rutas de Acceso de Pump de Datos: Consideraciones El pump de datos selecciona una de las siguientes rutas de acceso automáticamente: • Ruta de acceso directa • Tablas externas, si los datos incluyen: – Columnas cifradas – Tablas en cluster – Distintas particiones en el momento de la carga y descarga y otras circunstancias (consulte las notas)

Base de datos

Tablas externas

Ruta de acceso directa

Base de datos

Copyright © 2005, Oracle. Todos los derechos reservados.

Rutas de Acceso de Pump de Datos: Consideraciones El pump de datos selecciona de forma automática el método de acceso más apropiado para cada tabla. El pump de datos utiliza la carga y la descarga de ruta de acceso directa cuando la estructura de una tabla lo permite y cuando se desea un rendimiento máximo de flujo único. El pump de datos utiliza las tablas externas si se cumple cualquiera de las siguientes condiciones: • Existen tablas con el control de acceso detallado activado en los modos de inserción y selección • Existe un índice de dominio para una columna LOB • Existen tablas con disparadores activos definidos • Existe un índice global en tablas particionadas con una carga de partición única • Existen tablas de tipo opaco o BFILE • Existe una restricción de integridad referencial • Existen columnas VARRAY con un tipo opaco embebido Nota: Ya que ambos métodos soportan la misma representación externa de los datos, los datos descargados con un método se pueden cargar mediante el otro método.

Base de Datos Oracle 10g: Taller de Administración I 18-31


Uso de Enterprise Manager para Controlar Trabajos de Pump de Datos

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso de Enterprise Manager para Controlar Trabajos de Pump de Datos Puede utilizar la interfaz gráfica de usuario (GUI) de Enterprise Manager para controlar todos los trabajos de pump de datos, incluidos aquellos que se han creado mediante las interfaces de línea de comandos expdp o impdp o mediante el paquete DBMS_DATAPUMP. Puede visualizar el estado actual del trabajo y también cambiar el estado a EXECUTE, STOP o SUSPEND. Para acceder a la página Export and Import Jobs, haga clic en el enlace Monitor Export and Import Jobs en la región Move Row Data de la página Maintenance.

Base de Datos Oracle 10g: Taller de Administración I 18-32


Relleno de Tabla Externa

Objeto de Directorio SQL*Loader Pump de Datos - Exportación - Importación > Tabla Externa

Descarga de datos a archivos externos mediante el controlador de acceso ORACLE_DATAPUMP

Sin modificaciones de tablas externas CREATE TABLE … AS SELECT Descarga

Tablas

INSERT … SELECT Carga

Archivos externos (formato propietario)

Tablas

Copyright © 2005, Oracle. Todos los derechos reservados.

Relleno de Tabla Externa Una “tabla externa” está compuesta por archivos planos con formato propietario (es decir, API de ruta de acceso directa) que son independientes del sistema operativo. A medida que se extraen los datos de la base de datos Oracle y se “descargan” en archivos, estos datos se convierten de forma transparente de su representación interna de Oracle a una representación externa nativa de Oracle equivalente (DPAPI). Puede utilizar el comando CREATE TABLE AS SELECT para rellenar una tabla externa. Una vez que se ha creado y rellenado una tabla externa, no se pueden agregar, actualizar o suprimir filas en la tabla externa. Cualquier intento de modificación de los datos de la tabla externa fallará. Puede que la tabla externa no tenga índices. El controlador de acceso de pump de datos permite que se realicen operaciones de carga y de descarga para tablas externas.

Base de Datos Oracle 10g: Taller de Administración I 18-33


Uso de Tablas Externas •

• •

Los datos se pueden utilizar directamente desde el archivo externo o se pueden cargar en otra base de datos. Los archivos resultantes se pueden leer sólo mediante el controlador de acceso ORACLE_DATAPUMP. Se pueden combinar los archivos generados a partir de orígenes distintos para realizar operaciones de carga.

Desde la base de datos Oracle

Desde un archivo externo

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso de Tablas Externas Los archivos de datos creados para la tabla externa se pueden mover y utilizar a modo de archivos de datos para otra tabla externa, ya sea en la misma base de datos o en otra. Sólo se pueden leer mediante el controlador de acceso ORACLE_DATAPUMP. Puede elegir si las aplicaciones deben acceder directamente a las tablas externas mediante el comando SELECT o si primero se deben cargar los datos en una base de datos destino. Los archivos de datos rellenados a partir de tablas externas distintas se pueden especificar todos en la cláusula LOCATION de otra tabla externa. Esto proporciona una forma fácil de agregar datos de orígenes diversos. La única restricción es que los metadatos de todas las tablas externas deben ser exactamente los mismos.

Base de Datos Oracle 10g: Taller de Administración I 18-34


Relleno de Tabla Externa mediante ORACLE_DATAPUMP CREATE TABLE emp_ext (first_name, last_name, department_name) ORGANIZATION EXTERNAL ( TYPE ORACLE_DATAPUMP DEFAULT DIRECTORY ext_dir LOCATION ('emp1.exp','emp2.exp','emp3.exp') ) PARALLEL AS SELECT e.first_name,e.last_name,d.department_name FROM employees e, departments d WHERE e.department_id = d.department_id AND d.department_name in ('Marketing', 'Purchasing');

Copyright © 2005, Oracle. Todos los derechos reservados.

Relleno de Tabla Externa mediante ORACLE_DATAPUMP En este ejemplo se muestra cómo la operación de relleno de tabla externa puede contribuir a exportar un juego seleccionado de registros resultantes de la unión de las tablas EMPLOYEES y DEPARTMENTS. Ya que la tabla externa puede ser extensa, puede utilizar una operación de relleno en paralelo para descargar los datos a una tabla externa. A diferencia de lo que sucede con una consulta en paralelo de una tabla externa, el grado de paralelismo de una operación de relleno en paralelo está limitado por el número de archivos simultáneos en los que pueda escribir el controlador de acceso. Nunca hay más de un servidor de ejecución en paralelo escribiendo en un archivo en un momento concreto. El número de archivos de la cláusula LOCATION debe coincidir con el grado de paralelismo especificado, ya que cada proceso de entrada/salida (E/S) del servidor necesita su propio archivo. Cualquier archivo extra especificado se ignorará. Si no hay suficientes archivos para el grado de paralelismo especificado, éste se reduce para que se ajuste al número de archivos de la cláusula LOCATION. Nota: Para obtener más información sobre los parámetros del controlador de acceso ORACLE_DATAPUMP, consulte la guía Oracle Database Utilities.

Base de Datos Oracle 10g: Taller de Administración I 18-35


Relleno de Tabla Externa mediante ORACLE_LOADER CREATE TABLE extab_employees (employee_id NUMBER(4), first_name VARCHAR2(20), last_name VARCHAR2(25), hire_date DATE) ORGANIZATION EXTERNAL ( TYPE ORACLE_LOADER DEFAULT DIRECTORY extab_dat_dir ACCESS PARAMETERS ( records delimited by newline badfile extab_bad_dir:'empxt%a_%p.bad' logfile extab_log_dir:'empxt%a_%p.log' fields terminated by ',' missing field values are null ( employee_id, first_name, last_name, hire_date char date_format date mask "dd-mon-yyyy“)) LOCATION ('empxt1.dat', 'empxt2.dat') ) PARALLEL REJECT LIMIT UNLIMITED;

Copyright © 2005, Oracle. Todos los derechos reservados.

Relleno de Tabla Externa mediante ORACLE_LOADER El controlador de acceso ORACLE_LOADER utiliza la sintaxis de SQL*Loader para crear tablas externas. En el ejemplo de la diapositiva se asume que se crean tres objetos de directorio (extab_dat_dir, extab_bad_dir y extab_log_dir) que se asignan a los directorios existentes del sistema operativo al que el usuario tiene acceso. Consejo: Si tiene muchos datos que cargar, active PARALLEL para la operación de carga: ALTER SESSION ENABLE PARALLEL DML;

Base de Datos Oracle 10g: Taller de Administración I 18-36


Diccionario de Datos Visualizar información sobre tablas externas en: • [DBA| ALL| USER]_EXTERNAL_TABLES • [DBA| ALL| USER]_EXTERNAL_LOCATIONS • [DBA| ALL| USER]_TABLES y otros

Copyright © 2005, Oracle. Todos los derechos reservados.

Diccionario de Datos [DBA| ALL| USER]_EXTERNAL_TABLES muestra los atributos específicos de las tablas externas de la base de datos. [DBA| ALL| USER]_EXTERNAL_LOCATIONS muestra los orígenes de datos de las tablas externas. [DBA| ALL| USER]_TABLES describe las tablas relacionales de la base de datos. [DBA| ALL| USER]_TAB_COLUMNS describe las columnas de las tablas, vistas y clusters de la base de datos.

Base de Datos Oracle 10g: Taller de Administración I 18-37


Resumen En esta lección, debe haber aprendido lo siguiente: • Describir las formas disponibles para mover datos • Crear y utilizar objetos de directorio • Utilizar SQL*Loader para cargar datos de una base de datos que no sea Oracle (o archivos de usuario) • Explicar la arquitectura general del pump de datos • Utilizar la exportación e importación de pump de datos para mover datos entre las bases de datos Oracle • Utilizar las tablas externas para mover datos a través de archivos independientes de la plataforma

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 18-38


Visión General de la Práctica: Movimiento de Datos En esta práctica se abordan los siguientes temas: • Uso del asistente de exportación de pump de datos para seleccionar los objetos de la base de datos que se van a exportar • Control de un trabajo de exportación de pump de datos • Uso del asistente de importación de pump de datos para importar tablas a la base de datos • Uso del asistente de carga de datos para cargar datos a la base de datos • Carga de datos mediante la línea de comandos

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administración I 18-39


DBA2_Taller_Administracion_ I_Vol2  

D17090CS30 Edición 3.0 Noviembre de 2005 D50254 Volumen II •Guía del Alumno ®