Está en la página 1de 310

Base de Datos Oracle 10g: Taller de Administracin I

Volumen I Gua del Alumno

Edicin 3.0

Oracle Internal & Oracle Academy Use Only

Autores
Tom Best M.J. Billings

Copyright 2005, Oracle. Todos los derechos reservados. Renuncia Este documento contiene informacin propiedad de Oracle Corporation y se encuentra protegido por la legislacin de derechos de autor y otras leyes sobre la propiedad intelectual. Usted slo podr realizar copias o imprimir este documento para uso exclusivo por usted en los cursos de formacin de Oracle. Este documento no podr ser modificado ni alterado en modo alguno. Salvo que la legislacin 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 autorizacin expresa por parte de Oracle. La informacin 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 documentacin 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. Governments 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 dems nombres pueden ser marcas comerciales de sus respectivos propietarios.

Colaboradores y Revisores Tcnicos


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

Diseadores Grficos
Satish Bettegowda Steve Elwood

Editor
Joseph Fernandez

Oracle Internal & Oracle Academy Use Only

Contenido

Prefacio 1 Introduccin Objetivos del Curso 1-2 Planificacin 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 Gestin 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 Fsica 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 Fsicas y Lgicas 1-20 Ejemplos del Curso: Esquema HR 1-22 Arquitectura de Base de Datos: Resumen de Componentes Estructurales Resumen 1-24 Instalacin 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 Instalacin: Requisitos del Sistema 2-6 Comprobacin de los Requisitos del Sistema 2-7 Arquitectura Flexible ptima (OFA) 2-8 Uso de la Arquitectura Flexible ptima 2-9 Definicin de Variables de Entorno 2-11 Oracle Universal Installer (OUI) 2-13 Instalacin del Software de Oracle 2-14 Opciones de Configuracin de Base de Datos 2-15 Ejecucin de Archivos de Comandos de Configuracin 2-16 Fin de la Instalacin 2-17 Opciones Avanzadas de Instalacin 2-18 Opcin de Instalacin: Modo Silencioso 2-19 Resumen 2-20 Visin General de la Prctica: Instalacin del Software de Oracle 2-21

1-23

Oracle Internal & Oracle Academy Use Only

Gestin de la Instancia de Oracle Objetivos 4-2 Marco de Gestin 4-3 Inicio y Parada de Database Control 4-4 Oracle Enterprise Manager 4-5 Acceso a Oracle Enterprise Manager 4-6 Pgina 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 Configuracin 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 Parmetros de Inicializacin 4-15 Parmetros de Inicializacin Simplificados 4-16 Visualizacin y Modificacin de Parmetros de Inicializacin 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 Visualizacin del Log de Alertas 4-30 Visualizacin del Historial de Alertas 4-31 Vistas de Rendimiento Dinmico 4-32

Oracle Internal & Oracle Academy Use Only

Creacin de una Base de Datos Oracle Objetivos 3-2 Planificacin de la Base de Datos 3-3 Bases de Datos: Ejemplos 3-4 Asistente de Configuracin de Bases de Datos (DBCA) 3-5 Uso de DBCA para Crear una Base de Datos 3-6 Password Management 3-12 Creacin de una Plantilla de Diseo de Bases de Datos 3-13 Uso de DBCA para Suprimir una Base de Datos 3-14 Resumen 3-16 Visin General de la Prctica: Uso de DBCA 3-17

Vistas de Rendimiento Dinmico: Ejemplos de Uso 4-33 Vistas de Rendimiento Dinmico: Consideraciones 4-34 Resumen 4-35 Visin General de la Prctica: Gestin de la Instancia de Oracle 4-36 5 Gestin de Estructuras de Almacenamiento de Bases de Datos Objetivos 5-2 Estructuras de Almacenamiento 5-3 Almacenamiento de Datos de Tabla 5-4 Anatoma de un Bloque de Base de Datos 5-5 Tablespaces y Archivos de Datos 5-6 Oracle Managed Files (OMF) 5-7 Gestin de Espacio en Tablespaces 5-8 Exploracin de la Estructura de Almacenamiento 5-9 Creacin de un Nuevo Tablespace 5-10 Almacenamiento de Tablespaces Gestionados Localmente 5-12 Tablespaces en la Base de Datos Preconfigurada 5-14 Modificacin de un Tablespace 5-16 Acciones con Tablespaces 5-19 Borrado de Tablespaces 5-21 Visualizacin de Informacin de Tablespaces 5-22 Recopilacin de Informacin de Almacenamiento 5-23 Visualizacin de Contenido de Tablespaces 5-24 Ampliacin de la Base de Datos 5-25 Qu es Gestin Automtica de Almacenamiento? 5-26 ASM: Funciones Clave y Ventajas 5-27 ASM: Conceptos 5-28 Resumen 5-29 Visin General de la Prctica: Gestin de Estructuras de Almacenamiento de Bases de Datos 5-30 Administracin de Seguridad del Usuario Objetivos 6-2 Cuentas de Usuario de Base de Datos 6-3 Cuentas Predefinidas: SYS y SYSTEM 6-5 Creacin de un Usuario 6-6 Autenticacin de Usuarios 6-7 Autenticacin de Administradores 6-9 Desbloqueo de Cuentas de Usuario y Restablecimiento de Contraseas 6-10 Privilegios 6-11 Privilegios del Sistema 6-12 Privilegios de Objeto 6-14

Oracle Internal & Oracle Academy Use Only

Gestin 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 Especificacin de Tipos de Dato en Tablas 7-8 Creacin y Modificacin de Tablas 7-11 Descripcin de la Integridad de los Datos 7-13 Definicin de Restricciones 7-15 Violaciones de Restricciones 7-16 Estados de Restricciones 7-17 Comprobacin de Restricciones 7-19 Creacin de Restricciones con SQL: Ejemplos 7-20 Visualizacin de las Columnas de una Tabla 7-21 Visualizacin 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 Creacin de ndices 7-34

Oracle Internal & Oracle Academy Use Only

Revocacin de Privilegios del Sistema con ADMIN OPTION 6-15 Revocacin de Privilegios de Objeto con GRANT OPTION 6-16 Ventajas de los Roles 6-17 Asignacin de Privilegios a Roles y de Roles a Usuarios 6-18 Roles Predefinidos 6-19 Creacin de un Rol 6-20 Roles Seguros 6-21 Asignacin de Roles a Usuarios 6-22 Perfiles y Usuarios 6-23 Implementaciones de las Funciones de Seguridad con Contrasea 6-25 Creacin de un Perfil de Contrasea 6-27 Funcin de Verificacin de Contraseas Proporcionadas: VERIFY_FUNCTION 6-28 Asignacin de Cuota a Usuarios 6-29 Resumen 6-31 Visin General de la Prctica: Administracin de Usuarios 6-32

7-49

Gestin de Datos y Simultaneidad Objetivos 8-2 Manipulacin 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 Administracin de Objetos PL/SQL 8-12 Objetos PL/SQL 8-13 Funciones 8-14 Procedimientos 8-15 Paquetes 8-16 Especificacin 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 Deteccin de Conflictos de Bloqueo 8-29 Resolucin de Conflictos de Bloqueo 8-30

Oracle Internal & Oracle Academy Use Only

Qu es una Vista? 7-35 Creacin de Vistas 7-36 Secuencias 7-37 Creacin de una Secuencia 7-38 Uso de una Secuencia 7-40 Tablas Temporales 7-41 Tablas Temporales: Consideraciones 7-43 Diccionario de Datos: Visin General 7-44 Vistas del Diccionario de Datos 7-45 Diccionario de Datos: Ejemplos de Uso 7-47 Resumen 7-48 Visin General de la Prctica: Administracin de Objetos de Esquema

Resolucin de Conflictos de Bloqueo mediante SQL 8-31 Interbloqueos 8-32 Resumen 8-33 Visin General de la Prctica: Gestin de Datos y Simultaneidad 8-34 9 Gestin de Datos de Deshacer Objetivos 9-2 Manipulacin de Datos 9-3 Datos de Deshacer 9-4 Transacciones y Datos de Deshacer 9-6 Almacenamiento de Informacin de Deshacer 9-7 Datos de Deshacer frente a Datos de Redo 9-8 Control de Deshacer 9-9 Administracin de Deshacer 9-11 Configuracin de Retencin de Deshacer 9-12 Garanta de Retencin de Deshacer 9-14 Tamao de los Tablespaces de Deshacer 9-15 Uso del Asesor de Deshacer 9-16 Resumen 9-17 Visin General de la Prctica: Gestin de Segmentos de Deshacer 9-18

10 Implementacin de Seguridad de la Base de Datos Oracle Objetivos 10-2 Requisitos de Seguridad de la Industria 10-3 Separacin de Responsabilidades 10-5 Seguridad de la Base de Datos 10-6 Principio de Privilegio ms Bajo 10-8 Aplicacin del Principio de Privilegio Ms Bajo 10-9 Control de Actividades Sospechosas 10-11 Auditora de la Base de Datos Estndar 10-12 Activacin de Auditora 10-13 Pistas de Auditora Uniformes 10-14 Pgina de Auditora de Enterprise Manager 10-16 Especificacin de Opciones de Auditora 10-17 Uso y Mantenimiento de la Informacin de Auditora 10-18 Auditora Basada en Valores 10-19 Auditora Detallada 10-21 Poltica de FGA 10-22 Sentencia DML Auditada: Consideraciones 10-24 Instrucciones de FGA 10-25 Auditora de DBA 10-26

Oracle Internal & Oracle Academy Use Only

Mantenimiento de la Pista de Auditora 10-27 Actualizaciones de Seguridad 10-28 Aplicacin de Parches de Seguridad 10-29 Resumen 10-30 Visin General de la Prctica: Implementacin de Seguridad de la Base de Datos Oracle 10-31 11 Configuracin 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 Conexin 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 Pgina Inicial del Listener 11-12 Pgina Net Services Administration 11-13 Creacin de un Listener 11-14 Adicin de Direcciones de Listener 11-15 Registro de Servicio de Base de Datos 11-16 Mtodos de Nomenclatura 11-17 Conexin Sencilla 11-18 Nomenclatura Local 11-19 Nomenclatura de Directorios 11-20 Mtodo de Nomenclatura Externa 11-21 Configuracin de Alias de Servicio 11-22 Opciones de Conexin 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 Cundo No se Debe Utilizar un Servidor Compartido 11-30 Resumen 11-31 Visin General de la Prctica: Trabajar con los Componentes de Red de Oracle 11-32 12 Mantenimiento Proactivo Objetivos 12-2 Mantenimiento Proactivo 12-3 Introduccin a la Terminologa 12-4

Oracle Internal & Oracle Academy Use Only

13 Gestin 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: Visin 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: Estadsticas SQL 13-13 Asesor de Ajustes SQL: Identificacin de SQL Duplicados 13-14 Uso del Asesor de Acceso SQL 13-15 Gestin de los Componentes de la Memoria 13-17 Activacin de la Gestin Automtica de Memoria Compartida (ASMM) 13-18 Definicin Manual de la Gestin de Memoria Compartida 13-20

Oracle Internal & Oracle Academy Use Only

Estadsticas del Optimizador 12-5 Uso de la Pgina Manage Optimizer Statistics 12-7 Niveles de Estadsticas 12-9 Repositorio de Carga de Trabajo Automtica (AWR) 12-10 Infraestructura de AWR 12-11 Juegos de Instantneas AWR 12-12 Enterprise Manager y AWR 12-13 Gestin de AWR 12-14 Monitor de Diagnstico de Base de Datos Automtico (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 Definicin de Umbrales 12-24 Creacin y Prueba de una Alerta 12-25 Notificacin de Alertas 12-26 Reaccin ante Alertas 12-28 Tipos de Alerta y Eliminacin de Alertas 12-29 Tareas de Mantenimiento Automticas 12-30 Resumen 12-31 Visin General de la Prctica: Mantenimiento Proactivo 12-32

Uso del Asesor de Memoria 13-21 Estadsticas de Rendimiento Dinmicas 13-22 Vistas de Solucin de Problemas y de Ajustes 13-24 Objetos No Vlidos o No Utilizables 13-25 Resumen 13-27 Visin General de la Prctica: Control y Mejora del Rendimiento 13-28 14 Conceptos de Copia de Seguridad y Recuperacin Objetivos 14-2 Parte de su Trabajo 14-3 Categoras 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 Recuperacin: Punto de Control (CKPT) 14-11 Procesos en Segundo Plano y Recuperacin: Archivos Redo Log y Escritor de Log 14-13 Procesos en Segundo Plano y Recuperacin: Proceso de Archivado (ARCn) 14-14 Recuperacin de Instancias 14-15 Fases de la Recuperacin de Instancias 14-16 Ajuste de la Recuperacin de Instancias 14-17 Uso del Asesor de MTTR 14-18 Fallo del Medio Fsico 14-19 Configuracin de Recuperabilidad 14-20 Archivos de Control 14-21 Archivos Redo Log 14-22 Multiplexin 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 Visin General de la Prctica: Configuracin de Recuperabilidad 14-29 15 Realizacin de Copias de Seguridad de Bases de Datos Objetivos 15-2 Soluciones de Copia de Seguridad: Visin General 15-3 Oracle Secure Backup 15-4 Copia de Seguridad Gestionada por Usuario 15-5 Terminologa 15-6 Recovery Manager (RMAN) 15-10

Oracle Internal & Oracle Academy Use Only

16 Recuperacin 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 Prdida de un Archivo de Control 16-7 Prdida de un Archivo Redo Log 16-8 Prdida de un Archivo de Datos en Modo NOARCHIVELOG 16-9 Prdida de un Archivo de Datos No Crtico en Modo ARCHIVELOG 16-10 Prdida de un Archivo de Datos Crtico del Sistema en Modo ARCHIVELOG 16-11 Resumen 16-12 Visin General de la Prctica: Recuperacin de Bases de Datos 16-13 17 Realizacin de Flashback Objetivos 17-2 Tecnologa de Flashback: Ventajas 17-3 Cundo Utilizar la Tecnologa de Flashback 17-4 Realizacin de Flashback en Cualquier Error 17-5 Flashback de Base de Datos: Visin General 17-6 Flashback de Base de Datos: Reduccin del Tiempo de Restauracin 17-7 Flashback de Base de Datos: Consideraciones 17-8 Flashback de Base de Datos: Limitaciones 17-9 Activacin de la Funcin de Flashback de Base de Datos 17-10 Flashback de Tabla: Visin General 17-11 Flashback de Tabla 17-12 Activacin del Movimiento de Filas en una Tabla 17-13 Realizacin de Flashback de Tabla 17-14 Flashback de Tabla: Consideraciones 17-15 Flashback de Borrado: Visin General 17-17

Oracle Internal & Oracle Academy Use Only

Configuracin de Valores de Copia de Seguridad 15-11 Planificacin de Copias de Seguridad: Estrategia 15-14 Planificacin de Copias de Seguridad: Options 15-15 Planificacin de Copias de Seguridad: Settings 15-16 Planificacin de Copias de Seguridad: Schedule 15-17 Planificacin de Copias de Seguridad: Review 15-18 Copia de Seguridad del Archivo de Control en un Archivo de Rastreo 15-19 Gestin de Copias de Seguridad 15-21 rea de Recuperacin de Flash 15-22 Resumen 15-23 Visin General de la Prctica: Creacin de Copias de Seguridad de Bases de Datos 15-24

18 Movimiento de Datos Objetivos 18-2 Movimiento de Datos: Arquitectura General 18-3 Objeto de Directorio: Visin General 18-4 Creacin de Objetos de Directorio 18-5 SQL*Loader: Visin General 18-6 Carga de Datos con SQL*Loader 18-8 Archivo de Control de SQL*Loader 18-9 Mtodos de Carga 18-11 Pump de Datos: Visin General 18-13 Pump de Datos: Ventajas 18-15 Exportacin e Importacin de Pump de Datos: Visin General 18-17 Utilidad Pump de Datos: Interfaces y Modos 18-18 Seleccin de Objetos Detallada 18-19 Funcin Avanzada: Creacin de Ejemplos 18-20 Opciones de Exportacin: Archivos 18-21 Ubicaciones de los Archivos de Pump de Datos 18-22 Planificacin y Ejecucin de un Trabajo 18-24 Nomenclatura y Tamao de los Archivos de Pump de Datos 18-25 Importacin de Pump de Datos 18-26 Importacin de Pump de Datos: Transformaciones 18-27 Pump de Datos: Consideracin del Rendimiento 18-29 Parmetros de Inicializacin 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

Oracle Internal & Oracle Academy Use Only

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: Visin General 17-21 Consulta de Flashback: Ejemplo 17-22 Consulta de Flashback de Versiones: Visin 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: Visin General 17-26 Consulta de Flashback de Transacciones mediante Enterprise Manager 17-27 Consulta de Flashback de Transacciones: Consideraciones 17-28 Resumen 17-29 Visin General de la Prctica: Uso de Flashback 17-30

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 Visin General de la Prctica: Movimiento de Datos 18-39 Apndice A: Prcticas

Apndice C: Comandos Bsicos de Linux y vi Apndice D: Sintaxis de Sentencias SQL Apndice E: Acrnimos y Trminos Apndice F: Siguientes Pasos para Continuar con la Formacin ndice

Oracle Internal & Oracle Academy Use Only

Apndice B: Soluciones

Convenciones Tipogrficas Convenciones Tipogrficas en el Texto Convencin Negrita Elemento Palabras y frases resaltadas en contenido Web slo Trmino del glosario (si existe uno) Nombres de teclas Botones, casillas de control, disparadores de aplicacin, ventanas Rutas de acceso de mens Secuencias de teclas Salida de cdigo, nombres de directorios, nombres de archivos, contraseas, nombres de rutas de acceso, entrada de usuario, nombres de usuario Ejemplo Para navegar dentro de esta aplicacin, no haga clic en los botones Atrs y Adelante. El algoritmo inserta la nueva clave.

Negrita y cursiva Corchetes Maysculas y minsculas

Pulse [Intro]. Haga clic en el botn Executable. Active la casilla de control Cant Delete Card. Asigne un disparador When-Validate-Item al bloque ORD. Abra la ventana Master Schedule. Seleccione File > Save. Pulse y suelte las siguientes teclas de una en una: [Alt], [F], [D] Salida de cdigo: debug.set ('I', 300); Directorio: bin (DOS), $FMHOME (UNIX) Nombre de archivo: Localice el archivo init.ora. Contrasea: Utilice tiger como contrasea. Nombre de ruta de acceso: Abra c:\my_docs\projects. Entradas del usuario: Introduzca 300. Nombre de usuario: Conctese como HR. Direccin del cliente (salvo Oracle Payables)

Parntesis angulares Comas Courier new, distincin entre maysculas y minsculas (el valor por defecto es minsculas)

Mayscula inicial

Etiquetas de los grficos (a menos que el trmino sea un nombre propio) Palabras y frases resaltadas, ttulos de manuales y cursos, variables

Cursiva

No guarde los cambios en la base de datos. Para obtener ms informacin, consulte Oracle Database SQL Reference 10g Release 1(10.1). Introduzca user_id@us.oracle.com, donde user_id es el nombre del usuario.

Prefacio 15

Oracle Internal & Oracle Academy Use Only

Convenciones Tipogrficas (continuacin) Convenciones Tipogrficas en el Texto (continuacin) Convencin Comillas Elemento Elementos de la interfaz con nombres extensos que slo llevan mayscula inicial; ttulos de lecciones y captulos en referencias cruzadas Nombres de columna SQL, comandos, funciones, esquemas, nombres de tabla, nombres de disparadores de base de datos Ejemplo Haga clic en Include a reusable module component y, luego, en Finish. Este tema se trata en la leccin titulada, Trabajar con Objetos. Utilice el comando SELECT para ver la informacin almacenada en la columna LAST_NAME de la tabla EMPLOYEES.

Maysculas

Convenciones Tipogrficas en el Cdigo

Convencin Minsculas

Elemento Nombres de columna, nombres de tabla, nombres de disparadores de base de datos Contraseas Objetos PL/SQL

Ejemplo SELECT last_name FROM employees;


CREATE OR REPLACE TRIGGER secure_employees

CREATE USER scott IDENTIFIED BY tiger; items.DELETE(3);

Cursivas minsculas Maysculas

Variables de sintaxis Funciones y comandos SQL

CREATE ROLE role SELECT first_name FROM employees;

Prefacio 16

Oracle Internal & Oracle Academy Use Only

Convenciones Tipogrficas (continuacin) Convenciones Tipogrficas en las Rutas de Acceso de Navegacin En este curso se utilizan rutas de acceso de navegacin simplificadas, como el ejemplo siguiente, para guiarle a travs de Aplicaciones Oracle. Ejemplo: Invoice Batch Summary (N) Invoice > Entry > Invoice Batches Summary (M) Query > Find (B) Approve Esta ruta de acceso simplificada se traduce en lo siguiente: 1. (N) En la ventana del navegador, seleccione Invoice > Entry > Invoice Batches Summary. 2. (M) En el men, seleccione Query > Find. Notacin: (N) = Navegador (M) = Men (S) = Separador (I) = Icono (H) = Enlace de hipertexto (B) = Botn 3. (B) Haga clic en el botn Approve.

Prefacio 17

Oracle Internal & Oracle Academy Use Only

Introduccin
Oracle Internal & Oracle Academy Use Only

Copyright 2005, Oracle. Todos los derechos reservados.

Objetivos del Curso

Copyright 2005, Oracle. Todos los derechos reservados.

Objetivos del Curso En este curso instalar el software Oracle Database 10g Enterprise Edition, crear una nueva base de datos y aprender a administrar dicha base de datos. Tambin configurar la base de datos para dar soporte a una aplicacin y realizar tareas como la creacin de usuarios, definicin de estructuras de almacenamiento y configuracin de la seguridad. Este curso utiliza una aplicacin ficticia. Sin embargo, realizar todas las tareas principales necesarias para una aplicacin real. La administracin de la base de datos no termina tras haberla configurado. Tambin aprender a proteger la base de datos diseando una estrategia de copia de seguridad y recuperacin y a controlarla para garantizar que funciona correctamente.

Base de Datos Oracle 10g: Taller de Administracin I 1-2

Oracle Internal & Oracle Academy Use Only

Al finalizar este curso, debera estar capacitado para lo siguiente: Instalar, crear y administrar la base de datos Oracle 10g Configurar la base de datos para una aplicacin Utilizar procedimientos de control bsicos Implementar una estrategia de copia de seguridad y recuperacin Mover datos entre bases de datos y archivos

Planificacin Sugerida
1. Introduccin 2. Instalacin

3. Creacin de Base de Datos 4. Instancia 5. 6. 7. 8. Almacenamiento Usuarios Esquema Datos y Simultaneidad

13. Rendimiento 14. Conceptos de Copia de Seguridad y Recuperacin 15. Copia de Seguridad 16. Recuperacin 17. Flashback 18. Movimiento de Datos

9. Deshacer 10. Seguridad 11. Red 12. Mantenimiento Proactivo


Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 1-3

Oracle Internal & Oracle Academy Use Only

Objetivos

Al finalizar esta leccin, debera estar capacitado para lo siguiente: Describir los objetivos del curso Explicar la arquitectura de la base de datos Oracle 10g

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 1-4

Oracle Internal & Oracle Academy Use Only

Productos y Servicios Oracle


Copyright 2005, Oracle. Todos los derechos reservados.

Productos Oracle Bases de datos Oracle: La base de datos Oracle es la primera base de datos diseada para Enterprise Grid Computing (el modo ms flexible y rentable de gestionar informacin y aplicaciones). Oracle Application Server: El servidor certificado para plataforma Java 2 Enterprise Edition (J2EE) de Oracle integra todo lo necesario para desarrollar y desplegar aplicaciones basadas en Web. El servidor de aplicaciones despliega portales de comercio electrnico, servicios Web y aplicaciones transaccionales que incluyen aplicaciones basadas en PL/SQL, en Oracle Forms y en J2EE. Aplicaciones Oracle: Oracle E-Business Suite es un juego completo de aplicaciones de negocio para gestionar y automatizar los procesos de la organizacin. Oracle Collaboration Suite: Oracle Collaboration Suite es un sistema integrado nico para todos los datos de comunicaciones de la organizacin: voz, correo electrnico, fax, dispositivo mvil, informacin de agenda y archivos. Oracle Developer Suite: Oracle Development Suite es un completo entorno integrado que combina herramientas de desarrollo de aplicaciones y de anlisis de negocios. Servicios Oracle: Los servicios como Oracle Consulting y Oracle University proporcionan los conocimientos necesarios para sus proyectos Oracle. Para obtener enlaces tiles a diferentes recursos, consulte el apndice titulado Siguientes Pasos para Continuar con la Formacin.
Base de Datos Oracle 10g: Taller de Administracin I 1-5

Oracle Internal & Oracle Academy Use Only

Bases de datos Oracle Oracle Application Server Aplicaciones Oracle Oracle Collaboration Suite Oracle Developer Suite Servicios Oracle

Base de Datos Oracle 10g: g Significa Grid


Global Grid Forum (GGF) Infraestructura de grid de Oracle:
Bajo costo Alta calidad de servicio Fcil de gestionar
Grid de almacenamiento Grid de base de datos Grid de aplicacin Control de grids

Automatic Storage Management

Real Application Clusters

Oracle Streams

Enterprise Manager Grid Control

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: g Significa Grid Global Grid Forum (GGF) es un organismo que desarrolla estndares para Grid Computing. Est compuesto por un juego de comits y grupos de trabajo que se centran en diversos aspectos de Grid Computing. Los comits y grupos de trabajo estn compuestos por participantes procedentes del mundo acadmico, de la comunidad investigadora y (cada vez ms) de compaas comerciales. Puede visitar el sitio Web de GGF en la direccin http://www.gridforum.org. Oracle ha creado el software de infraestructura de Grid Computing que equilibra todos los tipos de cargas de trabajo en todos los servidores y permite que todos ellos se puedan gestionar como un sistema completo. Grid Computing puede lograr el mismo nivel elevado de fiabilidad que la computacin de mainframe ya que todos sus componentes estn en cluster. Aunque, a diferencia de los mainframes y los grandes servidores de multiproceso simtrico (SMP) de UNIX, los grid pueden incorporar tecnologas de sistemas abiertos, como los procesadores Intel y el sistema operativo Linux, con un costo muy bajo. La tecnologa de Grid Computing de Oracle incluye: Automatic Storage Management (ASM) Real Application Clusters (RAC) Oracle Streams Enterprise Manager Grid Control
Base de Datos Oracle 10g: Taller de Administracin I 1-6

Oracle Internal & Oracle Academy Use Only

Base de Datos Oracle 10g: g Significa Grid (continuacin) Automatic Storage Management distribuye los datos de bases de datos por todos los discos, crea y mantiene un grid de almacenamiento y proporciona el rendimiento de entrada/salida (E/S) ms elevado con los mnimos costos de gestin. Conforme se agregan o borran discos, ASM vuelve a distribuir los datos de manera automtica. (No es necesario disponer de un gestor de volmenes lgicos para gestionar el sistema de archivos.) La duplicacin opcional aumenta la disponibilidad de los datos y es posible agregar o borrar discos en lnea. Para obtener ms informacin, consulte la leccin titulada Gestin de Estructuras de Almacenamiento de Bases de Datos. Oracle Real Application Clusters ejecuta y escala todas las cargas de trabajo de aplicacin en un cluster de servidores y ofrece las siguientes funciones: Clusterware integrado: Incluye la funcionalidad para la conectividad de cluster, mensajes y bloqueo, control de cluster y recuperacin. Est disponible en todas las plataformas que soporta la base de datos Oracle 10g. Gestin automtica de cargas de trabajo: Se pueden definir reglas para asignar automticamente recursos de procesamiento a cada servicio durante las operaciones normales y en respuesta a fallos. Estas reglas se pueden modificar de manera dinmica para satisfacer las cambiantes necesidades de negocio. Esta asignacin dinmica de recursos dentro de un grid de base de datos es exclusiva de Oracle RAC. Notificacin automtica de eventos a la capa media: Cuando cambia una configuracin de cluster, la capa media puede adaptarse inmediatamente a la operacin de failover de instancias o a la disponibilidad de una instancia nueva. Esto permite a los usuarios finales seguir trabajando cuando se produce un failover de instancias sin los retrasos que normalmente provocan los timeouts de red. En caso de disponibilidad de instancia nueva, la capa media puede iniciar inmediatamente las conexiones de equilibrio de carga en esa instancia. Los controladores de Java Database Connectivity (JDBC) de la base de datos Oracle 10g disponen de la funcionalidad Fast Connection Failover que se puede activar automticamente para manejar estos eventos. Oracle Streams proporciona un marco unificado para compartir informacin, combinar la cola de mensajes, replicar datos, notificar eventos, cargar el almacn de datos y publicar y suscribir la funcionalidad en una tecnologa nica. Oracle Streams puede mantener sincronizadas dos o ms copias de origen de datos cuando se apliquen actualizaciones en cualquiera de los sitios. Puede, de manera automtica, capturar los cambios en las bases de datos, propagar esos cambios a los nodos suscritos, aplicarlos y detectar y resolver los conflictos de actualizacin de datos. Las aplicaciones pueden utilizar directamente Oracle Streams como una funcin de cola de mensajes o flujo de trabajo, permitiendo la comunicacin entre las aplicaciones del grid. Enterprise Manager Grid Control gestiona las operaciones de todo el grid que incluyen la gestin de toda la pila de software, el provisionamiento de usuarios, la clonacin de bases de datos y la gestin de parches. Puede controlar el rendimiento de todas las aplicaciones desde el punto de vista de sus usuarios finales. Grid Control considera la disponibilidad y el rendimiento de la infraestructura de grid como un todo unificado en lugar de como unidades de almacenamiento, bases de datos y servidores de aplicaciones aislados. Los nodos de hardware, bases de datos y servidores de aplicaciones se pueden agrupar en entidades lgicas nicas y se puede gestionar un grupo de destinos como una sola unidad. Nota: En este curso, utilice la Consola de Base de Datos de Enterprise Manager para gestionar las bases de datos de una en una.
Base de Datos Oracle 10g: Taller de Administracin I 1-7

Oracle Internal & Oracle Academy Use Only

Arquitectura de la Base de Datos Oracle

Copyright 2005, Oracle. Todos los derechos reservados.

Arquitectura de la Base de Datos Oracle El servidor de Oracle es la clave para la gestin de informacin. Normalmente, un servidor de Oracle tiene que gestionar de manera fiable una gran cantidad de datos en un entorno de varios usuarios para que numerosos usuarios puedan acceder de manera simultnea a los mismos datos. Todo esto se debe realizar al mismo tiempo que se ofrece un alto rendimiento. Asimismo, un servidor de Oracle tiene que impedir el acceso no autorizado y proporcionar soluciones eficaces para la recuperacin ante fallos.

Base de Datos Oracle 10g: Taller de Administracin I 1-8

Oracle Internal & Oracle Academy Use Only

Un servidor de Oracle: Es un sistema de gestin de bases de datos que proporciona un enfoque abierto, completo e integrado a la gestin de informacin Consta de una instancia Oracle y una base de datos Oracle

Estructuras de Bases de Datos


Estructuras de memoria Instancia

Estructuras de bases de datos - Memoria - Proceso - Almacenamiento

rea Global del Sistema (SGA)

Estructuras de proceso

Estructuras de almacenamiento

Archivos de base de datos

Copyright 2005, Oracle. Todos los derechos reservados.

Estructuras de Bases de Datos Cada base de datos Oracle en ejecucin est asociada a una instancia de Oracle. Cuando una base de datos se inicia en un servidor de bases de datos, el software de Oracle asigna un rea de memoria compartida denominada rea Global del Sistema (SGA) e inicia varios procesos en segundo plano de Oracle. Esta combinacin de SGA y los procesos de Oracle se denomina instancia de Oracle. Despus de iniciar una instancia, el software de Oracle la asocia a una base de datos concreta. Esto se denomina montaje de la base de datos. La base de datos est ahora lista para su apertura, lo que la hace accesible a los usuarios autorizados. Varias instancias se pueden ejecutar simultneamente en la misma computadora, accediendo cada una de ellas a su propia base de datos fsica. La arquitectura de la base de datos Oracle se puede ver como varios componentes estructurales interrelacionados. Una base de datos Oracle utiliza procesos y estructuras de memoria para gestionar y acceder a la base de datos. Todas las estructuras de memoria existen en la memoria principal de las computadoras que constituyen el servidor de la base de datos. Los procesos son trabajos que funcionan en la memoria de estas computadoras. Un proceso se define como thread de control o mecanismo de un sistema operativo que puede realizar una serie de pasos.
Base de Datos Oracle 10g: Taller de Administracin I 1-9

Oracle Internal & Oracle Academy Use Only

Procesos en segundo plano

Estructuras de Memoria de Oracle

Estructuras de bases de datos > Memoria Proceso Almacenamiento

Proceso de servidor 1

PGA

Proceso de servidor 2

PGA

Proceso en segundo plano

PGA

SGA
Pool compartido Pool de Streams Pool grande

Pool Java

Cach de buffers de la base de datos

Buffer de redo log

Copyright 2005, Oracle. Todos los derechos reservados.

Estructuras de Memoria de Oracle Las estructuras de memoria bsicas asociadas a una instancia de Oracle incluyen: rea Global del Sistema (SGA): Compartida por todos los procesos de servidor y en segundo plano. rea Global de Programa (PGA): Privada para cada proceso de servidor y en segundo plano. Existe una PGA por cada proceso. SGA es un rea de memoria que contiene datos e informacin de control para la instancia. SGA incluye las siguientes estructuras de datos: Cach de buffers de la base de datos: Almacena en cach los bloques de datos que se recuperan de la base de datos. Buffer de redo log: Almacena en cach la informacin de redo (utilizada para la recuperacin de instancias) hasta que se pueda escribir en los archivos redo log fsicos almacenados en el disco. Pool compartido: Almacena en cach las distintas construcciones que se pueden compartir entre usuarios. Pool grande: Es un rea opcional que proporciona grandes asignaciones de memoria para determinados procesos grandes, como operaciones de recuperacin y copia de seguridad de Oracle y procesos de E/S del servidor.

Base de Datos Oracle 10g: Taller de Administracin I 1-10

Oracle Internal & Oracle Academy Use Only

Estructuras de Memoria de Oracle (continuacin) Pool Java: Se utiliza para todos los cdigos y datos Java especficos de la sesin dentro de Java Virtual Machine (JVM). Pool de Streams: Utilizado por Oracle Streams. Al iniciar la instancia con Enterprise Manager o SQL*Plus, aparece la cantidad de memoria asignada a SGA. Un rea Global de Programa (PGA) es una regin de la memoria que contiene datos e informacin de control para cada proceso de servidor. Un proceso de servidor de Oracle se ocupa de las solicitudes de un cliente. Cada proceso de servidor tiene su propia PGA creada al iniciar el proceso de servidor. El acceso a PGA es exclusivo para dicho proceso de servidor y se lee y escribe slo mediante cdigo de Oracle que acta en su nombre.

Base de Datos Oracle 10g: Taller de Administracin I 1-11

Oracle Internal & Oracle Academy Use Only

Con la infraestructura de SGA dinmica, el tamao de la cach de buffers, el pool compartido, el pool grande, el pool Java y el pool de Streams de la base de datos cambian sin cerrar la instancia. La base de datos Oracle utiliza los parmetros de inicializacin para crear y configurar las estructuras de memoria. Por ejemplo, el parmetro SGA_TARGET especifica la cantidad total de espacio disponible en SGA. Si define SGA_TARGET en 0, se desactivar la gestin automtica de memoria compartida.

Estructuras de Proceso

Estructuras de bases de datos Memoria > Proceso Almacenamiento

PGA

Instancia SGA

Proceso de usuario

Proceso de servidor

Proceso de usuario: Se inicia en el momento en que un usuario de base de datos solicita una conexin al servidor de Oracle Proceso de servidor: Conecta a la instancia de Oracle y se inicia cuando un usuario establece una sesin Procesos en segundo plano: Se inician al iniciar una instancia de Oracle
Copyright 2005, Oracle. Todos los derechos reservados.

Estructuras de Proceso Al llamar a un programa de aplicacin o herramienta de Oracle, como Enterprise Manager, el servidor de Oracle crea un proceso de servidor para ejecutar los comandos que emita la aplicacin. El servidor de Oracle tambin crea un juego de procesos en segundo plano para una instancia que interactan entre s y con el sistema operativo para gestionar las estructuras de memoria, realizar una E/S asncrona para escribir datos en disco y llevar a cabo otras tareas necesarias. El que estn presentes unos procesos en segundo plano u otros depende de las funciones que se estn utilizando en la base de datos.

Base de Datos Oracle 10g: Taller de Administracin I 1-12

Oracle Internal & Oracle Academy Use Only

Procesos en segundo plano

Gestin de Instancias de Oracle


SGA
Pool compartido Pool de Streams Pool grande

Pool Java

Cach de buffers de la base de datos

Buffer de redo log

Monitor del sistema (SMON)

Control de procesos (PMON)

Escritor de la base de datos (DBWn)

Escritor de log (LGWR)

Archivos archive log

Punto de control (CKPT)

Archivos de control Archivos de datos Archivos redo log

Proceso de archivado (ARCn)

Copyright 2005, Oracle. Todos los derechos reservados.

Gestin de Instancias de Oracle Un servidor de bases de datos Oracle consta de una base de datos Oracle y una instancia de Oracle. Una instancia de Oracle est formada por estructuras de memoria conocidas como rea Global del Sistema (SGA) y por procesos en segundo plano que manejan gran parte del trabajo en segundo plano relacionado con la ejecucin de una instancia. Los procesos en segundo plano ms comunes son los siguientes: Monitor del sistema (SMON): Realiza la recuperacin de fallos cuando la instancia se inicia despus de un fallo. Control de procesos (PMON): Realiza la limpieza de procesos cuando falla un proceso de usuario. Escritor de la base de datos (DBWn): Escribe bloques modificados de la cach de buffers de la base de datos en los archivos de datos del disco. Punto de control (CKPT): Actualiza todos los archivos de datos y de control de la base de datos para indicar el punto de control ms reciente. Escritor de log (LGWR): Escribe las entradas de redo log en el disco. Proceso de archivado (ARCn): Copia los archivos redo log en un almacenamiento de archivado cuando se produce un cambio de log.

Base de Datos Oracle 10g: Taller de Administracin I 1-13

Oracle Internal & Oracle Academy Use Only

Proceso de Servidor y Cach de Buffers de la Base de Datos


Proceso de servidor

SGA

Cach de buffers de la base de datos

DBWn

Archivos de datos

Copyright 2005, Oracle. Todos los derechos reservados.

Proceso de Servidor y Cach de Buffers de la Base de Datos Cuando se procesa una consulta, el proceso del servidor de Oracle busca en la cach de buffers de la base de datos cualquier bloque que necesita. Si no encuentra el bloque en la cach de buffers de la base de datos, el proceso de servidor lee el bloque del archivo de datos y coloca una copia en esa cach. Puesto que es posible que solicitudes posteriores del mismo bloque encuentren el bloque en memoria, las solicitudes no requerirn lecturas fsicas. El servidor de Oracle utiliza el algoritmo de uso menos reciente para dejar obsoletos los buffers a los que no se ha accedido ltimamente y crear espacio para los nuevos bloques en la cach de buffers de la base de datos. Los buffers de la cach de buffers pueden tener uno de los siguientes cuatro estados: Asignado: Se evita que varias sesiones escriban en el mismo bloque al mismo tiempo. Las dems sesiones esperan para acceder al bloque. Limpio: El buffer ahora no est asignado y es candidato para quedarse obsoleto inmediatamente si no se vuelve a hacer referencia al contenido actual (bloque de datos). El contenido est sincronizado con el contenido de los bloques almacenado en el disco o el buffer contiene una instantnea de lectura consistente (CR) de un bloque. Libre o no utilizado: El buffer est vaco porque la instancia se acaba de iniciar. Este estado es muy parecido al estado limpio, salvo que el buffer no se ha utilizado. Sucio: El buffer ya no est asignado pero el contenido (bloque de datos) ha cambiado y se debe vaciar en el disco con DBWn antes de que se quede obsoleto.
Base de Datos Oracle 10g: Taller de Administracin I 1-14

Oracle Internal & Oracle Academy Use Only

Buffers: Asignados Limpios Libres o no utilizados Sucios

Estructura de Base de Datos Fsica

Estructuras de bases de datos Memoria Proceso > Almacenamiento

Archivos de control

Archivos de datos

Archivos redo log en lnea

Archivo de parmetros

Archivos de copia de seguridad

Archivos archive log

Archivo de contraseas

Archivos log de alertas y de rastreo

Copyright 2005, Oracle. Todos los derechos reservados.

Estructura de Base de Datos Fsica Los archivos que constituyen una base de datos Oracle estn organizados del siguiente modo: Archivos de control: Contienen datos sobre la propia base de datos (es decir, informacin sobre la estructura de la base de datos fsica). Estos archivos son crticos para la base de datos. Sin ellos, no se pueden abrir los archivos de datos para acceder a los datos que contiene la base de datos. Archivos de datos: Contienen los datos de aplicacin o de usuario de la base de datos. Archivos redo log en lnea: Permiten la recuperacin de instancias de la base de datos. Si la base de datos falla y no pierde archivos de datos, la instancia puede recuperar la base de datos con la informacin de dichos archivos. Los siguientes archivos adicionales son importantes para la correcta ejecucin de la base de datos: Archivo de parmetros: Se utiliza para definir el modo de configurar la instancia cuando se inicie. Archivo de contraseas: Permite a los usuarios conectarse a la base de datos de forma remota y realizar tareas administrativas. Archivos de copia de seguridad: Se utilizan para la recuperacin de la base de datos. Normalmente restaura un archivo de copia de seguridad cuando un fallo del medio fsico o un error del usuario ha daado o suprimido el archivo original.

Base de Datos Oracle 10g: Taller de Administracin I 1-15

Oracle Internal & Oracle Academy Use Only

Estructura de Base de Datos Fsica (continuacin) Archivos archive log: Contienen un historial en curso de los cambios de datos (redo) generados por la instancia. Mediante estos archivos y una copia de seguridad de la base de datos, se puede recuperar un archivo de datos perdido. Es decir, los archive logs permiten la recuperacin de archivos de datos restaurados. Archivos de rastreo: Cada proceso de servidor y en segundo plano puede escribir en un archivo de rastreo asociado. Cuando un proceso detecta un error interno, vuelca informacin sobre el error en su archivo de rastreo. Parte de la informacin escrita en un archivo de rastreo va destinada al administrador de la base de datos, mientras que otra informacin es para los Servicios de Soporte Oracle. Archivos log de alertas: Son archivos de rastreo especiales. Tambin se conocen como logs de alertas. El log de alertas de una base de datos es un log cronolgico de mensajes y errores. Oracle recomienda revisar estos archivos.

Base de Datos Oracle 10g: Taller de Administracin I 1-16

Oracle Internal & Oracle Academy Use Only

Tablespaces y Archivos de Datos


Los tablespaces constan de uno o ms archivos de datos. Los archivos de datos pertenecen a un solo tablespace.

Archivo de datos 1

Archivo de datos 2

Tablespace USERS

Copyright 2005, Oracle. Todos los derechos reservados.

Tablespaces y Archivos de Datos Una base de datos se divide en unidades lgicas de almacenamiento denominadas tablespaces, que se pueden utilizar para agrupar estructuras lgicas relacionadas. Cada base de datos est dividida lgicamente en uno o ms tablespaces. Se crean explcitamente uno o ms archivos de datos para cada tablespace con el fin de almacenar fsicamente los datos de todas las estructuras lgicas de un tablespace. Nota: Tambin pueden crear tablespaces de archivo grande, que son tablespaces con un nico archivo de datos aunque de gran tamao (hasta 4 mil millones de bloques de datos). Los tablespaces de archivo pequeo tradicionales (utilizados por defecto) pueden contener varios archivos de datos, pero los archivos no pueden ser tan grandes. Para obtener ms informacin sobre los tablespaces de archivo grande, consulte Database Administrators Guide.

Base de Datos Oracle 10g: Taller de Administracin I 1-17

Oracle Internal & Oracle Academy Use Only

Tablespaces SYSTEM y SYSAUX


Copyright 2005, Oracle. Todos los derechos reservados.

Tablespaces SYSTEM y SYSAUX Cada base de datos Oracle contiene un tablespace SYSTEM y un tablespace SYSAUX. Se crean automticamente al mismo tiempo que la base de datos. El valor por defecto del sistema es crear un tablespace de archivo pequeo. Tambin se pueden crear tablespaces de archivo grande, lo que permite a la base de datos Oracle gestionar archivos de enorme tamao (de hasta 8 exabytes). Un tablespace puede estar en lnea (accesible) o fuera de lnea (no accesible). El tablespace SYSTEM siempre est en lnea cuando la base de datos est abierta. Almacena tablas que soportan la funcionalidad principal de la base de datos como, por ejemplo, las tablas del diccionario de datos. El tablespace SYSAUX es un tablespace auxiliar del tablespace SYSTEM. El tablespace SYSAUX almacena componentes de base de datos y debe estar en lnea para el correcto funcionamiento de todos los componentes de base de datos.

Base de Datos Oracle 10g: Taller de Administracin I 1-18

Oracle Internal & Oracle Academy Use Only

Los tablespaces SYSTEM y SYSAUX son tablespaces obligatorios. Se crean en el momento de la creacin de la base de datos. Deben estar en lnea. El tablespace SYSTEM se utiliza para la funcionalidad principal (por ejemplo, las tablas del diccionario de datos). El tablespace SYSAUX auxiliar se utiliza para los componentes adicionales de base de datos (como el repositorio de Enterprise Manager).

Segmentos, Extensiones y Bloques


Los segmentos existen en un tablespace. Los segmentos estn formados por una recopilacin de extensiones. Las extensiones son un conjunto de bloques de datos. Los bloques de datos estn asignados a bloques de disco.

Segmento

Extensiones

Bloques de datos

Bloques de disco

Copyright 2005, Oracle. Todos los derechos reservados.

Segmentos, Extensiones y Bloques Los objetos de base de datos, como tablas e ndices, se almacenan en los tablespaces como segmentos. Cada segmento contiene una o ms extensiones. Una extensin consta de bloques de datos contiguos, lo que significa que cada extensin slo puede existir en un archivo de datos. Los bloques de datos son la unidad ms pequea de E/S de la base de datos. Cuando la base de datos solicita un juego de bloques de datos del sistema operativo, ste lo asigna a un sistema de archivos real o bloque de disco en el dispositivo de almacenamiento. Por este motivo, no es necesario conocer la direccin fsica de los datos de la base de datos. Esto tambin indica que un archivo de datos se puede segmentar o duplicar en varios discos. El tamao del bloque de datos se puede definir en el momento de la creacin de la base de datos. El tamao por defecto de 8 KB es adecuado para la mayora de las bases de datos. Si la base de datos da soporte a una aplicacin de almacn de datos con tablas e ndices grandes, un tamao de bloque mayor puede ser til. Si la base de datos da soporte a una aplicacin transaccional en la que la lectura y escritura se realizan aleatoriamente, puede ser til especificar un tamao de bloque menor. El tamao de bloque mximo depende del sistema operativo. El tamao de bloque mnimo de Oracle es de 2 KB y se utiliza pocas veces (si se llega a usar). Puede tener tablespaces con distintos tamaos de bloque. Sin embargo, se deben utilizar slo para tablespaces transportables. Para ms informacin, consulte Database Administrators Guide.
Base de Datos Oracle 10g: Taller de Administracin I 1-19

Oracle Internal & Oracle Academy Use Only

Estructuras de Bases de Datos Fsicas y Lgicas


Lgica Fsica

Base de datos

Esquema

Tablespace

Archivo de datos

Segmento

Extensin

Bloque de datos de Oracle

Bloque del sistema operativo

Copyright 2005, Oracle. Todos los derechos reservados.

Estructuras de Bases de Datos Fsicas y Lgicas Una base de datos Oracle es una recopilacin de datos que se trata como una unidad. El objetivo general de una base de datos es almacenar y recuperar la informacin relacionada. La base de datos tiene estructuras lgicas y fsicas. Tablespaces Una base de datos se divide en unidades lgicas de almacenamiento denominadas tablespaces, que agrupan estructuras lgicas relacionadas. Por ejemplo, los tablespaces suelen agrupar todos los objetos de una aplicacin para simplificar algunas operaciones administrativas. Puede tener un tablespace para los datos de la aplicacin y otro adicional para los ndices de la aplicacin. Bases de Datos, Tablespaces y Archivos de Datos La relacin entre las bases de datos, los tablespaces y los archivos de datos se ilustra en la diapositiva. Cada base de datos est dividida de manera lgica en uno o ms tablespaces. Se crean explcitamente uno o ms archivos de datos para cada tablespace con el fin de almacenar fsicamente los datos de todas las estructuras lgicas de un tablespace. Si se trata de un tablespace TEMPORARY, en lugar de un archivo de datos, el tablespace tendr un archivo temporal.

Base de Datos Oracle 10g: Taller de Administracin I 1-20

Oracle Internal & Oracle Academy Use Only

Estructuras de Bases de Datos Fsicas y Lgicas (continuacin) Esquemas Un esquema es una recopilacin de objetos de base de datos propiedad de un usuario de la base de datos. Los objetos de esquema son estructuras lgicas que hacen referencia directa a datos de la base de datos. Los objetos de esquema incluyen estructuras como, por ejemplo, tablas, vistas, secuencias, procedimientos almacenados, sinnimos, ndices, clusters y enlaces de base de datos. En general, los objetos de esquema incluyen todo lo que la aplicacin cree en la base de datos. Bloques de Datos Al nivel ms detallado de granularidad, los datos de una base de datos Oracle se almacenan en bloques de datos. Un bloque de datos corresponde a un nmero concreto de bytes de espacio de la base de datos fsica en el disco. Se especifica un tamao del bloque de datos para cada tablespace cuando se crea. Una base de datos utiliza y asigna espacio libre de la base de datos en bloques de datos Oracle. Extensiones Al nivel siguiente del espacio de la base de datos lgica se denomina extensin. Una extensin es un nmero especfico de bloques de datos contiguos (obtenidos en una nica asignacin) que se utilizan para almacenar un tipo determinado de informacin. Segmentos Al nivel de almacenamiento de la base de datos lgica por encima de una extensin se denomina segmento. Un segmento es un juego de extensiones asignadas para una determinada estructura lgica. Por ejemplo, los diferentes tipos de segmentos incluyen: Segmentos de datos: Cada tabla no de cluster y no organizada por ndices tiene un segmento de datos. Todos los datos de la tabla se almacenan en las extensiones de su segmento de datos. Para una tabla particionada, cada particin tiene un segmento de datos. Cada cluster tiene un segmento de datos. Los datos de cada tabla del cluster se almacenan en el segmento de datos del cluster. Segmentos de ndice: Cada ndice tiene un segmento de ndice que almacena todos sus datos. Para un ndice particionado, cada particin tiene un segmento de ndice. Segmentos de deshacer: El administrador de la base de datos crea un tablespace UNDO para almacenar temporalmente informacin de deshacer. La informacin de un segmento de deshacer se utiliza para generar informacin de base de datos de lectura consistente y, durante la recuperacin de la base de datos, para realizar una operacin de rollback de las transacciones sin confirmar para los usuarios. Segmentos temporales: La base de datos Oracle crea segmentos temporales cuando una sentencia SQL necesita un rea de trabajo temporal para terminar la ejecucin. Cuando la sentencia termina la ejecucin, las extensiones del segmento temporal vuelven a la instancia para un uso futuro. Especifique un tablespace temporal por defecto para cada usuario o un tablespace temporal por defecto que se utilice en toda la base de datos. La base de datos Oracle asigna el espacio dinmicamente. Cuando las extensiones existentes de un segmento estn completas, se agregan extensiones adicionales. Debido a que las extensiones se asignan segn sea necesario, las extensiones de un segmento pueden o no ser contiguas en el disco.

Base de Datos Oracle 10g: Taller de Administracin I 1-21

Oracle Internal & Oracle Academy Use Only

Ejemplos del Curso: Esquema HR


REGIONS
REGION_ID (PK) REGION_NAME

COUNTRIES
COUNTRY_ID (PK) COUNTRY_NAME REGION_ID (FK)

JOBS
JOB_ID (PK) JOB_TITLE MIN_SALARY MAX_SALARY

JOB_HISTORY
EMPLOYEE_ID (PK) START_DATE (PK) END_DATE JOB_ID (FK) DEPARTMENT_ID (FK)

LOCATION_ID (PK) STREET_ADDRESS POSTAL_CODE CITY STATE_PROVINCE COUNTRY_ID (FK)

DEPARTMENTS
DEPARTMENT_ID (PK) DEPARTMENT_NAME MANAGER_ID LOCATION_ID (FK)

EMPLOYEE_ID (PK) FIRST_NAME LAST_NAME EMAIL PHONE_NUMBER HIRE_DATE JOB_ID (FK) SALARY COMMISION_PCT MANAGER_ID (FK) DEPARTMENT_ID (FK)

Copyright 2005, Oracle. Todos los derechos reservados.

Ejemplos del Curso: Esquema HR Los ejemplos utilizados en este curso pertenecen una aplicacin de recursos humanos (HR), que se puede crear como parte de la base de datos inicial. A continuacin, se muestran algunas reglas principales de negocio de la aplicacin HR: Cada departamento puede ser el empleador de uno o ms empleados. Cada empleado se puede asignar a un nico departamento. Cada puesto debe ser para uno o ms empleados. Cada empleado debe estar asignado a un nico puesto simultneamente. Cuando un empleado cambia su departamento o puesto, un registro de la tabla JOB_HISTORY registra las fechas de inicio y de finalizacin de las asignaciones pasadas. Los registros de JOB_HISTORY se identifican mediante una clave primaria compuesta (PK): las columnas EMPLOYEE_ID y START_DATE. Notacin: PK = Clave primaria, FK = Clave ajena Las lneas slidas representan las restricciones obligatorias de clave ajena y las lneas discontinuas las opcionales. La tabla EMPLOYEES tambin tiene una restriccin de clave ajena consigo misma. sta es una implementacin de la regla de negocio: Cada empleado informa directamente a un nico superior. La clave ajena es opcional porque el empleado de nivel superior no informa a otro empleado.
Base de Datos Oracle 10g: Taller de Administracin I 1-22

Oracle Internal & Oracle Academy Use Only

LOCATIONS

EMPLOYEES

Arquitectura de Base de Datos: Resumen de Componentes Estructurales


Estructuras de memoria:
rea Global del Sistema (SGA): Cach de buffers de la base de datos, buffer de redo y diversos pools rea Global de Programa (PGA)

Estructuras de proceso:

Estructuras de almacenamiento:
Lgicas: Base de datos, esquema, tablespace, segmento, extensin y bloque Oracle Fsicas: Archivos para datos, parmetros, redo y bloque del sistema operativo
Copyright 2005, Oracle. Todos los derechos reservados.

Arquitectura de Base de Datos: Resumen de Componentes Estructurales En esta leccin, ha aprendido, a un alto nivel, sobre los componentes estructurales de la base de datos Oracle: estructuras de memoria, de proceso y de almacenamiento. En las siguientes lecciones encontrar informacin ms detallada.

Base de Datos Oracle 10g: Taller de Administracin I 1-23

Oracle Internal & Oracle Academy Use Only

Proceso de usuario y proceso del servidor Procesos en segundo plano: SMON, PMON, DBWn, CKPT, LGWR, ARCn, etc.

Resumen

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 1-24

Oracle Internal & Oracle Academy Use Only

En esta leccin, debe haber aprendido lo siguiente: Instalar, crear y administrar la base de datos Oracle 10g Configurar la base de datos para una aplicacin Utilizar procedimientos de control bsicos Implementar una estrategia de copia de seguridad y recuperacin Mover datos entre bases de datos y archivos

Instalacin del Software de la Base de Datos Oracle


Oracle Internal & Oracle Academy Use Only

Copyright 2005, Oracle. Todos los derechos reservados.

Objetivos

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 2

Oracle Internal & Oracle Academy Use Only

Al finalizar esta leccin, debera estar capacitado para lo siguiente: Describir su rol como administrador de base de datos (DBA) y explicar las tareas y herramientas tpicas Planificar una instalacin de base de datos Oracle Utilizar la Arquitectura Flexible ptima (OFA) Instalar el software de Oracle mediante Oracle Universal Installer (OUI)

Tareas de un Administrador de la Base de Datos Oracle


Un enfoque prioritario para disear, implementar y mantener una base de datos Oracle implica las siguientes tareas: 1. Evaluar el hardware del servidor de bases de datos 2. Instalar el software de Oracle 3. Planificar la estrategia de base de datos y de seguridad 4. Crear, migrar y abrir la base de datos 5. Realizar una copia de seguridad de la base de datos 6. Inscribir los usuarios del sistema y planificar su acceso a la Red de Oracle 7. Implementar el diseo de la base de datos 8. Recuperarse de fallos de la base de datos 9. Controlar el rendimiento de la base de datos

Copyright 2005, Oracle. Todos los derechos reservados.

Tareas de un Administrador de la Base de Datos Oracle Un administrador de la base de datos (DBA) suele ser responsable de la instalacin del software de Oracle y de la creacin de la base de datos. Como DBA, puede que sea responsable de la creacin de las estructuras de almacenamiento de la base de datos como, por ejemplo, los tablespaces. Adems, puede crear el esquema o juego de objetos para incluir los datos de la aplicacin. Es preciso garantizar que la base de datos est disponible para los usuarios. Para ello, puede iniciar la base de datos, realizar copias de seguridad con cierta periodicidad y controlar el rendimiento de la base de datos. Estas tareas se deben realizar dentro del marco de una estrategia de seguridad. A medida que avance por las lecciones de este curso, aprender a realizar cada una de estas tareas. Tambin puede consultar la gua Oracle Database Administrators Guide si precisa ms informacin acerca de cada una de las tareas indicadas en la diapositiva. En esta leccin, se centrar en la instalacin. Para realizar esta tarea principal, tenga en cuenta las siguientes subtareas: Comprender qu lugar ocupa el proceso de instalacin en la arquitectura tcnica global de una organizacin. Revisar (y actualizar) los planes de capacidad. Seleccionar el software de base de datos (versin y opciones necesarias). Asegurarse de que se cumplen los requisitos del sistema para todos los elementos seleccionados.
Base de Datos Oracle 10g: Taller de Administracin I 3

Oracle Internal & Oracle Academy Use Only

Herramientas Utilizadas para Administrar Bases de Datos Oracle


Oracle Universal Installer Asistente de Configuracin de Bases de Datos Asistente de Actualizacin de Bases de Datos Oracle Net Manager Oracle Enterprise Manager SQL*Plus e iSQL*Plus Recovery Manager Oracle Secure Backup Pump de datos SQL*Loader Herramientas de lnea de comandos
Copyright 2005, Oracle. Todos los derechos reservados.

Herramientas Utilizadas para Administrar Bases de Datos Oracle Se pueden utilizar las siguientes herramientas para la instalacin y actualizacin: Oracle Universal Installer (OUI): Oracle Universal Installer instala el software y las opciones de Oracle. Puede iniciar automticamente el Asistente de Configuracin de Bases de Datos (DBCA) para crear una base de datos. Asistente de Configuracin de Bases de Datos (DBCA): Crea una base de datos a partir de las plantillas proporcionadas por Oracle. Permite copiar una base de datos inicial preconfigurada. De manera alternativa, puede crear su propia base de datos y plantillas. Asistente de Actualizacin de Bases de Datos (DBUA): Esta herramienta le gua por los pasos necesarios para actualizar su base de datos existente a una nueva versin de Oracle. Oracle Net Manager: Se utiliza para configurar la conectividad de red de sus aplicaciones y bases de datos Oracle.

Base de Datos Oracle 10g: Taller de Administracin I 4

Oracle Internal & Oracle Academy Use Only

Herramientas Utilizadas para Administrar Bases de Datos Oracle (continuacin) Las siguientes herramientas se utilizan para gestionar su instancia y base de datos Oracle: Oracle Enterprise Manager (EM): EM combina una consola grfica, agentes, servicios comunes y herramientas para proporcionar una plataforma de gestin del sistema completa e integrada para la gestin de productos Oracle. Despus de instalar el software de Oracle, crear o actualizar una base de datos y configurar la red, puede utilizar Enterprise Manager como la nica interfaz para gestionar la base de datos. Adems de proporcionar una interfaz de usuario basada en Web para ejecutar comandos SQL, interacta de forma ininterrumpida con otros componentes de Oracle que se utilizan para administrar la base de datos (por ejemplo, Recovery Manager y el Planificador). Las tres herramientas principales de Enterprise Manager que se utilizan para administrar una base de datos Oracle son las siguientes: - Consola de Base de Datos de Enterprise Manager: Se utiliza para administrar una base de datos. - Enterprise Manager Grid Control: Se utiliza para administrar varias bases de datos al mismo tiempo. - Consola Java de Enterprise Manager: Se utiliza para acceder a herramientas que no estn basadas en Web. SQL*Plus: SQL*Plus es la interfaz estndar de lnea de comandos que se utiliza para gestionar la base de datos. iSQL*Plus: iSQL*Plus es una interfaz basada en explorador para una base de datos Oracle. Recovery Manager (RMAN): RMAN es una herramienta de Oracle que ofrece una solucin completa para cubrir las necesidades de copia de seguridad, restauracin y recuperacin de toda la base de datos o de archivos especficos de sta. Oracle Secure Backup facilita la gestin de las copias de seguridad en cintas en Oracle Ecosystem, lo que incluye lo siguiente: - Proteccin de la base de datos Oracle en cintas mediante la integracin con Recovery Manager - Soporte completo de Oracle Real Application Clusters (RAC) - Administracin central de clientes distribuidos y servidores de medios fsicos, incluidos Oracle Application Server, Oracle Collaboration Suite y binarios y directorio raz de Oracle Pump de datos: La utilidad de pump de datos permite la transferencia de datos de una base de datos a otra a alta velocidad. Por ejemplo, puede exportar una tabla e importarla a otra base de datos. SQL*Loader: La utilidad SQL*Loader permite la carga de datos de un archivo externo en una base de datos Oracle. Es una de las diversas utilidades de Oracle que puede utilizar para cargar datos en tablas de base de datos. Herramientas de lnea de comandos: - Para administrar Enterprise Manager, utilice:
emctl start | status | set | stop

Para parar e iniciar iSQL*Plus, utilice:


isqlplusctl start | stop

Para administrar el listener, utilice:


lsnrctl help | start | status | stop

Base de Datos Oracle 10g: Taller de Administracin I 5

Oracle Internal & Oracle Academy Use Only

Instalacin: Requisitos del Sistema


Requisitos de memoria:
1 GB para la instancia con Database Control

Requisitos de espacio en disco:


1,5 GB de espacio de intercambio 400 MB de espacio en disco en el directorio /tmp

Sistema operativo: Consulte la documentacin.

Copyright 2005, Oracle. Todos los derechos reservados.

Instalacin: Requisitos del Sistema La instalacin estndar puede llevarse a cabo en una computadora con 1 GB de RAM y 1,5 GB de espacio de intercambio o mayor. En funcin del nivel de actividad de la mquina en la que realice la instalacin del software de la base de datos Oracle, la instalacin estndar terminar en 20 minutos o menos. stos son algunos detalles de la instalacin: - La base de datos Oracle 10g slo incluye una plantilla de base de datos inicial. - Se eliminan los archivos duplicados. - Hay un gran nmero de otros productos y demostraciones que se instalan desde CD adicionales. Los requisitos de hardware que aparecen en la diapositiva son requisitos mnimos en todas las plataformas. Es posible que la instalacin tenga requisitos adicionales (sobre todo en cuanto a espacio en disco). Nota: Un tipo de instalacin Enterprise Edition que incluye una base de datos inicial estndar se denomina instalacin estndar.

Base de Datos Oracle 10g: Taller de Administracin I 6

Oracle Internal & Oracle Academy Use Only

Entre 1,5 GB y 3,5 GB para el software de Oracle 1,2 GB para la base de datos preconfigurada (opcional) 2,4 GB para el rea de recuperacin de flash (opcional)

Comprobacin de los Requisitos del Sistema


Espacio temporal adecuado Problemas de 64 bits frente a 32 bits Comprobaciones del sistema operativo correcto Nivel de parche del sistema operativo Paquetes del sistema Parmetros del ncleo y del sistema Permisos del servidor X Intercambio suficiente Directorio ORACLE_HOME no vaco

Copyright 2005, Oracle. Todos los derechos reservados.

Comprobacin de los Requisitos del Sistema La instalacin de la base de datos Oracle 10g automatiza la mayora de las comprobaciones de requisitos: Se comprueba el espacio temporal adecuado. Se determinan cules son los requisitos mnimos de espacio temporal para la instalacin y configuracin y esos requisitos se validan durante el proceso de instalacin. No se pueden llevar a cabo instalaciones de 64 bits en directorios raz de Oracle que ya tengan instalado software de 32 bits (y viceversa). En la plataforma Linux, RedHat-3.0, 4.0, Asianux 1.0, 2.0 y SUSE Linux E.S. 9.0 estn certificados. El proceso de instalacin comprueba si se han instalado todos los parches necesarios del sistema operativo. El proceso de instalacin comprueba si se han definido correctamente todos los parmetros necesarios del ncleo y del sistema operativo. El proceso de instalacin verifica que se ha definido la variable de entorno DISPLAY y que el usuario tiene los permisos suficientes para mostrar la variable DISPLAY especificada. El proceso de instalacin verifica que el sistema tiene definido el espacio de intercambio suficiente. El proceso de instalacin verifica que el directorio raz de Oracle en el que se va a realizar la nueva instalacin est vaco o que es una de las diversas versiones soportadas sobre las que se puede instalar la base de datos Oracle 10g y que estn registradas en el inventario de Oracle.
Base de Datos Oracle 10g: Taller de Administracin I 7

Oracle Internal & Oracle Academy Use Only

Arquitectura Flexible ptima (OFA)


OFA est diseada para: Organizar grandes cantidades de software Facilitar tareas administrativas rutinarias Facilitar el cambio entre varias bases de datos Oracle Gestionar y administrar de manera adecuada el crecimiento de la base de datos Ayudar a eliminar la fragmentacin del espacio libre

Copyright 2005, Oracle. Todos los derechos reservados.

Arquitectura Flexible ptima (OFA) OFA es un mtodo para configurar la base de datos Oracle y otras bases de datos. Esta arquitectura aprovecha las capacidades del sistema operativo y de los subsistemas de disco para crear una configuracin fcil de administrar que permita una flexibilidad mxima para bases de datos de alto rendimiento y en crecimiento. Los mtodos aqu descritos son los fundamentos de OFA. OFA est diseada para: Organizar grandes cantidades de software y datos complicados en el disco, con el fin de evitar cuellos de botella y un rendimiento deficiente de los dispositivos Facilitar tareas administrativas rutinarias, como la realizacin de copias de seguridad del software y de los datos, que a menudo son vulnerables a la corrupcin de datos Facilitar el cambio entre varias bases de datos Oracle Gestionar y administrar adecuadamente el crecimiento de la base de datos Ayudar a eliminar la fragmentacin del espacio libre en el diccionario de datos, aislar otra fragmentacin y minimizar la contencin de recursos Para obtener ms informacin sobre los objetivos y la implementacin de OFA, consulte Oracle Installation Guide for UNIX Systems.

Base de Datos Oracle 10g: Taller de Administracin I 8

Oracle Internal & Oracle Academy Use Only

Uso de la Arquitectura Flexible ptima

Nomenclatura de puntos de montaje:


/u01 /disk01

Nomenclatura de directorios:

Nomenclatura de archivos:
Archivos de control: controln.ctl Archivos redo log: redon.log Archivos de datos: tn.dbf

Copyright 2005, Oracle. Todos los derechos reservados.

Uso de la Arquitectura Flexible ptima En el ncleo de OFA hay un esquema de nomenclatura que ofrece un estndar para aplicarlo a los puntos de montaje (que son con frecuencia los discos fsicos), directorios y subdirectorios de dichos puntos de montaje y, finalmente, a los propios archivos. Sintaxis del punto de montaje: Asigne un nombre a todos los puntos de montaje utilizando la sintaxis /pm, donde p es una constante de cadena y m es una clave nica de longitud fija (normalmente un nmero de dos dgitos) utilizada para diferenciar cada punto de montaje. Algunos ejemplos de puntos de montaje son /u01 y /u02. Sintaxis de directorios raz: Asigne un nombre a todos los directorios raz utilizando la sintaxis /pm/h/u, donde pm es un nombre de punto de montaje, h un nombre de directorio estndar y u es el nombre del propietario del directorio. Algunos ejemplos de directorios raz compatibles con OFA son los siguientes:
/u01/app/oracle /u01/home/oracle

Sintaxis de directorios de software: Almacene cada versin del software de Oracle en un directorio que coincida con el patrn: /pm/h/u/product/v. Aqu, product es un literal y v es una variable para el nmero de versin. Esta sintaxis ayuda a activar la funcin OFA de varias versiones del software de aplicaciones que se ejecutan simultneamente. De modo que una instalacin compatible con OFA de la base de datos Oracle 10g versin 10.2.0 aparecera del siguiente modo:
/u01/app/oracle/product/10.2.0

Base de Datos Oracle 10g: Taller de Administracin I 9

Oracle Internal & Oracle Academy Use Only

/u01/app/oracle /u01/app/applmgr

Sintaxis de la nomenclatura de archivos: La siguiente regla de nomenclatura para archivos de base de datos garantiza que se puedan identificar fcilmente: Archivos de control: /pm/q/d/controln.ctl Archivos redo log: /pm/q/d/redon.log Archivos de datos: /pm/q/d/tn.dbf Las variables utilizadas en estos nombres de archivo son: pm: Nombre de punto de montaje como se ha descrito anteriormente q: Cadena que distingue datos de Oracle del resto de los archivos (normalmente denominados ORACLE u oradata) d: Valor del parmetro de inicializacin, DB_NAME (nombre de la base de datos) t: Nombre de un tablespace de Oracle n: Cadena de dos dgitos Nota: No almacene archivos que no sean de control, redo log o de datos asociados con la base de datos d en la ruta /pm/q/d/.

Base de Datos Oracle 10g: Taller de Administracin I 10

Oracle Internal & Oracle Academy Use Only

Uso de la Arquitectura Flexible ptima (continuacin) Sintaxis de la nomenclatura de subdirectorios: Para facilitar la organizacin de datos administrativos, debe almacenar archivos de administracin especficos de la base de datos en subdirectorios que coincidan con el patrn: /h/admin/d/a/. Donde h es el directorio raz del propietario del software de Oracle, admin es un literal, d es el nombre de la base de datos y a es un subdirectorio para cada uno de los archivos de administracin de la base de datos. A continuacin se incluye una lista de estos subdirectorios de archivos de administracin: adhoc: Archivos de comandos SQL ad-hoc para una base de datos determinada arch: Archivos redo log archivados adump: Archivos de auditora (defina el parmetro de inicializacin AUDIT_FILE_DEST en el directorio adump; limpie este subdirectorio peridicamente.) Bdump: Archivos de rastreo de procesos en segundo plano Cdump: Archivos de volcado principales Create: Programas utilizados para crear la base de datos Exp: Archivos de exportacin de la base de datos Logbook: Archivos que registran el estado y el historial de la base de datos Pfile: Archivos de parmetros de instancias udump: Archivos de rastreo de SQL del usuario

Definicin de Variables de Entorno


ORACLE_BASE: Base de la estructura de directorios de Oracle para OFA ORACLE_HOME: Directorio que contiene el software de Oracle ORACLE_SID: Nombre de la instancia inicial (ORCL por defecto) NLS_LANG: Configuracin del idioma, territorio y juego de caracteres del cliente

Copyright 2005, Oracle. Todos los derechos reservados.

Definicin de Variables de Entorno Hay muchas variables de entorno de Oracle y las que se mencionan son muy importantes para una instalacin correcta y para el uso de una base de datos Oracle. No es necesario configurar ninguna de ellas, pero si las configura antes de la instalacin puede evitar problemas en el futuro. ORACLE_BASE: Especifica la base de la estructura de directorios de Oracle para OFA. Su uso es opcional, pero puede facilitar futuras instalaciones y actualizaciones. Se trata de una ruta de acceso de directorio similar a la que aparece en este ejemplo:
/u01/app/oracle

ORACLE_HOME: Especifica el directorio que contiene el software de Oracle. Se trata de una ruta de acceso de directorio similar a la que aparece en este ejemplo:
$ORACLE_BASE/product/10.2.0/db_1

ORACLE_SID: Nombre de la instancia inicial (por defecto, ORCL). Es una cadena de nmeros y letras que debe comenzar por una letra. Oracle Corporation sugiere que se utilice un mximo de ocho caracteres para los identificadores del sistema.

Base de Datos Oracle 10g: Taller de Administracin I 11

Oracle Internal & Oracle Academy Use Only

Definicin de Variables de Entorno (continuacin) NLS_LANG: Especifica los valores iniciales de soporte de idioma nacional (NLS) para una sesin en formato idioma_territorio.juego de caracteres. Por ejemplo, el valor:
AMERICAN_DENMARK.WE8MSWIN1252

De este modo se define la sesin para que utilice el idioma AMERICAN para los mensajes, la secuencia de ordenacin alfabtica y los nombres de das y de meses de Oracle. El territorio es DENMARK, que define el formato de hora y fecha y las convenciones numricas y monetarias. El juego de caracteres WE8MSWIN1252 indica a la Red de Oracle que convierta la informacin de caracteres a este juego. Es una variable de entorno en UNIX y un valor del registro en Windows. Puede consultar los valores reales de NLS de la sesin actual mediante:
select * from nls_session_parameters;

Para obtener ms informacin sobre los idiomas, los territorios, los juegos de caracteres y el soporte de idiomas vlidos, consulte Globalization Support Guide. Nota: Una instalacin de Windows toma por defecto los valores de NLS_LANG del registro cuando la parte idioma se origina a partir del idioma del teclado. Como consecuencia, la instalacin por defecto de Windows con teclados no americanos obtendr el valor no americano en la configuracin de NLS_LANG. A su vez, la variable de sesin NLS_SORT ser por defecto distinta de binary, lo que dificulta que el optimizador utilice ndices basados en caracteres para las sesiones de este nodo.

Base de Datos Oracle 10g: Taller de Administracin I 12

Oracle Internal & Oracle Academy Use Only

Oracle Universal Installer (OUI)

Copyright 2005, Oracle. Todos los derechos reservados.

Oracle Universal Installer (OUI) Oracle Universal Installer (OUI) es una aplicacin Java que realiza instalaciones basadas en componentes y permite distintos niveles de instalaciones basadas en Web, en series y en grupos integrados, as como de lgica compleja en un nico paquete. El sistema de instalacin se puede transportar fcilmente por todas las plataformas activadas para Java y los problemas especficos de las plataformas se pueden encapsular a partir del proceso de instalacin global. OUI proporciona las siguientes capacidades para tratar la gestin y distribucin del software: Resolucin de dependencia automtica y manejo de lgica compleja Instalacin desde Web Instalaciones de componentes y de series Desinstalacin implcita Soporte para varios directorios raz de Oracle Soporte de globalizacin o NLS Soporte para instalaciones distribuidas Instalaciones silenciosas desatendidas que utilizan archivos de respuesta En Windows: Inserte el medio fsico de instalacin de la base de datos Oracle, acceda al directorio client y haga clic dos veces en setup.exe para iniciar OUI. Despus de la pgina Welcome, seleccione el tipo de instalacin: Instant Client, Administrator, Runtime o Custom.
Base de Datos Oracle 10g: Taller de Administracin I 13

Oracle Internal & Oracle Academy Use Only

Instalacin del Software de Oracle

Copyright 2005, Oracle. Todos los derechos reservados.

Instalacin del Software de Oracle Puede utilizar OUI para instalar el software de Oracle de la siguiente forma: 1. Conctese a la computadora como miembro del grupo administrativo con autorizacin para instalar el software de Oracle y para crear y gestionar la base de datos. 2. Inserte el CD de distribucin de la base de datos en la unidad de CD, o acceda a la ubicacin de almacenamiento en zona intermedia de la base de datos Oracle. 3. Inicie OUI. En una ventana XTerm en Linux, introduzca ./runInstaller. Aparecer la pgina Oracle Universal Installer. 4. Navegue por las pginas de OUI y especifique los valores previos de instalacin en funcin de su plan de instalacin. 5. Con la informacin inicial, OUI ejecuta las comprobaciones de requisitos.

Base de Datos Oracle 10g: Taller de Administracin I 14

Oracle Internal & Oracle Academy Use Only

Opciones de Configuracin de Base de Datos

Copyright 2005, Oracle. Todos los derechos reservados.

Opciones de Configuracin de Base de Datos El proceso de instalacin contina: 6. Navegue por las pginas de OUI y especifique las opciones de configuracin de la base de datos. OUI muestra un resumen de las opciones de instalacin. 7. Haga clic en Install para iniciar la instalacin del software de Oracle. Si selecciona crear una base de datos inicial como parte de la instalacin, OUI llamar a los siguientes asistentes de configuracin: Asistente de Configuracin de Red de Oracle: Este asistente configura los componentes de red bsicos durante la instalacin, entre los que se incluyen: - Nombres de listener y direcciones de protocolo - Mtodos de nomenclatura que el cliente utilizar para resolver los identificadores de conexin a los descriptores de conexin - Nombres del servicio de red en un archivo tnsnames.ora - Uso del servidor de directorios Asistente de Configuracin de Bases de Datos (DBCA) Oracle: Crea la base de datos inicial seleccionada. Cuando termine este asistente de configuracin, puede desbloquear cuentas y cambiar contraseas. Asistente de Configuracin de iSQL*Plus: Este asistente configura la instancia de Oracle Application Server Containers for J2EE (OC4J), la cual utiliza iSQL*Plus y otras herramientas para conectarse a la base de datos Oracle.
Base de Datos Oracle 10g: Taller de Administracin I 15

Oracle Internal & Oracle Academy Use Only

Ejecucin de Archivos de Comandos de Configuracin

Copyright 2005, Oracle. Todos los derechos reservados.

Ejecucin de Archivos de Comandos de Configuracin El proceso de instalacin contina: 8. Cuando se le indique durante una instalacin de Linux o UNIX, ejecute archivos de comandos de configuracin adicionales como usuario root. En una ventana XTerm, introduzca: $ su # password: oracle <contrasea raz, no aparece en la ventana > # cd /u01/app/oracle/oraInventory # ./orainstRoot.sh # cd /u01/app/oracle/product/10.2.0/db_1 # ./root.sh 9. Acepte el valor por defecto del directorio bin local durante una instalacin de Linux o UNIX. Cuando terminen los archivos de comandos, salga de todas las cuentas y ventanas relacionadas para que termine la instalacin.

Base de Datos Oracle 10g: Taller de Administracin I 16

Oracle Internal & Oracle Academy Use Only

Fin de la Instalacin

Copyright 2005, Oracle. Todos los derechos reservados.

Fin de la Instalacin 10. Cuando termine el proceso de instalacin, anote las direcciones URL para uso futuro.

Base de Datos Oracle 10g: Taller de Administracin I 17

Oracle Internal & Oracle Academy Use Only

Opciones Avanzadas de Instalacin


Opciones de almacenamiento de base de datos:
Archivo del sistema Gestin Automtica de Almacenamiento Dispositivos raw

Opciones de gestin de base de datos:

Opciones de copia de seguridad y recuperacin de base de datos Opciones de notificacin de correo electrnico Cluster Ready Services Clonacin
Copyright 2005, Oracle. Todos los derechos reservados.

Opciones Avanzadas de Instalacin Con OUI, se pueden crear configuraciones que utilicen la Gestin Automtica de Almacenamiento. Puede instalar y configurar el marco de Enterprise Manager (EM). Oracle Enterprise Manager Database Control se instala en el mismo directorio raz de Oracle que la base de datos y se configura para ejecutarse en una instancia autnoma de OC4J. Debe realizar una instalacin independiente para obtener funciones de gestin centrales de EM. Si decide utilizar Oracle Enterprise Manager Database Control, puede configurar, de manera opcional, el uso de la estrategia de copia de seguridad por defecto recomendada por Oracle. Si decide utilizar Oracle Enterprise Manager Database Control durante la instalacin, puede configurar Enterprise Manager para que enve alertas por correo electrnico a la direccin de correo que especifique. Estas alertas pueden incluir problemas, como que el espacio en disco est llegando a un lmite crtico o que una base de datos se haya cerrado de manera inesperada. La instalacin de la base de datos Oracle 10g soporta funciones de RAC, especialmente la instalacin de Cluster Ready Services (CRS). Los directorios raz de Oracle se pueden clonar mediante la herramienta Enterprise Configuration Management. Esta herramienta permite a los usuarios crear solicitudes de clonacin y, a continuacin, planificarlas y procesarlas. Esta herramienta est disponible a travs de EM Grid Control.
Base de Datos Oracle 10g: Taller de Administracin I 18

Oracle Internal & Oracle Academy Use Only

Enterprise Manager Grid Control Enterprise Manager Database Control

Opcin de Instalacin: Modo Silencioso

Copyright 2005, Oracle. Todos los derechos reservados.

Opcin de Instalacin: Modo Silencioso Para instalar y configurar productos Oracle mediante OUI en modo silencioso o suprimido, realice los siguientes pasos: 1. Cree el archivo oraInst.loc, si no existe ya. Lo ms probable es que el archivo ya est en ORACLE_BASE/oraInventory, si ha instalado con anterioridad el software de Oracle. 2. Prepare un archivo de respuesta: Se suministran plantillas de archivo para cada producto y tipo de instalacin, como por ejemplo enterprise.rsp, standard.rsp y netca.rsp. 3. Puede utilizar OUI en el modo interactivo para registrar un archivo de respuesta que pueda editar y, a continuacin, usarlo para realizar las instalaciones en modo silencioso o suprimido. Cree el archivo de respuesta en Linux y UNIX con el siguiente comando: .runInstaller record -destinationFile <nombre_archivo> donde destinationFile es la ubicacin del archivo. 4. Ejecute OUI en modo silencioso o suprimido. 5. Si ha terminado una instalacin de slo software, ejecute el Asistente de Configuracin de Red (NetCA) y el Asistente de Configuracin de Bases de Datos (DBCA) de Oracle en modo silencioso o no interactivo, si resulta necesario. Para obtener ms informacin, consulte la Oracle Database Installation Guide especfica de su sistema operativo.
Base de Datos Oracle 10g: Taller de Administracin I 19

Oracle Internal & Oracle Academy Use Only

Para instalar y configurar productos Oracle con OUI en modo silencioso, realice los siguientes pasos: 1. Cree el archivo oraInst.loc, si no existe ya. 2. Prepare un archivo de respuesta basado en las plantillas de archivo que se distribuyen con el software de Oracle. 3. Registre un archivo de respuesta: .runInstaller record -destinationFile <nombre_archivo> 4. Ejecute OUI en modo silencioso o suprimido. 5. Si es necesario, ejecute NetCA y DBCA en modo silencioso.

Resumen

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 20

Oracle Internal & Oracle Academy Use Only

En esta leccin, debe haber aprendido lo siguiente: Describir su rol como DBA y explicar las tareas y herramientas Planificar su instalacin, empezando por la documentacin adecuada Realizar tareas previas a la instalacin, como la comprobacin de los requisitos del sistema Instalar el software mediante OUI

Visin General de la Prctica: Instalacin del Software de Oracle


En esta prctica se aborda la instalacin del software de Oracle mediante el uso de Oracle Universal Installer. Nota: La realizacin de esta prctica es crtica para todas las sesiones prcticas posteriores.

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 21

Oracle Internal & Oracle Academy Use Only

Creacin de una Base de Datos Oracle


Oracle Internal & Oracle Academy Use Only

Copyright 2005, Oracle. Todos los derechos reservados.

Objetivos

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 3-2

Oracle Internal & Oracle Academy Use Only

Al finalizar esta leccin, debera estar capacitado para lo siguiente: Crear una base de datos con el Asistente de Configuracin de Bases de Datos (DBCA) Crear una plantilla de diseo de bases de datos con DBCA Generar archivos de comandos de creacin de bases de datos con DBCA

Planificacin de la Base de Datos


Como DBA, debe planificar: La estructura de almacenamiento lgica de la base de datos y su implementacin fsica:
Cuntas unidades de disco tiene designadas para este fin? Cuntos archivos de datos va a necesitar? (Plan de crecimiento) Cuntos tablespaces utilizar? Qu tipo de informacin se va a almacenar? Existen requisitos de almacenamiento especiales de tipo o tamao?

El diseo general de la base de datos Una estrategia de copia de seguridad para la base de datos
Copyright 2005, Oracle. Todos los derechos reservados.

Planificacin de la Base de Datos Es importante planificar el modo en que la estructura de almacenamiento lgica afectar al rendimiento del sistema y a las diferentes operaciones de gestin de base de datos. Por ejemplo, antes de crear los tablespaces de la base de datos, debe saber cuntos archivos de datos compondrn cada tablespace, qu tipo de informacin se almacenar en ellos y en qu unidades de disco se almacenarn fsicamente los archivos de datos. Al planificar el almacenamiento lgico general de la estructura de la base de datos, deben considerarse los efectos que tendr el uso de esta estructura cuando la base de datos se cree y ejecute realmente. Es posible que tenga objetos de base de datos sin requisitos de almacenamiento especiales de tipo o tamao. En entornos distribuidos de base de datos, esta etapa de planificacin es extremadamente importante. La ubicacin fsica de los datos a los que se accede con ms frecuencia afecta considerablemente al rendimiento de la aplicacin. Durante la etapa de planificacin, desarrolle una estrategia de copia de seguridad para la base de datos. Puede modificar la estructura de almacenamiento lgica o el diseo de la base de datos para mejorar la eficacia de las copias de seguridad. Las estrategias de copia de seguridad se describen en una leccin posterior. stos son los tipos de preguntas y consideraciones a los que se enfrentar como DBA y este curso (en su totalidad) se ha diseado para ayudarle a resolverlas.
Base de Datos Oracle 10g: Taller de Administracin I 3-3

Oracle Internal & Oracle Academy Use Only

Bases de Datos: Ejemplos

Almacn de Datos:
Datos de marketing e investigacin Pagos de impuestos estatales o regionales Licencias de profesionales (doctores, enfermeras, etc.) Sistema de registro de compra para almacn Transacciones de cajero automtico

Uso General:
Sistema de facturacin al por menor, por ejemplo, de una empresa de diseo de software o de una guardera

Copyright 2005, Oracle. Todos los derechos reservados.

Bases de Datos: Ejemplos Cada tipo diferente de base de datos tiene sus propios requisitos de almacenamiento e instancia especficos. Su software de base de datos Oracle incluye plantillas para la creacin de estos tipos de bases de datos. Las caractersticas de estos ejemplos son las siguientes: Almacn de Datos: Almacena datos durante largos perodos de tiempo y permite recuperarlos en operaciones de lectura. Procesamiento de Transacciones: Incluye numerosas transacciones, aunque normalmente son pequeas. Uso General: Funciona con transacciones y las almacena durante un perodo de tiempo medio.

Base de Datos Oracle 10g: Taller de Administracin I 3-4

Oracle Internal & Oracle Academy Use Only

Procesamiento de Transacciones:

Asistente de Configuracin de Bases de Datos (DBCA)

Copyright 2005, Oracle. Todos los derechos reservados.

Asistente de Configuracin de Bases de Datos (DBCA) El Asistente de Configuracin de Bases de Datos (DBCA) se puede utilizar para crear, cambiar la configuracin o suprimir una base de datos. Tambin permite crear una base de datos a partir de una lista de plantillas predefinidas o utilizar una base de datos como muestra para crear una nueva base de datos o plantilla. Esta accin a veces se denomina clonacin de bases de datos. Para llamar a DBCA, realice los siguientes pasos: 1. Conctese a la computadora como miembro del grupo administrativo con autorizacin para instalar el software de Oracle. 2. Si es necesario, defina las variables de entorno. 3. Introduzca dbca para llamar a DBCA. 4. Haga clic en Next para continuar. DBCA le ofrece la opcin de ayudarle con diversas operaciones como, por ejemplo, la creacin de una base de datos.

Base de Datos Oracle 10g: Taller de Administracin I 3-5

Oracle Internal & Oracle Academy Use Only

Uso de DBCA para Crear una Base de Datos

Copyright 2005, Oracle. Todos los derechos reservados.

Uso de DBCA para Crear una Base de Datos DBCA se puede utilizar para crear una base de datos de la siguiente forma: 1. Seleccione Create a Database en la pgina DBCA Operations para llamar a un asistente que le permita configurar y crear una base de datos. El asistente le pedir que facilite la informacin de configuracin que se describe en los pasos siguientes. En la mayora de las pginas, el asistente ofrecer un valor por defecto que podr aceptar. 2. Seleccione el tipo de plantilla de base de datos que va a utilizar para la creacin de la base de datos. Hay plantillas para las bases de datos de almacn de datos, uso general y procesamiento de transacciones que copian una base de datos preconfigurada, incluidos los archivos de datos. Estos archivos de datos incluyen archivos de control, archivos redo log y archivos de datos para los diversos tablespaces incluidos. Haga clic en Show Details para ver la configuracin de cada tipo de base de datos. Para entornos ms complejos, puede que desee seleccionar la opcin Custom Database.

Base de Datos Oracle 10g: Taller de Administracin I 3-6

Oracle Internal & Oracle Academy Use Only

Uso de DBCA para Crear una Base de Datos


3

Copyright 2005, Oracle. Todos los derechos reservados.

Uso de DBCA para Crear una Base de Datos (continuacin) 3. Identificacin de la base de datos: Introduzca el nombre de la base de datos global (Global Database Name) con el formato nombre_base_datos.nombre_dominio y el identificador del sistema (SID). El SID toma el nombre de la base de datos como valor por defecto e identifica de forma nica a la instancia que ejecuta la base de datos. 4. Opciones de gestin: Utilice esta pgina para configurar la base de datos de forma que pueda gestionarla con Oracle Enterprise Manager. Seleccione el valor por defecto: Configure the Database with Enterprise Manager.

Base de Datos Oracle 10g: Taller de Administracin I 3-7

Oracle Internal & Oracle Academy Use Only

Uso de DBCA para Crear una Base de Datos


5

Copyright 2005, Oracle. Todos los derechos reservados.

Uso de DBCA para Crear una Base de Datos (continuacin) 5. Credenciales de la base de datos: Utilice este pgina para especificar las contraseas de las cuentas administrativas, como SYS y SYSTEM. En la clase, utilice oracle como contrasea para todas las cuentas administrativas. 6. Opciones de almacenamiento: Especifique el tipo de mecanismo de almacenamiento (como File System) que desee que utilice la base de datos. 7. Ubicaciones de archivos de la base de datos: Seleccione las opciones que necesite. Oracle Managed Files (OMF) elimina la necesidad de gestionar directamente los archivos del sistema operativo que forman una base de datos Oracle. Especifique operaciones en funcin de los objetos de base de datos en lugar de los nombres de archivos. Para obtener ms informacin, consulte la leccin titulada Gestin de Estructuras de Almacenamiento de Bases de Datos.

Base de Datos Oracle 10g: Taller de Administracin I 3-8

Oracle Internal & Oracle Academy Use Only

Uso de DBCA para Crear una Base de Datos


8

Copyright 2005, Oracle. Todos los derechos reservados.

Uso de DBCA para Crear una Base de Datos (continuacin) 8. Configuracin de recuperacin: Si es necesario, especifique un rea de recuperacin de flash (Specify Flash Recovery Area) y active el proceso de archivado (Enable Archiving). 9. Contenido de la base de datos: Estas pginas ofrecen opciones para seleccionar componentes, como Sample Schemas, y para usar archivos de comandos personalizados.

Base de Datos Oracle 10g: Taller de Administracin I 3-9

Oracle Internal & Oracle Academy Use Only

Uso de DBCA para Crear una Base de Datos

Copyright 2005, Oracle. Todos los derechos reservados.

Uso de DBCA para Crear una Base de Datos (continuacin) 10. Parmetros de inicializacin: Los separadores de esta pgina ofrecen acceso a pginas que le permiten cambiar los valores de los parmetros de inicializacin por defecto: - Memory: Utilice esta pgina para definir los parmetros de inicializacin que controlan el uso de la memoria. Utilice la asignacin de memoria (A) Typical o (B) Custom. - Sizing: Para especificar un tamao de bloque, introduzca el tamao en bytes o acepte el valor por defecto. - Character Sets: Utilice esta pgina para especificar los juegos de caracteres de la base de datos. Prctica recomendada: Oracle recomienda (siempre que sea posible) utilizar Unicode como juego de caracteres de base de datos ya que ofrece una flexibilidad ptima para soportar tecnologas Web as como numerosos idiomas hablados. - Connection Mode: Seleccione Dedicated Server Mode o Shared Server Mode. Para obtener ms informacin, consulte la leccin titulada Configuracin del Entorno de Red de Oracle. Nota: Hay diversos parmetros de inicializacin definidos para toda la existencia de una base de datos, como los parmetros DB_BLOCK_SIZE y CHARACTER_SET.

Base de Datos Oracle 10g: Taller de Administracin I 3-10

Oracle Internal & Oracle Academy Use Only

10

Uso de DBCA para Crear una Base de Datos


11

12

Copyright 2005, Oracle. Todos los derechos reservados.

Uso de DBCA para Crear una Base de Datos (continuacin) 11. Almacenamiento de base de datos: Si ha seleccionado una de las plantillas preconfiguradas para una base de datos, no podr agregar ni eliminar los archivos de control o de datos. Nota: Es posible que desee guardar la definicin de la base de datos como archivo HTML para facilitar su consulta. 12. Opciones de creacin: Aqu dispone de las opciones para crear la base de datos en este momento, guardar la definicin de la base de datos como plantilla y generar archivos de comandos. Si selecciona todas las opciones, DBCA guarda primero la plantilla de base de datos, genera a continuacin los archivos de comandos en el directorio de destino y, por ltimo, crea la base de datos.

Base de Datos Oracle 10g: Taller de Administracin I 3-11

Oracle Internal & Oracle Academy Use Only

Password Management
A

B
C

Copyright 2005, Oracle. Todos los derechos reservados.

Password Management Cuando termine DBCA, anote la siguiente informacin para referencia futura: Ubicacin de los archivos log de instalacin (A) Nombre de la base de datos global (B) Identificador del sistema (SID) (B) Ubicacin y nombre del archivo de parmetros de servidor (B) Direccin URL de Enterprise Manager (C) Haga clic en Password Management para desbloquear las cuentas de la base de datos que piensa utilizar. Proporcione una contrasea cuando desbloquee una cuenta.

Base de Datos Oracle 10g: Taller de Administracin I 3-12

Oracle Internal & Oracle Academy Use Only

Creacin de una Plantilla de Diseo de Bases de Datos

Copyright 2005, Oracle. Todos los derechos reservados.

Creacin de una Plantilla de Diseo de Bases de Datos Una plantilla es una definicin de base de datos predefinida que se utiliza como punto de inicio para una nueva base de datos. Si no crea una plantilla como parte del proceso de creacin de base de datos, puede hacerlo en cualquier momento con DBCA. Dispone de tres mtodos para crear una plantilla: A partir de una plantilla existente A partir de una base de datos existente (slo la estructura) A partir de una base de datos existente (estructura y datos) DBCA le gua por los pasos necesarios para crear una plantilla de diseo de bases de datos.

Base de Datos Oracle 10g: Taller de Administracin I 3-13

Oracle Internal & Oracle Academy Use Only

Uso de DBCA para Suprimir una Base de Datos


1

Copyright 2005, Oracle. Todos los derechos reservados.

Uso de DBCA para Suprimir una Base de Datos Para suprimir (o configurar) una base de datos en UNIX o Linux, debe definir ORACLE_SID en el shell desde el que ejecut DBCA. Para iniciar DBCA, introduzca dbca en una ventana de terminal y haga clic en Next en la pgina Welcome. Para suprimir la base de datos, realice los siguientes pasos: 1. En la pgina Operations, seleccione Delete a Database y haga clic en Next. 2. Seleccione la base de datos que desea suprimir (en clase, hist) y haga clic en Finish. 3. Haga clic en Yes para confirmar la supresin.

Base de Datos Oracle 10g: Taller de Administracin I 3-14

Oracle Internal & Oracle Academy Use Only

Uso de DBCA para Suprimir una Base de Datos (continuacin) El borrado de una base de datos conlleva la eliminacin de sus archivos de datos, archivos redo log, archivos de control y archivos de parmetros de inicializacin. La sentencia DROP DATABASE suprime todos los archivos de control y el resto de los archivos de base de datos enumerados en el archivo de control. Para utilizar la sentencia DROP DATABASE correctamente, se deben cumplir todas las condiciones siguientes: La base de datos debe estar montada y cerrada. La base de datos debe estar montada en modo exclusivo, no en modo compartido. La base de datos debe estar montada como RESTRICTED. Este sera un ejemplo de esta sentencia:
DROP DATABASE ;

Base de Datos Oracle 10g: Taller de Administracin I 3-15

Oracle Internal & Oracle Academy Use Only

La sentencia DROP DATABASE no tiene ningn efecto sobre los archivos archive log ni sobre las copias normales o de seguridad de la base de datos. Para suprimir estos archivos se recomienda utilizar Recovery Manager (RMAN). Si la base de datos est en discos raw, no se suprimirn los archivos especiales de disco raw.

Resumen

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 3-16

Oracle Internal & Oracle Academy Use Only

En esta leccin debe haber aprendido a utilizar DBCA para: Crear una base de datos Crear una plantilla de diseo de bases de datos Generar archivos de comandos de creacin de base de datos

Visin General de la Prctica: Uso de DBCA


En esta prctica se abordan los siguientes temas: Creacin de la base de datos ORCL mediante DBCA Desbloqueo del esquema HR

Creacin de archivos de comandos de creacin de bases de datos con DBCA


Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 3-17

Oracle Internal & Oracle Academy Use Only

Nota: La creacin de la base de datos y el desbloqueo del esquema HR son crticos para todas las sesiones prcticas posteriores. Opcional: Creacin de la plantilla de diseo de la base de datos ORCL mediante DBCA

Gestin de la Instancia de Oracle


Oracle Internal & Oracle Academy Use Only

Copyright 2005, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para lo siguiente: Iniciar y parar la base de datos Oracle y sus componentes Utilizar Enterprise Manager (EM) Acceder a una base de datos con SQL*Plus e iSQL*Plus Modificar los parmetros de inicializacin de la base de datos Describir las etapas de inicio de la base de datos Describir las opciones de cierre de la base de datos Visualizar el log de alertas Acceder a vistas de rendimiento dinmico
Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 4-2

Oracle Internal & Oracle Academy Use Only

Marco de Gestin

Los tres componentes del marco de gestin de la base de datos Oracle 10g son: Instancia de la base de datos Listener Interfaz de gestin
Database Control Agente de gestin (al utilizar Grid Control)

> Componentes SQL*Plus Parmetros Inic. Inicio de BD Cierre de BD Log de Alertas Vistas Rend.

Agente de gestin

o bien Listener

Database Control Interfaz de gestin

Copyright 2005, Oracle. Todos los derechos reservados.

Marco de Gestin Hay tres componentes principales del marco de gestin de la base de datos Oracle: La instancia de base de datos que se est gestionando Un listener que permite las conexiones a la base de datos La interfaz de gestin. Puede ser un agente de gestin que se ejecute en el servidor de base de datos (que se conecte a Oracle Enterprise Manager Grid Control) o la versin autnoma de Oracle Enterprise Manager Database Control. Tambin se denomina Consola de Base de Datos. Cada uno de estos componentes se debe iniciar explcitamente para poder utilizar los servicios del componente y se debe cerrar limpiamente al cerrar el servidor que contiene la base de datos Oracle. El primer componente que se va a iniciar es la interfaz de gestin. Una vez que est activada, la interfaz de gestin se puede utilizar para iniciar los dems componentes.

Base de Datos Oracle 10g: Taller de Administracin I 4-3

Oracle Internal & Oracle Academy Use Only

Inicio y Parada de Database Control


$ emctl start dbconsole TZ set to US/Pacific Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0 Copyright (c) 2005, 2003 Oracle Corporation. All rights reserved. http://edrsr9p1.us.oracle.com:1158/em/console/aboutApplication Starting Oracle Enterprise Manager 10g Database Control ............. started. ----------------Logs are generated in directory /u01/app/oracle/product/10.2.0/db_1/edrsr9p1.us.oracle.com_orcl/sy sman/log

$ emctl stop dbconsole TZ set to US/Pacific Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0 Copyright (c) 2005, 2003 Oracle Corporation. All rights reserved. http://edrsr9p1.us.oracle.com:1158/em/console/aboutApplication Stopping Oracle Enterprise Manager 10g Database Control ... ... Stopped.

Copyright 2005, Oracle. Todos los derechos reservados.

Inicio y Parada de Database Control Oracle proporciona una consola de gestin autnoma denominada Database Control para bases de datos que no estn conectadas al marco de Grid Control. Cada una de las bases de datos que se gestiona con Database Control tiene una instalacin independiente de Database Control, y desde un Database Control cualquiera slo se puede gestionar una base de datos. Antes de utilizar Database Control, asegrese de que se ha iniciado el proceso dbconsole. Para iniciar el proceso dbconsole, utilice el siguiente comando:
emctl start dbconsole

Para parar el proceso dbconsole, utilice el siguiente comando:


emctl stop dbconsole

Para visualizar el estado del proceso dbconsole, utilice el siguiente comando:


emctl status dbconsole

Nota: Puede que necesite acceder al directorio $ORACLE_HOME/bin si este directorio no est en la ruta de acceso al sistema operativo. Database Control utiliza un proceso de agente del lado del servidor. Este proceso de agente se inicia y se para automticamente cuando se inicia o se para el proceso dbconsole.

Base de Datos Oracle 10g: Taller de Administracin I 4-4

Oracle Internal & Oracle Academy Use Only

Oracle Enterprise Manager

Copyright 2005, Oracle. Todos los derechos reservados.

Oracle Enterprise Manager Al instalar una base de datos Oracle, Oracle Universal Installer tambin instala Oracle Enterprise Manager (Enterprise Manager). Database Control basado en Web se utiliza como herramienta principal para gestionar la base de datos Oracle. Puede acceder a la ayuda en pantalla desde cualquiera de las pginas para la tarea actual. Puede acceder a enlaces en la mayora de las situaciones, siempre que haya informacin ms especfica sobre el contenido de una pgina. Aunque en ocasiones es posible que desee escribir y ejecutar comandos creados personalmente, Enterprise Manager proporciona una interfaz grfica para realizar casi cualquier tarea que tenga que realizar como administrador de base de datos (DBA). La visualizacin de resmenes de alertas y grficos de rendimiento, la creacin y modificacin de objetos y la realizacin de copias de seguridad y recuperacin son algunas de las operaciones que puede realizar con Enterprise Manager.

Base de Datos Oracle 10g: Taller de Administracin I 4-5

Oracle Internal & Oracle Academy Use Only

Acceso a Oracle Enterprise Manager

Copyright 2005, Oracle. Todos los derechos reservados.

Acceso a Oracle Enterprise Manager Abra el explorador Web y escriba la siguiente direccin URL: http://nombre_host:nmero_puerto/em Si la base de datos est: Activa: Enterprise Manager muestra la pgina de conexin a Database Control. Conctese a la base de datos con un nombre de usuario que tenga autorizacin para acceder a Database Control. En principio ser SYS, SYSMAN o SYSTEM. Utilice la contrasea que ha especificado para la cuenta durante la instalacin de la base de datos. En la opcin Connect As, seleccione SYSDBA o SYSOPER para conectarse a la base de datos con privilegios especiales de administracin de base de datos. Cada: Enterprise Manager muestra la pgina Startup/Shutdown y Perform Recovery. Si ste es el caso, haga clic en el botn Startup/Shutdown. A continuacin, se le pide que introduzca los nombres de usuario y contraseas de conexin del host y de la base de datos destino. Nota: Si tiene problemas para iniciar Enterprise Manager, asegrese de que se ha iniciado un listener.

Base de Datos Oracle 10g: Taller de Administracin I 4-6

Oracle Internal & Oracle Academy Use Only

Pgina Inicial de la Base de Datos

Pginas de propiedades

Copyright 2005, Oracle. Todos los derechos reservados.

Pgina Inicial de la Base de Datos En la pgina inicial de la base de datos se muestra el estado actual de la base de datos al presentar una serie de mtricas que ilustran el estado general de la base de datos. Con las pginas de propiedades, que tambin se conocen como separadores, puede acceder a las pginas Performance, Administration y Maintenance para gestionar la base de datos. En la pgina inicial de la base de datos podr ver los siguientes datos de rendimiento y estado relativos a la instancia de la base de datos: Nombre de la instancia, versin de la base de datos, ubicacin del directorio raz de Oracle, opciones de recuperacin del medio fsico y otros datos relevantes acerca de la instancia. Disponibilidad de la instancia actual. Alertas pendientes. Informacin sobre el rendimiento de la sesin y de SQL. Mtricas de uso de espacio clave. Enlaces de despliegue (por ejemplo, LISTENER_<nombre_host>) para proporcionar niveles superiores de detalle.

Base de Datos Oracle 10g: Taller de Administracin I 4-7

Oracle Internal & Oracle Academy Use Only

Uso de SQL*Plus e iSQL*Plus para Acceder a las Bases de Datos

Copyright 2005, Oracle. Todos los derechos reservados.

Uso de SQL*Plus e iSQL*Plus para Acceder a las Bases de Datos Adems de Enterprise Manager, puede utilizar otras herramientas de Oracle, como SQL*Plus e iSQL*Plus, para emitir sentencias SQL. Estas herramientas le permiten realizar muchas de las operaciones de gestin de la base de datos as como seleccionar, insertar, actualizar o suprimir datos en la base de datos.

Base de Datos Oracle 10g: Taller de Administracin I 4-8

Oracle Internal & Oracle Academy Use Only

SQL*Plus e iSQL*Plus proporcionan interfaces adicionales a la base de datos para: Realizar operaciones de gestin de la base de datos Ejecutar comandos SQL para consultar, insertar, actualizar y suprimir datos en la base de datos

Componentes > SQL*Plus Parmetros Inic. Inicio de BD Cierre de BD Log de Alertas Vistas Rend.

Uso de iSQL*Plus
1

Copyright 2005, Oracle. Todos los derechos reservados.

Uso de iSQL*Plus iSQL*Plus es una interfaz basada en explorador para una base de datos Oracle. Es un componente del producto SQL*Plus. iSQL*Plus dispone de un proceso del listener del servidor que se debe iniciar para poder conectarse a un explorador. Para iniciar este proceso de servidor, utilice:
isqlplusctl start

Una vez iniciado el proceso de servidor, especifique la siguiente URL en un explorador para conectarse a l: http://nombre_host:puerto/isqlplus El nmero de puerto utilizado por iSQL*Plus suele ser 5560 a menos que Oracle Universal Installer (OUI) detecte algo que ya est utilizando dicho puerto. Busque en $ORACLE_HOME/install/portlist.ini el puerto que utiliza iSQL*Plus.

Base de Datos Oracle 10g: Taller de Administracin I 4-9

Oracle Internal & Oracle Academy Use Only

Configuracin de iSQL*Plus para el Acceso de SYSDBA y SYSOPER


Para que un usuario pueda conectarse a iSQL*Plus como SYSDBA o SYSOPER debe configurar al usuario en el gestor de usuarios de OC4J realizando los siguientes pasos: 1. Crear un usuario 2. Otorgar el rol webDba al usuario
$ cd $ORACLE_HOME/oc4j/j2ee/isqlplus/\ > application-deployments/isqlplus $JAVA_HOME/bin/java \ > -Djava.security.properties=\ > $ORACLE_HOME/oc4j/j2ee/home/config/jazn.security.props \ > -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar \ > -user "iSQL*Plus DBA/admin" -password welcome -shell JAZN> adduser "iSQL*Plus DBA" username password JAZN> grantrole webDba "iSQL*Plus DBA" username

Copyright 2005, Oracle. Todos los derechos reservados.

Configuracin de iSQL*Plus para el Acceso de SYSDBA y SYSOPER Cuando aparezca la pgina iSQL*Plus Connection Role, observe que los roles SYSOPER y SYSDBA necesitan una configuracin y una autenticacin especiales por motivos de seguridad. Para ello, debe configurar un usuario en el gestor de usuarios de Oracle Application Server Containers for J2EE (OC4J) y otorgar al usuario acceso al rol webDba. Para ello, realice los siguientes pasos. Tenga en cuenta que la variable de entorno JAVA_HOME OS se debe definir en $ORACLE_HOME/jdk. 1. Cambie al directorio correcto.
cd $ORACLE_HOME/oc4j/j2ee/isqlplus/\ application-deployments/isqlplus

2. Ejecute el shell de JAZN:


$JAVA_HOME/bin/java \ -Djava.security.properties=\ $ORACLE_HOME\ /oc4j/j2ee/home/config/jazn.security.props \ -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar \ -user "iSQL*Plus DBA/admin" \ -password welcome -shell

Base de Datos Oracle 10g: Taller de Administracin I 4-10

Oracle Internal & Oracle Academy Use Only

Configuracin de iSQL*Plus para el Acceso de SYSDBA y SYSOPER (continuacin) 3. Cree un usuario y seleccione un nombre de usuario y contrasea:
JAZN> adduser "iSQL*Plus DBA" username password

4. Otorgue el rol webDba al usuario:


JAZN> grantrole webDba "iSQL*Plus DBA" username

5. Salga del shell de JAZN:


JAZN> exit

Base de Datos Oracle 10g: Taller de Administracin I 4-11

Oracle Internal & Oracle Academy Use Only

Uso de SQL*Plus
SQL*Plus: Es una herramienta de lnea de comandos Se utiliza de forma interactiva o en modo de lotes
$ sqlplus hr/hr SQL*Plus: Release 10.2.0.1.0 - Production on Mon May 25 12:37:21 2005 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options SQL> SELECT last_name FROM employees; LAST_NAME ------------------------Abel Ande Atkinson
Copyright 2005, Oracle. Todos los derechos reservados.

Uso de SQL*Plus Puede utilizar la interfaz de lnea de comandos para que SQL*Plus escriba comandos SQL*Plus, SQL y PL/SQL para lo siguiente: Introducir, editar, ejecutar, almacenar, recuperar y guardar comandos SQL y bloques PL/SQL Formatear, calcular, almacenar e imprimir resultados de consultas Enumerar definiciones de columna para cualquier tabla Enviar mensajes a un usuario final y aceptar sus respuestas Realizar la administracin de la base de datos Para iniciar SQL*Plus, realice los siguientes pasos: 1. Abra una ventana de terminal. 2. En el prompt de la lnea de comandos, introduzca el comando SQL*Plus con el formato:
$ sqlplus /nolog

3. Introduzca connect seguido del usuario que desea utilizar para conectarse. 4. Cuando se le indique, introduzca la contrasea del usuario. SQL*Plus se inicia y se conecta a la base de datos por defecto.

Base de Datos Oracle 10g: Taller de Administracin I 4-12

Oracle Internal & Oracle Academy Use Only

Llamada a SQL*Plus desde un Archivo de Comandos del Shell


$ ./batch_sqlplus.sh SQL*Plus: Release 10.2.0.1.0 - Production on Mon May 25 12:47:44 2005 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options # Name of this file: batch_sqlplus.sh SQL> # Count employees and give raise. COUNT(*) sqlplus hr/hr <<EOF ---------select count(*) from employees; 107 update employees set salary = SQL> salary*1.10; 107 rows updated. commit; SQL> quit Commit complete. EOF SQL> Disconnected from Oracle Da tabase exit 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options [oracle@EDRSR9P1 oracle]$

Salida

Copyright 2005, Oracle. Todos los derechos reservados.

Llamada a SQL*Plus desde un Archivo de Comandos del Shell Para llamar a SQL*Plus desde un archivo de comandos del shell o un archivo BAT, llame a sqlplus y utilice la sintaxis de archivos de comandos del sistema operativo para transferir parmetros. En este ejemplo, se ejecutan las sentencias SELECT, UPATE y COMMIT, antes de que SQL*Plus devuelva el control al sistema operativo.

Base de Datos Oracle 10g: Taller de Administracin I 4-13

Oracle Internal & Oracle Academy Use Only

Llamada a un Archivo de Comandos SQL desde SQL*Plus


script.sql
select * from departments where location_id = 1400; quit

Salida
$ sqlplus hr/hr @script.sql SQL*Plus: Release 10.2.0.1.0 - Production on Mon May 25 12:57:02 2005 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options DEPARTMENT_ID DEPARTMENT_NAME MANAGER_ID LOCATION_ID ------------- ------------------------------ ---------- ----------60 IT 103 1400 Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options $
Copyright 2005, Oracle. Todos los derechos reservados.

Llamada a un Archivo de Comandos SQL desde SQL*Plus Puede llamar a un archivo de comandos SQL existente desde SQL*Plus. Puede hacerlo en la lnea de comandos cuando llame por primera vez a SQL*Plus, como se muestra en la diapositiva. Tambin se puede hacer desde una sesin de SQL*Plus, slo tiene que utilizar el operador @. Por ejemplo, aqu se ejecuta el archivo de comandos desde una sesin ya establecida de SQL*Plus:
SQL> @script.sql

Base de Datos Oracle 10g: Taller de Administracin I 4-14

Oracle Internal & Oracle Academy Use Only

Archivos de Parmetros de Inicializacin

Componentes SQL*Plus > Parmetros Inic. Inicio de BD Cierre de BD Log de Alertas Vistas Rend.

spfileorcl.ora

Copyright 2005, Oracle. Todos los derechos reservados.

Archivos de Parmetros de Inicializacin Al iniciar la instancia, se lee un archivo de parmetros de inicializacin. Hay dos tipos de archivos de parmetros: Archivo de parmetros del servidor: Es el tipo preferido de archivo de parmetros de inicializacin. Es un archivo binario en el que el servidor de la base de datos puede escribir y leer y nunca se debe editar manualmente. Reside en el servidor en el que se est ejecutando la base de datos Oracle y es persistente tras el cierre e inicio. A menudo se le denomina archivo de parmetros del servidor (SPFILE). El nombre por defecto de este archivo, que se busca automticamente al inicio, es spfile<SID>.ora. Archivo de parmetros de inicializacin de texto: Este tipo de archivo de parmetros de inicializacin lo puede leer el servidor de la base de datos, pero no puede escribir en l. Los valores de los parmetros de inicializacin se deben definir y cambiar de manera manual mediante el uso de un editor de texto para que, de esa forma, sean persistentes tras el cierre e inicio. El nombre por defecto de este archivo, que se busca automticamente al inicio si no se encuentra SPFILE, es init<SID>.ora. Se recomienda crear un SPFILE como medio dinmico de mantener los parmetros de inicializacin. El uso de un SPFILE permite almacenar y gestionar los parmetros de inicializacin de forma persistente en un archivo de disco del lado del servidor.

Base de Datos Oracle 10g: Taller de Administracin I 4-15

Oracle Internal & Oracle Academy Use Only

Simplified Initialization Parameters

Bsicos

Avanzados

CONTROL_FILES DB_BLOCK_SIZE PROCESSES UNDO_MANAGEMENT

DB_CACHE_SIZE DB_FILE_MULTIBLOCK _READ_COUNT SHARED_POOL_SIZE

Copyright 2005, Oracle. Todos los derechos reservados.

Parmetros de Inicializacin Simplificados Los parmetros de inicializacin se dividen en dos grupos: bsicos y avanzados. En la mayora de los casos es necesario configurar y ajustar slo los 32 parmetros bsicos para obtener un rendimiento razonable en la base de datos. En muy pocas ocasiones ser necesario modificar los parmetros avanzados para obtener un rendimiento ptimo. Los parmetros bsicos son los que se definen para mantener una buena ejecucin de la base de datos. El resto de los parmetros se consideran avanzados. Los ejemplos de parmetros bsicos incluyen nombres de directorio o destinos de tipos de archivos especficos: AUDIT_FILE_DEST, BACKGROUND_DUMP_DEST, CORE_DUMP_DEST, DB_CREATE_FILE_DEST, DB_CREATE_ONLINE_LOG_DEST_n, DB_RECOVERY_FILE_DEST y USER_DUMP_DEST. Parmetros de Inicializacin: Ejemplos El parmetro CONTROL_FILES especifica uno o ms nombres de archivo de control. Oracle recomienda multiplexar y duplicar los archivos de control. El rango de valores de este parmetro oscila entre 1 y 8 nombres de archivo (con nombres de ruta de acceso). El rango por defecto depende del sistema operativo.

Base de Datos Oracle 10g: Taller de Administracin I 4-16

Oracle Internal & Oracle Academy Use Only

Parmetros de Inicializacin Simplificados (continuacin) Parmetros de Inicializacin: Ejemplos (continuacin) El parmetro DB_BLOCK_SIZE especifica el tamao (en bytes) de un bloque de base de datos Oracle. Este valor se define durante la creacin de la base de datos y no se puede cambiar posteriormente. Rango de valores: 1024 65536 (depende del sistema operativo). Valor por defecto: 8 K (depende del sistema operativo). El parmetro DB_CACHE_SIZE especifica el tamao de la cach de buffer del bloque estndar. Rango de valores: Al menos 16 MB. Valor por defecto: 48 MB El parmetro DB_FILE_MULTIBLOCK_READ_COUNT especifica el nmero mximo de bloques ledos durante una operacin de entrada/salida (E/S) que implica una exploracin secuencial completa. Rango de valores: Depende del sistema operativo. Valor por defecto: 8.

El parmetro SHARED_POOL_SIZE especifica el tamao del pool compartido en bytes. El pool compartido contiene objetos como cursores compartidos, procedimientos almacenados, estructuras de control y buffers de mensajes de ejecucin en paralelo. Los valores grandes pueden mejorar el rendimiento en sistemas de varios usuarios. Rango de valores: 300 KB (depende del sistema operativo). Valor por defecto: Si es de 64 bits, 64 MB; de lo contrario, 16 MB. El parmetro UNDO_MANAGEMENT especifica qu modo debe utilizar el sistema para la gestin del espacio de deshacer. Cuando se define en AUTO, la instancia se inicia en el modo Deshacer Gestionado por el Sistema (SMU). En caso contrario, se inicia en el modo Deshacer de Rollback (RBU). En el modo RBU, el espacio de deshacer se asigna externamente como segmentos de rollback. En el modo SMU, el espacio de deshacer se asigna externamente como tablespaces de deshacer. Rango de valores: AUTO o MANUAL. Valor por defecto: Si se omite el parmetro UNDO_MANAGEMENT cuando se inicia la primera instancia, se utiliza el valor por defecto MANUAL y la instancia se inicia en modo RBU. Si no es la primera instancia, la instancia se inicia en el mismo modo de deshacer que las otras instancias existentes.
Base de Datos Oracle 10g: Taller de Administracin I 4-17

Oracle Internal & Oracle Academy Use Only

El parmetro DB_FILES especifica el nmero mximo de archivos de base de datos que se puede abrir para esta base de datos. Rango de valores: MAXDATAFILES (depende del sistema operativo). Valor por defecto: Depende del sistema operativo (200 en Solaris). El parmetro PGA_AGGREGATE_TARGET especifica la cantidad de memoria de rea Global de Programa (PGA) asignada a todos los procesos del servidor conectados a la instancia. Defina este parmetro en un valor positivo antes de activar la definicin automtica de las reas de trabajo. Esta memoria no reside en el rea Global del Sistema (SGA). La base de datos utiliza este parmetro como cantidad de destino de la memoria PGA que se va a utilizar. Al definir este parmetro, reste la SGA de la memoria total del sistema disponible para la instancia de Oracle. La memoria restante se puede asignar a PGA_AGGREGATE_MEMORY. Rango de valores: Enteros ms la letra K, M o G para identificar este lmite en kilobytes, megabytes o gigabytes. El valor mnimo es 10M y el mximo 400G. Valor por defecto: Not Specified, que significa que el ajuste automtico de las reas de trabajo se ha desactivado completamente. El parmetro PROCESSES especifica el nmero mximo de procesos de usuario del sistema operativo que puede conectarse al mismo tiempo a un servidor de Oracle. Este valor se debe permitir para todos los procesos en segundo plano. Rango de valores: de 6 hasta un valor dependiente del sistema operativo. Valor por defecto: Depende del parmetro PARALLEL_MAX_SERVERS.

Visualizacin y Modificacin de Parmetros de Inicializacin

Copyright 2005, Oracle. Todos los derechos reservados.

Visualizacin y Modificacin de Parmetros de Inicializacin Puede utilizar Enterprise Manager para visualizar y modificar parmetros de inicializacin si hace clic en All Initialization Parameters en la regin Database Configuration de la pgina con separadores Database Administration.

Base de Datos Oracle 10g: Taller de Administracin I 4-18

Oracle Internal & Oracle Academy Use Only

Inicio y Cierre de la Base de Datos

Componentes SQL*Plus Parmetros Inic. > Inicio de BD Cierre de BD Log de Alertas Vistas Rend.

o bien

Copyright 2005, Oracle. Todos los derechos reservados.

Inicio y Cierre de la Base de Datos Al hacer clic en la opcin de inicio o cierre, se le piden las credenciales que se utilizan para conectar tanto al host (la computadora en la que reside la base de datos) como a la propia base de datos. Indique las credenciales. A continuacin, puede hacer clic en Advanced Options para cambiar las opciones de inicio o el modo de cierre si es necesario. Asimismo, puede hacer clic en Show SQL para ver las sentencias SQL que se utilizarn para el inicio o el cierre.

Base de Datos Oracle 10g: Taller de Administracin I 4-19

Oracle Internal & Oracle Academy Use Only

Inicio de una Instancia de Base de Datos Oracle

Copyright 2005, Oracle. Todos los derechos reservados.

Inicio de una Instancia de Base de Datos Oracle Si la base de datos no se ha iniciado al acceder a la pgina Enterprise Manager Database Control, haga clic en Startup para realizar el inicio. Indique las credenciales del host y, de manera opcional, seleccione el modo de inicio.

Base de Datos Oracle 10g: Taller de Administracin I 4-20

Oracle Internal & Oracle Academy Use Only

Inicio de una Instancia de Base de Datos Oracle: NOMOUNT


OPEN STARTUP MOUNT

NOMOUNT Se inicia la instancia SHUTDOWN

Copyright 2005, Oracle. Todos los derechos reservados.

Inicio de una Instancia de Base de Datos Oracle: NOMOUNT Al iniciar la instancia de la base de datos, se selecciona el estado en el que se inicia. En los siguientes supuestos se describen las distintas etapas de inicio de una instancia. Normalmente, una instancia slo se inicia en modo NOMOUNT durante la creacin de la base de datos, durante la nueva creacin de archivos de control o en algunos supuestos de copia de seguridad y recuperacin. El inicio de una instancia incluye las siguientes tareas: Bsqueda en <oracle_home>/database de un archivo con un nombre especfico en este orden: - spfile<SID>.ora - Si no se encuentra, spfile.ora - Si no se encuentra, init<SID>.ora ste es el archivo que contiene los parmetros de inicializacin de la instancia. Al especificar el parmetro PFILE con STARTUP se sustituye el comportamiento por defecto. Asignacin de SGA Inicio de los procesos en segundo plano Apertura del archivo alert<SID>.log y de los archivos de rastreo Nota: SID es el identificador del sistema, que identifica la instancia (por ejemplo, ORCL).
Base de Datos Oracle 10g: Taller de Administracin I 4-21

Oracle Internal & Oracle Academy Use Only

Inicio de una Instancia de Base de Datos Oracle: MOUNT


OPEN STARTUP MOUNT El archivo de control se abre para esta instancia

NOMOUNT

Se inicia la instancia SHUTDOWN

Copyright 2005, Oracle. Todos los derechos reservados.

Inicio de una Instancia de Base de Datos Oracle: MOUNT El montaje de una base de datos incluye las siguientes tareas: Asociacin de una base de datos con una instancia iniciada previamente Bsqueda y apertura de los archivos de control especificados en el archivo de parmetros Lectura de los archivos de control para obtener los nombres y los estados de los archivos de datos y los archivos redo log en lnea. Sin embargo, en esta fase no se realizan comprobaciones para verificar la existencia de los archivos de datos y los archivos redo log en lnea Parar realizar operaciones de mantenimiento especficas, inicie una instancia y monte una base de datos sin abrir la base de datos. Por ejemplo, la base de datos se debe montar pero sin estar abierta mientras se llevan a cabo las siguientes tareas: Cambio de nombre de los archivos de datos (el nombre de los archivos de datos de un tablespace offline se puede cambiar con la base de datos abierta) Activacin y desactivacin de opciones de archivado de archivos redo log en lnea Realizacin de una recuperacin completa de la base de datos Nota: Es posible dejar una base de datos en el modo MOUNT aunque se haya realizado una solicitud OPEN. El motivo puede ser que la base de datos se necesita recuperar de alguna forma.

Base de Datos Oracle 10g: Taller de Administracin I 4-22

Oracle Internal & Oracle Academy Use Only

Inicio de una Instancia de Base de Datos Oracle: OPEN


OPEN STARTUP Todos los archivos se abren como se describe en el archivo de control MOUNT de esta instancia El archivo de control se abre para esta instancia

NOMOUNT

Se inicia la instancia SHUTDOWN

Copyright 2005, Oracle. Todos los derechos reservados.

Inicio de una Instancia de Base de Datos Oracle: OPEN La operacin normal de la base de datos implica que se inicia una instancia y que la base de datos se monta y se abre. Con el funcionamiento normal de la base de datos, cualquier usuario vlido puede conectarse a la base de datos y realizar operaciones normales de acceso a los datos. La apertura de una base de datos incluye las siguientes tareas: Apertura de los archivos de datos en lnea Apertura de los archivos redo log en lnea Si alguno de los archivos de datos o archivos redo log en lnea no est presente cuando se intenta abrir la base de datos, el servidor de Oracle devuelve un error. Durante esta etapa final, el servidor de Oracle verifica que todos los archivos de datos y archivos redo log en lnea se pueden abrir y comprueba la consistencia de la base de datos. Si es necesario, el proceso en segundo plano del monitor del sistema (SMON) inicia la recuperacin de la instancia. Puede iniciar una instancia de la base de datos en modo restringido para que est disponible slo a los usuarios que tienen privilegios administrativos. Para iniciar una instancia en modo restringido, seleccione la opcin Restrict access to database en la pgina Advanced Startup Options.

Base de Datos Oracle 10g: Taller de Administracin I 4-23

Oracle Internal & Oracle Academy Use Only

Cierre de una Instancia de Base de Datos Oracle

Componentes SQL*Plus Parmetros Inic. Inicio de BD > Cierre de BD Log de Alertas Vistas Rend.

Copyright 2005, Oracle. Todos los derechos reservados.

Cierre de una Instancia de Base de Datos Oracle Si ya se ha iniciado la instancia cuando accede a la pgina Enterprise Manager Database Control, puede hacer clic en el botn Shutdown para cerrar la instancia. Si a continuacin hace clic en el botn Advanced Options, puede seleccionar el modo de cierre: Normal, Transactional, Immediate o Abort.

Base de Datos Oracle 10g: Taller de Administracin I 4-24

Oracle Internal & Oracle Academy Use Only

Modos de Cierre
Modo de Cierre Permite nuevas conexiones Espera hasta que terminen las sesiones actuales Espera hasta que terminen las transacciones actuales Aplica un punto de control y cierra los archivos

A No No No No

I No No No S

T No No S S

N No S S S

Modo A I T N

de = = = =

cierre: ABORT IMMEDIATE TRANSACTIONAL NORMAL

Copyright 2005, Oracle. Todos los derechos reservados.

Modos de Cierre Los modos de cierre se ajustan progresivamente a la actividad actual segn el siguiente orden: ABORT: Realiza la cantidad mnima de trabajo antes del cierre. Puesto que esta opcin necesita recuperacin antes del inicio, utilcela slo cuando sea necesario. Normalmente se utiliza cuando no funciona ninguna otra forma de cierre, cuando hay problemas al iniciar la instancia o cuando necesita cerrar inmediatamente porque se ha producido una situacin inminente, como el aviso de un corte del suministro elctrico en unos segundos. IMMEDIATE: Es la opcin que ms se utiliza. Se realiza un rollback de las transacciones sin confirmar. TRANSACTIONAL: Permite que finalicen las transacciones. NORMAL: Espera a que las sesiones se desconecten. Si considera la cantidad de tiempo que se tarda en realizar el cierre, descubrir que ABORT es el mtodo ms rpido y que NORMAL es el ms lento.

Base de Datos Oracle 10g: Taller de Administracin I 4-25

Oracle Internal & Oracle Academy Use Only

Opciones de SHUTDOWN
Durante el descenso: Se realiza un rollback de los cambios sin confirmar para IMMEDIATE
Durante SHUTDOWN NORMAL o bien SHUTDOWN TRANSACTIONAL o bien SHUTDOWN IMMEDIATE

Durante el ascenso: No hay recuperacin de instancias

Copyright 2005, Oracle. Todos los derechos reservados.

Opciones de SHUTDOWN SHUTDOWN NORMAL El modo de cierre por defecto es normal. El cierre normal de la base de datos contina con las condiciones siguientes: No se pueden realizar nuevas conexiones. El servidor de Oracle espera a que todos los usuarios se desconecten antes de completar el cierre. Los buffers de la base de datos y de redo se escriben en disco. Los procesos en segundo plano se terminan y el SGA se elimina de la memoria. El servidor de Oracle cierra y desmonta la base de datos antes de cerrar la instancia. El siguiente inicio no necesita recuperacin de instancias. SHUTDOWN TRANSACTIONAL Un cierre transaccional impide que los clientes pierdan los datos, incluyendo los resultados de su actividad actual. El cierre transaccional de la base de datos contina con las condiciones siguientes: Ningn cliente puede iniciar una nueva transaccin en esta instancia en particular. Un cliente se desconecta cuando el cliente finaliza la transaccin en curso. Cuando han finalizado todas las transacciones, se produce inmediatamente un cierre. El siguiente inicio no necesita recuperacin de instancias.
Base de Datos Oracle 10g: Taller de Administracin I 4-26

Oracle Internal & Oracle Academy Use Only

La cach de buffers de la base de datos se escribe en los archivos de datos Base de datos consistente Se liberan (base de datos limpia) los recursos

Opciones de SHUTDOWN (continuacin) SHUTDOWN IMMEDIATE El cierre inmediato de la base de datos contina con las condiciones siguientes: Las sentencias SQL actuales que est procesando la base de datos Oracle no se completan. El servidor de Oracle no espera a que se desconecten los usuarios que estn conectados actualmente a la base de datos. El servidor de Oracle realiza un rollback de transacciones activas y desconecta todos los usuarios conectados. El servidor de Oracle cierra y desmonta la base de datos antes de cerrar la instancia. El siguiente inicio no necesita recuperacin de instancias.

Base de Datos Oracle 10g: Taller de Administracin I 4-27

Oracle Internal & Oracle Academy Use Only

Opciones de SHUTDOWN
Durante el descenso: Los buffers modificados no se escriben en los archivos de datos No se realiza un rollback de los cambios sin confirmar Durante el ascenso: Los archivos Durante redo log en lnea se utilizan para SHUTDOWN ABORT volver a aplicar o bien los cambios Fallo de la instancia o bien Los segmentos STARTUP FORCE de deshacer se utilizan para realizar un rollback de los cambios sin confirmar Se liberan los recursos Base de datos inconsistente (base de datos sucia)

Copyright 2005, Oracle. Todos los derechos reservados.

Opciones de SHUTDOWN (continuacin) SHUTDOWN ABORT Si las opciones de cierre NORMAL e IMMEDIATE no funcionan, puede abortar la instancia de base de datos actual. El aborto de una instancia contina con las condiciones siguientes: Las sentencias SQL actuales que est procesando el servidor de Oracle se terminan inmediatamente. El servidor de Oracle no espera a que se desconecten los usuarios que estn conectados actualmente a la base de datos. Los buffers de la base de datos y de redo no se escriben en disco. No se realiza un rollback de las transacciones sin confirmar. La instancia se termina sin cerrar los archivos. La base de datos no se cierra ni se desmonta. El siguiente inicio necesita la recuperacin de instancias, lo que se produce automticamente. Nota: No se recomienda realizar una copia de seguridad de una base de datos con estado inconsistente.

Base de Datos Oracle 10g: Taller de Administracin I 4-28

Oracle Internal & Oracle Academy Use Only

Uso de SQL*Plus para el Inicio y el Cierre


[oracle@EDRSR9P1 oracle]$ sqlplus dba1/oracle as sysdba SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area Fixed Size Variable Size Database Buffers Redo Buffers Database mounted. Database opened. SQL> 285212672 bytes 1218472 bytes 250177624 bytes 33554432 bytes 262144 bytes

Copyright 2005, Oracle. Todos los derechos reservados.

Uso de SQL*Plus para el Inicio y el Cierre Tambin puede utilizar SQL*Plus para iniciar, cerrar o cambiar el estado de la base de datos. Para usar SQL*Plus en estas tareas, conctese como SYSDBA o SYSOPER. A continuacin, utilice los comandos equivalentes de la funcin de Enterprise Manager descrita anteriormente:
SHUTDOWN [NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT ] STARTUP [FORCE] [RESTRICT] [MOUNT | OPEN | NOMOUNT]

Esto le permite incluir las operaciones de inicio y cierre como parte de un archivo de comandos o un proceso por lotes que realice tareas en la base de datos, para las que es necesario que la base de datos se encuentre en un estado especfico.

Base de Datos Oracle 10g: Taller de Administracin I 4-29

Oracle Internal & Oracle Academy Use Only

Visualizacin del Log de Alertas


Pgina Inicial de la Base de Datos > Regin Related Links > Alert Log Content

Componentes SQL*Plus Parmetros Inic. Inicio de BD Cierre de BD > Log de Alertas Vistas Rend.

Copyright 2005, Oracle. Todos los derechos reservados.

Visualizacin del Log de Alertas Cada base de datos tiene un archivo alert_<sid>.log. Est en el servidor con la base de datos y est almacenado en el directorio especificado con el parmetro de inicializacin background_dump_dest. El archivo de alertas de una base de datos es un log cronolgico de mensajes y errores, incluidos los siguientes: Cualquier parmetro de inicializacin no por defecto utilizado en el inicio Todos los errores internos (ORA-600), errores de corrupcin de bloques (ORA-1578) y errores de interbloqueo (ORA-60) que se produzcan Operaciones administrativas, como las sentencias SQL CREATE, ALTER, DROP DATABASE y TABLESPACE, y las sentencias de Enterprise Manager o SQL*Plus STARTUP, SHUTDOWN, ARCHIVE LOG y RECOVER Varios mensajes y errores relacionados con las funciones del servidor compartido y los procesos del distribuidor Errores durante la actualizacin automtica de una vista materializada Enterprise Manager controla el archivo log de alertas y notifica los errores crticos. Tambin puede consultar el log para ver errores no crticos y mensajes informativos. El archivo puede crecer hasta alcanzar un tamao difcil de gestionar. Puede realizar una copia de seguridad del archivo de alerta y suprimir el archivo de alerta actual cada cierto tiempo. Cuando la base de datos intenta de nuevo escribir en el archivo de alerta, crea uno nuevo.
Base de Datos Oracle 10g: Taller de Administracin I 4-30

Oracle Internal & Oracle Academy Use Only

Visualizacin del Historial de Alertas

Copyright 2005, Oracle. Todos los derechos reservados.

Visualizacin del Historial de Alertas En la pgina Alert History se muestra un diagrama con el historial de alertas de la base de datos actual en los segmentos de tiempo que designe. Una alerta indica un problema potencial: puede ser un umbral de advertencia o crtico de una mtrica controlada, o puede ser un destino que ya no est disponible.

Base de Datos Oracle 10g: Taller de Administracin I 4-31

Oracle Internal & Oracle Academy Use Only

Vistas de Rendimiento Dinmico


Las vistas de rendimiento dinmico proporcionan acceso a informacin sobre las condiciones y estados cambiantes en la base de datos.

Componentes SQL*Plus Parmetros Inic. Inicio de BD Cierre de BD Log de Alertas > Vistas Rend.

Datos de sesin Eventos de espera Asignaciones de memoria SQL en ejecucin

Cursores abiertos Uso de redo log Etc.

Instancia de Oracle

Copyright 2005, Oracle. Todos los derechos reservados.

Vistas de Rendimiento Dinmico La base de datos Oracle tambin mantiene un juego de datos ms dinmico en cuanto al funcionamiento y rendimiento de la instancia de base de datos. Estas vistas de rendimiento dinmico se basan en tablas virtuales que se generan a partir de estructuras de memoria del servidor de base de datos. Es decir, no son tablas convencionales que residen en una base de datos. Por este motivo, algunas de ellas pueden mostrar datos antes de que se monte o abra una base de datos. Las vistas de rendimiento dinmico incluyen informacin sobre lo siguiente: Sesiones Estados de archivo Progreso de trabajos y tareas Bloqueos Estado de copia de seguridad Asignacin y uso de la memoria Parmetros del sistema y de sesin Ejecucin de SQL Estadsticas y mtrica Nota: Las vistas DICT y DICT_COLUMNS tambin contienen los nombres de estas vistas de rendimiento dinmico.
Base de Datos Oracle 10g: Taller de Administracin I 4-32

Oracle Internal & Oracle Academy Use Only

Uso de UNDO

Vistas de Rendimiento Dinmico: Ejemplos de Uso


a

SQL> SELECT sql_text, executions FROM v$sql WHERE cpu_time > 200000;

SQL> SELECT sid, ctime block >

Copyright 2005, Oracle. Todos los derechos reservados.

Vistas de Rendimiento Dinmico: Ejemplos de Uso Enterprise Manager utiliza con frecuencia estas vistas, aunque los usuarios pueden consultarlas siempre que sea necesario. Los tres ejemplos mostrados en la diapositiva contestan a las siguientes preguntas: a. Cules son las sentencias SQL y su nmero asociado de ejecuciones en las que el tiempo de CPU empleado es superior a 200.000 microsegundos? b. Qu sesiones se conectaron desde la computadora EDRSR9P1 el ltimo da? c. Cules son los identificadores de sesin de las sesiones que actualmente retienen un bloqueo que est bloqueando a otro usuario y cunto tiempo se ha retenido ese bloqueo?

Base de Datos Oracle 10g: Taller de Administracin I 4-33

Oracle Internal & Oracle Academy Use Only

SQL> SELECT * FROM v$session WHERE machine = 'EDRSR9P1' and logon_time > SYSDATE - 1;

Vistas de Rendimiento Dinmico: Consideraciones


Estas vistas son propiedad del usuario SYS. Las vistas disponibles son diferentes en momentos distintos:
Si se ha iniciado la instancia. Si se ha montado la base de datos. Si se ha abierto la base de datos.

Puede consultar V$FIXED_TABLE para ver todos los nombres de vistas. Estas vistas a menudo se denominan vistas con formato v-$. En estas vistas no se garantiza la consistencia de lectura porque los datos son dinmicos.
Copyright 2005, Oracle. Todos los derechos reservados.

Vistas de Rendimiento Dinmico: Consideraciones Algunas vistas dinmicas contienen datos que no se aplican a todos los estados de una instancia o de una base de datos. Por ejemplo, si se acaba de iniciar una instancia, pero no se ha montado ninguna base de datos, puede consultar V$BGPROCESS para ver la lista de los procesos en segundo plano que se estn ejecutando. Sin embargo, no puede consultar V$DATAFILE para ver el estado de los archivos de datos de la base de datos ya que es el montaje de una base de datos el que lee el archivo de control para averiguar los archivos de datos asociados a una base de datos.

Base de Datos Oracle 10g: Taller de Administracin I 4-34

Oracle Internal & Oracle Academy Use Only

Resumen
En esta leccin, debe haber aprendido lo siguiente: Iniciar y parar la base de datos Oracle y sus componentes Utilizar Enterprise Manager y describir su funcionalidad de alto nivel Acceder a una base de datos con SQL*Plus e iSQL*Plus Modificar los parmetros de inicializacin de la base de datos Describir las etapas de inicio de la base de datos Describir las opciones de cierre de la base de datos Visualizar el log de alertas Acceder a vistas de rendimiento dinmico
Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 4-35

Oracle Internal & Oracle Academy Use Only

Visin General de la Prctica: Gestin de la Instancia de Oracle


En esta prctica se abordan los siguientes temas: Navegacin por Enterprise Manager Visualizacin y modificacin de parmetros de inicializacin Parada e inicio de la instancia de base de datos Visualizacin del log de alertas Conexin a la base de datos mediante el uso de SQL*Plus e iSQL*Plus

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 4-36

Oracle Internal & Oracle Academy Use Only

Gestin de Estructuras de Almacenamiento de Bases de Datos


Oracle Internal & Oracle Academy Use Only

Copyright 2005, Oracle. Todos los derechos reservados.

Objetivos

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 5-2

Oracle Internal & Oracle Academy Use Only

Al finalizar esta leccin, debera estar capacitado para lo siguiente: Describir cmo se almacenan en bloques los datos de fila de tabla Definir el objetivo de tablespaces y archivos de datos Crear y gestionar tablespaces Obtener informacin de tablespaces Describir las funcionalidades y conceptos principales de Gestin Automtica de Almacenamiento (ASM)

Estructuras de Almacenamiento
Lgicas
Base de datos

Fsicas

Tablespace

Archivo del sistema operativo

Segmento

Extensin

Bloque de datos de Oracle

Bloque del sistema operativo

Copyright 2005, Oracle. Todos los derechos reservados.

Estructuras de Almacenamiento Una base de datos se divide en unidades lgicas de almacenamiento denominadas tablespaces. Cada tablespace se compone de muchos bloques lgicos de datos de Oracle. El parmetro DB_BLOCK_SIZE especifica el tamao que tiene un bloque lgico. El rango de tamao de un bloque lgico es de 2 KB a 32 KB. El tamao por defecto es 8 KB. Un nmero determinado de bloques lgicos contiguos constituye una extensin. Un juego de extensiones que se asignan segn una estructura lgica concreta constituye un segmento. Un bloque de datos de Oracle representa la unidad ms pequea de E/S lgica.

Base de Datos Oracle 10g: Taller de Administracin I 5-3

Oracle Internal & Oracle Academy Use Only

Almacenamiento de Datos de Tabla


Columnas Bloques

Tabla A

Tabla B
Filas

Segmento

Segmento

Tabla

Tablespace

Parte de una fila

Extensin

Copyright 2005, Oracle. Todos los derechos reservados.

Almacenamiento de Datos de Tabla Al crear una tabla, se crea un segmento para contener los datos. Un tablespace contiene una recopilacin de segmentos. Desde el punto de vista lgico, una tabla contiene filas de valores de columna. En ltima instancia, una fila se almacena en una base de datos en forma de una parte de una fila. Se denomina parte de una fila porque en determinadas circunstancias puede que la fila entera no se almacene en un solo lugar. Esta situacin se produce cuando una fila insertada es demasiado grande para caber en un solo bloque o cuando una actualizacin hace que el espacio actual de una fila existente se quede pequeo.

Base de Datos Oracle 10g: Taller de Administracin I 5-4

Oracle Internal & Oracle Academy Use Only

Anatoma de un Bloque de Base de Datos

Cabecera de bloque

Crecimiento Espacio libre

Datos de fila

Copyright 2005, Oracle. Todos los derechos reservados.

Bloque de Base de Datos: Contenido Los bloques de datos de Oracle se componen de: Cabecera de bloque: La cabecera de bloque contiene el tipo de segmento (como tabla o ndice), la direccin de bloque de datos, el directorio de la tabla, el directorio de la fila y las ranuras de transaccin de 23 bytes cada una que se utilizan cuando se llevan a cabo modificaciones en filas del bloque. La cabecera de bloque crece de arriba a abajo desde la parte superior. Datos de fila: stos son los datos reales para las filas del bloque. El espacio para los datos de fila crece de abajo a arriba desde la base. Espacio libre: El espacio libre est en la parte central del bloque. Esto permite el crecimiento del espacio de la cabecera y de los datos de fila cuando sea necesario. Los datos de fila ocupan espacio libre conforme se insertan nuevas filas o las columnas de filas existentes se actualizan con valores mayores. Algunos ejemplos de eventos que provocan el crecimiento de la cabecera se dan cuando el directorio de la fila necesita ms entradas de fila o cuando se necesitan ms ranuras de transaccin de las que se configuraron en un principio. En principio, el espacio libre de un bloque es contiguo. Sin embargo, las supresiones y actualizaciones pueden fragmentar el espacio libre del bloque. El servidor de Oracle fusiona el espacio libre en el bloque cuando es necesario.

Base de Datos Oracle 10g: Taller de Administracin I 5-5

Oracle Internal & Oracle Academy Use Only

Tablespaces y Archivos de Datos


La base de datos Oracle almacena datos de forma lgica en tablespaces y de forma fsica en archivos de datos. Tablespaces:

Archivos de datos:
Pueden pertenecer slo a un tablespace y una base de datos Son un repositorio para datos de objetos de esquema

Base de datos
Tablespace

Archivos de datos

Copyright 2005, Oracle. Todos los derechos reservados.

Tablespaces y Archivos de Datos Las bases de datos, tablespaces y archivos de datos estn estrechamente relacionados pero presentan importantes diferencias: Una base de datos Oracle consta de una o ms unidades lgicas de almacenamiento denominadas tablespaces, que en conjunto almacenan todos los datos de la base de datos. Cada tablespace de una base de datos Oracle se compone de uno o ms archivos denominados archivos de datos, que son estructuras fsicas que se ajustan al sistema operativo en el que se est ejecutando el software de Oracle. Los datos de una base de datos se almacenan en conjunto en los archivos de datos que constituyen cada tablespace de la base de datos. Por ejemplo, la base de datos Oracle ms simple tendra dos tablespaces (los tablespaces obligatorios SYSTEM y SYSAUX), cada uno de ellos con un archivo de datos. Otra base de datos puede tener tres tablespaces, compuestos cada uno por dos archivos de datos (un total de seis archivos de datos). Una nica base de datos puede tener hasta 65.534 archivos de datos.

Base de Datos Oracle 10g: Taller de Administracin I 5-6

Oracle Internal & Oracle Academy Use Only

Slo pueden pertenecer a una base de datos Constan de uno o ms archivos de datos Se dividen en unidades lgicas de almacenamiento

Oracle Managed Files (OMF)


Especificar operaciones de archivos en funcin de los objetos de base de datos en lugar de los nombres de archivos.
Parmetro
DB_CREATE_FILE_DEST

Descripcin Define la ubicacin del directorio del sistema de archivos por defecto para los archivos de datos y los archivos temporales
Define la ubicacin para la creacin de archivos de control y archivos redo log Define la ubicacin para las copias de seguridad de RMAN

DB_CREATE_ONLINE_LOG_DEST_n

DB_RECOVERY_FILE_DEST

Ejemplo:
SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST = '/u01/oradata'; SQL> CREATE TABLESPACE tbs_1;
Copyright 2005, Oracle. Todos los derechos reservados.

Oracle Managed Files (OMF) Oracle Managed Files (OMF) elimina la necesidad de gestionar directamente los archivos del sistema operativo que forman una base de datos Oracle. Especifique operaciones en funcin de los objetos de base de datos en lugar de los nombres de archivos. La base de datos utiliza internamente las interfaces del sistema de archivos estndar para crear y suprimir archivos segn lo necesiten las siguientes estructuras de la base de datos: Tablespaces Archivos redo log Archivos de control Archive logs Archivos de seguimiento de cambios de bloque Logs de flashback Copias de seguridad de RMAN La base de datos puede disponer tanto de archivos Oracle Managed Files como de archivos no gestionados. Ya debe existir el directorio del sistema de archivos especificado por cualquiera de estos parmetros, la base de datos no lo crea. El directorio debe tener tambin permisos para que la base de datos cree los archivos en el mismo. El ejemplo muestra que una vez definido DB_CREATE_FILE_DEST, la clusula DATAFILE se puede omitir de una sentencia CREATE TABLESPACE. El archivo de datos se crea en la ubicacin especificada por DB_CREATE_FILE_DEST.
Base de Datos Oracle 10g: Taller de Administracin I 5-7

Oracle Internal & Oracle Academy Use Only

Gestin de Espacio en Tablespaces


Tablespace gestionado localmente:
Las extensiones libres se gestionan en el tablespace. Se utiliza un bitmap para registrar extensiones libres. Cada bit corresponde a un bloque o grupo de bloques. El valor del bit indica libre o usado. Se recomienda el uso de tablespaces gestionados localmente.

Tablespace gestionado por diccionario:


El diccionario de datos gestiona las extensiones libres. Se actualizan las tablas correspondientes cuando se asignan o se anula la asignacin de extensiones. Estos tablespaces slo se soportan para compatibilidad con versiones anteriores.

Copyright 2005, Oracle. Todos los derechos reservados.

Gestin de Espacio en Tablespaces Los tablespaces asignan espacio en extensiones. Los tablespaces se pueden crear para utilizar uno de los dos siguientes mtodos de realizacin de seguimiento de espacio libre o usado: Tablespaces gestionados localmente: Las extensiones se gestionan en el tablespace a travs de bitmaps. Cada bit del bitmap corresponde a un bloque o grupo de bloques. Cuando una extensin se asigna o se libera para volver a utilizarla, el servidor de Oracle cambia los valores del bitmap para mostrar el nuevo estado de los bloques. Tablespaces gestionados por diccionario: El diccionario de datos gestiona las extensiones. El servidor de Oracle actualiza las tablas adecuadas del diccionario de datos siempre que se asigna o se anula la asignacin de una extensin. Este mtodo se utiliza para obtener la compatibilidad con versiones anteriores; se recomienda usar tablespaces gestionados localmente.

Base de Datos Oracle 10g: Taller de Administracin I 5-8

Oracle Internal & Oracle Academy Use Only

Exploracin de la Estructura de Almacenamiento

Haga clic en los enlaces para visualizar informacin detallada.


Copyright 2005, Oracle. Todos los derechos reservados.

Exploracin de la Estructura de Almacenamiento Las estructuras de datos lgicos se almacenan en los archivos fsicos de la base de datos. Enterprise Manager permite visualizar las estructuras lgicas de la base de datos fcilmente. Si desea obtener informacin detallada sobre cada una de las estructuras, puede hacer clic en los enlaces de la regin Storage de la pgina Administration.

Base de Datos Oracle 10g: Taller de Administracin I 5-9

Oracle Internal & Oracle Academy Use Only

Creacin de un Nuevo Tablespace

Copyright 2005, Oracle. Todos los derechos reservados.

Creacin de un Nuevo Tablespace Para crear un tablespace, realice los siguientes pasos: 1. Haga clic en el separador Administration y, a continuacin, haga clic en Tablespaces situado bajo la cabecera Storage. 2. Haga clic en Create. Nota: Si desea crear un tablespace igual que otro ya existente, seleccione a continuacin el tablespace existente y elija Create Like en el men Actions. Haga clic en Go. Aparecer la pgina Create Tablespace. 3. Introduzca un nombre para el tablespace. 4. Bajo la cabecera Extent Management, seleccione Locally Managed. El servidor de bases de datos Oracle gestiona eficazmente en el tablespace las extensiones de un tablespace gestionado localmente. Para un tablespace gestionado por diccionario, debe gestionar de forma ms activa las extensiones y es necesario tener acceso al diccionario de datos para realizar un seguimiento de las mismas. Los tablespaces gestionados por diccionario estn en desuso. Oracle no recomienda su uso. 5. Bajo la cabecera Type, seleccione Permanent. Los tablespaces permanentes almacenan objetos de base de datos permanentes creados por el sistema o por los usuarios.

Base de Datos Oracle 10g: Taller de Administracin I 5-10

Oracle Internal & Oracle Academy Use Only

Nota: Estos pasos estn destinados a mostrar cmo crear rpidamente un tablespace para la mayora de situaciones. Puede que necesite cambiar algunas opciones en funcin de sus requisitos concretos.

Base de Datos Oracle 10g: Taller de Administracin I 5-11

Oracle Internal & Oracle Academy Use Only

Creacin de un Nuevo Tablespace (continuacin) 6. Bajo la cabecera Status, seleccione Read Write. El estado de lectura/escritura significa que los usuarios pueden leer y escribir en el tablespace una vez creado. ste es el valor por defecto. 7. En la regin Datafiles de la pgina, haga clic en Add para agregar archivos de datos al tablespace, un tablespace debe tener al menos un archivo. Los tablespaces de archivo grande se utilizan con bases de datos muy grandes en las que la Gestin Automtica de Almacenamiento (ASM) de Oracle u otros gestores de volmenes lgicos soportan la segmentacin o la matriz redundante de discos independientes (RAID), adems de volmenes lgicos extensibles dinmicamente. 8. En la pgina Add Datafiles, introduzca un nombre de archivo. Acepte el valor por defecto para File Directory e introduzca un tamao de archivo. 9. En la regin Storage, puede seleccionar Automatically extend datafile when full (AUTOEXTEND) y, a continuacin, especificar una cantidad en el campo Increment. Esto hace que el archivo de datos se ample automticamente cada vez que se quede sin espacio. Por supuesto, est limitado por el medio fsico en el que reside. Deje el valor Maximum File Size definido en Unlimited. Haga clic en OK. Volver a la pgina Create Tablespace. 10. Haga clic en el separador Storage. Aparecer la pgina Edit Tablespace. 11. Acepte todos los valores por defecto de la pgina Storage.

Almacenamiento de Tablespaces Gestionados Localmente

Copyright 2005, Oracle. Todos los derechos reservados.

Almacenamiento de Tablespaces Gestionados Localmente Las extensiones de un tablespace gestionado localmente se pueden asignar de uno de los dos modos siguientes: Automatic: Tambin denominado asignacin automtica, especifica que los tamaos de las extensiones del tablespace los gestiona el sistema. No puede especificar un tamao de extensin. No puede especificar Automatic para un tablespace temporal. Uniform: Especifica que el tablespace est gestionado con extensiones uniformes con un tamao especificado. El tamao por defecto es 1 MB. Todas las extensiones de tablespaces temporales son uniformes y presentan ese valor por defecto. No puede especificar Uniform para un tablespace de deshacer. La gestin de espacio de segmento en un tablespace gestionado localmente se puede especificar como: Automatic: La base de datos Oracle utiliza bitmaps para gestionar el espacio libre en segmentos. Un bitmap describe el estado de cada bloque de datos de un segmento con respecto a la cantidad de espacio del bloque disponible para insertar filas. A medida que hay ms o menos espacio disponible en un bloque de datos, su nuevo estado se refleja en el bitmap. Con los bitmaps, la base de datos Oracle gestiona el espacio libre de forma ms automtica y, por este motivo, este mtodo de gestin de espacio se denomina gestin automtica de espacio de segmento (ASSM).
Base de Datos Oracle 10g: Taller de Administracin I 5-12

Oracle Internal & Oracle Academy Use Only

Almacenamiento de Tablespaces Gestionados Localmente (continuacin) Manual: Especifica que desea utilizar listas de bloques libres para la gestin de espacio libre en segmentos. Las listas de bloques libres son listas de bloques de datos que tienen espacio disponible para la insercin de filas. Esta forma de gestin de espacio en segmentos se denomina gestin manual de espacio de segmento debido a la necesidad de especificar y ajustar los parmetros de almacenamiento PCTUSED, FREELISTS y FREELIST GROUPS para objetos de esquema creados en el tablespace. Se soporta para obtener la compatibilidad con versiones anteriores; se recomienda utilizar ASSM. Ventajas de los Tablespaces Gestionados Localmente Los tablespaces gestionados localmente presentan las siguientes ventajas sobre los gestionados por diccionario: La gestin local evita operaciones recursivas de gestin de espacio. Esto sucede en los tablespaces gestionados por diccionario si el consumo o la liberacin de espacio en una extensin da como resultado otra operacin que consume o libera espacio en un segmento de deshacer o en una tabla de diccionarios de datos. Dado que no registran espacio libre en las tablas de diccionarios de datos, los tablespaces gestionados localmente reducen la contencin en estas tablas. La gestin local de extensiones realiza automticamente un seguimiento del espacio libre adyacente, que elimina la necesidad de fusionar extensiones libres. El sistema puede determinar automticamente los tamaos de las extensiones gestionadas localmente. Los cambios en los bitmaps de extensiones no generan informacin de deshacer porque no actualizan tablas del diccionario de datos (excepto en casos especiales como, por ejemplo, informacin de cuota de tablespace). Nota: Si gestiona una base de datos que tiene tablespaces gestionados por diccionario y desea convertirlos a tablespaces gestionados localmente, utilice el procedimiento DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL. Para obtener ms informacin sobre el uso de este procedimiento, consulte PL/SQL Packages and Types Reference y Database Administrators Guide. Enable logging Los cambios que se realizan en los objetos en el tablespace se escriben en el redo log. Si el registro no est activado, la creacin de cualquier objeto y las posteriores inserciones de rutas de acceso de cargas directas realizadas en esos objetos no se escriben en el redo log y, por lo tanto, dichos objetos son irrecuperables en caso de prdida de datos. De modo que, cuando un objeto se crea con el registro desactivado, debe realizar una copia seguridad si desea que sea recuperable. Para obtener ms informacin sobre la clusula de registro, consulte la gua Oracle Database SQL Reference. Block Information Esta regin muestra el tamao de bloque que se utiliza para el tablespace que se est creando. Aqu se muestra como un valor de slo lectura. Si define alguno de los parmetros alternativos de inicializacin para el tamao de bloque (DB_nK_CACHE_SIZE), apareceran aqu otros valores en forma de opciones. Para obtener ms informacin sobre cmo definir otros tamaos de bloque, consulte Oracle Database Administrators Guide.

Base de Datos Oracle 10g: Taller de Administracin I 5-13

Oracle Internal & Oracle Academy Use Only

Tablespaces en la Base de Datos Preconfigurada


SYSTEM SYSAUX TEMP UNDOTBS1 USERS EXAMPLE

Copyright 2005, Oracle. Todos los derechos reservados.

Tablespaces en la Base de Datos Preconfigurada Los siguientes tablespaces se crean en la base de datos preconfigurada de este curso: SYSTEM: El servidor de Oracle utiliza el tablespace SYSTEM para gestionar la base de datos. Contiene el diccionario de datos y las tablas que incluyen informacin administrativa sobre la base de datos. Todos ellos estn incluidos en el esquema SYS y slo el usuario SYS u otros usuarios administrativos con el privilegio necesario pueden acceder a ellos. SYSAUX: ste es un tablespace auxiliar del tablespace SYSTEM. Algunos componentes y productos que utilizaban el tablespace SYSTEM o sus propios tablespaces en versiones anteriores de la base de datos Oracle utilizan ahora el tablespace SYSAUX. Todas las bases de datos Oracle 10g o versiones posteriores deben tener un tablespace SYSAUX. En Enterprise Manager, puede ver un grfico de tarta del contenido de este tablespace. Para ello, haga clic en Tablespaces en la pgina Administration. Seleccione SYSAUX y haga clic en Edit. Despus, haga clic en el separador Occupants. Una vez concluida la creacin, se puede controlar el uso del espacio de cada ocupante del tablespace SYSAUX mediante EM. Si se detecta que un componente ocupa demasiado espacio del tablespace SYSAUX o si se prev que lo haga, cabe la posibilidad de moverlo a otro tablespace si se selecciona uno de los ocupantes y se hace clic en Change Tablespace.

Base de Datos Oracle 10g: Taller de Administracin I 5-14

Oracle Internal & Oracle Academy Use Only

Nota: Para simplificar la administracin es normal tener un tablespace slo para ndices.

Base de Datos Oracle 10g: Taller de Administracin I 5-15

Oracle Internal & Oracle Academy Use Only

Tablespaces en la Base de Datos Preconfigurada (continuacin) TEMP: El tablespace temporal se utiliza cuando se ejecuta una sentencia SQL que necesita la creacin de segmentos temporales (como grandes ordenaciones o la creacin de un ndice). De la misma forma que a cada usuario se le asigna un tablespace por defecto para almacenar objetos de datos creados, tambin se le asigna un tablespace temporal. La prctica recomendada es definir un tablespace temporal por defecto para la base de datos que se asignar a cada usuario recin creado, a menos que se especifique lo contrario. En la base de datos preconfigurada, el tablespace TEMP se especifica como tablespace temporal por defecto. Esto significa que si no se especifica ningn tablespace temporal al crear la cuenta de usuario, la base de datos Oracle asigna este tablespace al usuario. UNDOTBS1: ste es el tablespace de deshacer que utiliza el servidor de bases de datos para almacenar informacin de deshacer. Si una base de datos utiliza Gestin Automtica de Deshacer (AUM), debe tener exactamente un tablespace de deshacer activo en cualquier momento. Este tablespace se genera durante la creacin de la base de datos. USERS: Este tablespace se utiliza para almacenar objetos y datos de usuarios permanentes. En la base de datos preconfigurada, el tablespace USERS es el tablespace por defecto para todos los objetos creados por usuarios que no son del sistema. Para los usuarios SYS y SYSTEM (usuarios del sistema), el tablespace permanente por defecto sigue siendo SYSTEM. EXAMPLE: Este tablespace contiene los esquemas de ejemplo que se pueden instalar al crear la base de datos. Los esquemas de ejemplo proporcionan una plataforma comn para los ejemplos. La documentacin y los cursos de Oracle contienen ejemplos basados en los esquemas de ejemplo.

Modificacin de un Tablespace

Copyright 2005, Oracle. Todos los derechos reservados.

Modificacin de un Tablespace Despus de crear un tablespace, puede modificarlo de varios modos a medida que cambian las necesidades del sistema. Cambio de nombre: Introduzca un nuevo nombre para el tablespace y haga clic en Apply. Cambio del estado: Un tablespace puede tener tres estados distintos. Cualquiera de los tres estados siguientes puede no estar disponible ya que su disponibilidad depende del tipo de tablespace: Read Write: El tablespace est online y se puede leer y escribir en l. Read Only: Especifique Read Only para poner el tablespace en el modo de slo lectura de transicin. En este estado, se pueden realizar las transacciones existentes (de confirmacin o de rollback), pero no se permiten otras operaciones de lenguaje de manipulacin de datos (DML) en los objetos del tablespace. El tablespace est online mientras tiene el estado de slo lectura. No puede hacer que el tablespace SYSTEM o SYSAUX sea de slo lectura.

Base de Datos Oracle 10g: Taller de Administracin I 5-16

Oracle Internal & Oracle Academy Use Only

Cambio del tamao: Puede agregar espacio a un tablespace existente, ya sea agregndole archivos de datos o cambiando el tamao de un archivo de datos existente. Para agregar un nuevo archivo de datos al tablespace, haga clic en Add y rellene la informacin sobre el archivo de datos en la pgina Add Datafile. Para cambiar el tamao de un archivo de datos existente, seleccinelo en la regin Datafiles de la pgina Edit Tablespace haciendo clic en el nombre del archivo de datos, o bien seleccione el archivo de datos y haga clic en Edit. A continuacin, en la pgina Edit Datafile puede cambiar el tamao del archivo de datos. Puede aumentar o reducir el tamao del tablespace. Sin embargo, no puede hacer que un archivo de datos sea ms pequeo que el espacio usado en el archivo; si lo intenta, obtendr el siguiente error:
ORA-03297: file contains used data beyond requested RESIZE value

Opciones de almacenamiento: Haga clic en Storage para cambiar el comportamiento de registro del tablespace.

Base de Datos Oracle 10g: Taller de Administracin I 5-17

Oracle Internal & Oracle Academy Use Only

Modificacin de un Tablespace (continuacin) Offline: Puede poner offline un tablespace online para que esta parte de la base de datos no est disponible temporalmente para su uso general. El resto de la base de datos est abierta y disponible para que los usuarios accedan a los datos. Al ponerla offline, puede utilizar las siguientes opciones: - Normal: Un tablespace se puede poner offline normalmente si no existe ninguna condicin de error para ninguno de los archivos de datos del tablespace. La base de datos Oracle garantiza que todos los datos se escriben en el disco al establecer un punto de control para todos los archivos de datos del tablespace cuando los pone offline. - Temporary: Un tablespace se puede poner offline temporalmente, incluso si hay condiciones de error para uno o ms archivos del tablespace. La base de datos Oracle pone offline los archivos de datos (los que an no lo estn), al establecer a la vez un punto de control en los mismos. Si no hay ningn archivo offline, pero utiliza la clusula temporal, la recuperacin del medio fsico no es necesaria para volver a poner el tablespace online. Sin embargo, si uno o ms archivos del tablespace estn offline debido a errores de escritura y pone el tablespace offline temporalmente, el tablespace necesita la recuperacin antes de ponerlo de nuevo online. - Immediate: Un tablespace se puede poner offline inmediatamente, sin que la base de datos Oracle establezca un punto de control en alguno de los archivos de datos. Cuando especifica Immediate, es necesaria la recuperacin del medio fsico para el tablespace para poner online el tablespace. No puede poner un tablespace offline inmediatamente si la base de datos se est ejecutando en modo NOARCHIVELOG. - For Recover: El valor FOR RECOVER ya no se utiliza. Se soporta la sintaxis para la compatibilidad con versiones anteriores.

Modificacin de un Tablespace (continuacin) Thresholds: Haga clic en Thresholds para cambiar el punto en el que se alcanza un nivel crtico o de advertencia en cuanto al uso de espacio en el tablespace. Dispone de tres opciones: Use Database Default Thresholds: Utiliza valores por defecto predefinidos y tiene la opcin de definir dichos valores por defecto. Specify Thresholds: Permite definir umbrales para este tablespace concreto. Disable Thresholds: Desactiva las alertas de uso de espacio para este tablespace. Nota: Pueden pasar varios minutos hasta que se registre una alerta de umbral.

Base de Datos Oracle 10g: Taller de Administracin I 5-18

Oracle Internal & Oracle Academy Use Only

Acciones con Tablespaces

Copyright 2005, Oracle. Todos los derechos reservados.

Acciones con Tablespaces Mediante el men Actions puede realizar varias tareas con los tablespaces. Seleccione un tablespace y, a continuacin, la accin que desea realizar: Add Datafile: Agrega un archivo de datos al tablespace, con lo que se agranda el tablespace. Create Like: Crea otro tablespace utilizando el tablespace como plantilla. Generate DDL: Genera la sentencia de lenguaje de definicin de datos (DLL) que crea el tablespace. A continuacin se puede copiar y pegar en un archivo de texto para su uso como archivo de comandos o con fines de documentacin. Make Locally Managed: Convierte el tablespace en gestionado localmente si, en la actualidad, el tablespace est gestionado por diccionario. Esta conversin no es reversible. No puede volver a convertir el tablespace a gestionado por diccionario. Make Readonly: Para todas las escrituras en el tablespace. Se permite terminar las transacciones actuales, pero no se permite iniciar nuevas DML u otras actividades de escritura en el tablespace. Esta opcin aparece slo si el tablespace no es ya de slo lectura. Make Writable: Permite iniciar DML y otras actividades de escritura en objetos del tablespace. Esta opcin aparece slo si, actualmente, no se puede escribir en el tablespace.

Base de Datos Oracle 10g: Taller de Administracin I 5-19

Oracle Internal & Oracle Academy Use Only

Base de Datos Oracle 10g: Taller de Administracin I 5-20

Oracle Internal & Oracle Academy Use Only

Acciones con Tablespaces (continuacin) Place Online: Pone online un tablespace que actualmente est offline Reorganize: Inicia el asistente de reorganizacin, que puede utilizar para mover objetos en el tablespace con el fin de reclamar espacio que de otro modo tal vez no se utilice. Esta tarea se debe realizar en los momentos de menor uso de los objetos del tablespace. Run Segment Advisor: Inicia el Asesor de Segmentos, que puede utilizar para determinar si un objeto tiene espacio disponible para la recuperacin en funcin del nivel de fragmentacin de espacio en el objeto. En el nivel de tablespace, se genera un consejo para cada segmento del tablespace. Show Dependencies: Muestra objetos de los que depende este tablespace u objetos que dependen de este tablespace Show Tablespace Contents: Muestra informacin sobre todos los segmentos del tablespace, incluido un mapa grfico de todas las extensiones Take Offline: Pone no disponible un tablespace que actualmente est online. El tablespace no se suprime ni borra, simplemente no est disponible.

Borrado de Tablespaces

Copyright 2005, Oracle. Todos los derechos reservados.

Borrado de Tablespaces Puede borrar un tablespace y su contenido (los segmentos incluidos en el tablespace) de la base de datos si el tablespace y su contenido ya no son necesarios. Debe tener el privilegio del sistema DROP TABLESPACE para borrar un tablespace. Cuando borra un tablespace, se eliminan los punteros al archivo del archivo de control de la base de datos asociada. Opcionalmente puede indicar al servidor de Oracle que suprima los archivos del sistema operativo (archivos de datos) que constituyen el tablespace borrado. Si no indica al servidor de Oracle que suprima los archivos de datos al mismo tiempo que el tablespace, deber utilizar posteriormente los comandos adecuados del sistema operativo si desea suprimirlos. No puede borrar un tablespace que contenga segmentos activos. Por ejemplo, si se est utilizando actualmente una tabla del tablespace o el tablespace contiene datos de deshacer necesarios para realizar un rollback de transacciones sin confirmar, no puede borrar el tablespace. El tablespace puede estar online u offline, pero es mejor que se ponga offline antes de borrarlo.

Base de Datos Oracle 10g: Taller de Administracin I 5-21

Oracle Internal & Oracle Academy Use Only

Visualizacin de Informacin de Tablespaces

Copyright 2005, Oracle. Todos los derechos reservados.

Visualizacin de Informacin de Tablespaces Haga clic en View para ver informacin sobre el tablespace seleccionado. En la pgina View Tablespace, tambin puede hacer clic en Edit para modificar el tablespace. Tambin se puede obtener informacin de tablespaces y archivos de datos consultando lo siguiente: Informacin de tablespaces: - DBA_TABLESPACES - V$TABLESPACE Informacin de archivos de datos: - DBA_DATA_FILES - V$DATAFILE Informacin de archivos temporales: - DBA_TEMP_FILES - V$TEMPFILE

Base de Datos Oracle 10g: Taller de Administracin I 5-22

Oracle Internal & Oracle Academy Use Only

Recopilacin de Informacin de Almacenamiento

Copyright 2005, Oracle. Todos los derechos reservados.

Recopilacin de Informacin de Almacenamiento Para visualizar y modificar informacin del tablespace en EM, seleccione Administration > Tablespaces. Utilice los botones o la lista desplegable Actions para navegar hasta su destino.

Base de Datos Oracle 10g: Taller de Administracin I 5-23

Oracle Internal & Oracle Academy Use Only

Visualizacin de Contenido de Tablespaces

12061_1_sel_ts_3

Copyright 2005, Oracle. Todos los derechos reservados.

Visualizacin de Contenido de Tablespaces En la pgina Show Tablespace Contents se muestra informacin detallada sobre el tablespace, incluida una lista de los segmentos del tablespace, el tipo de cada segmento, el tamao de segmento y el nmero de extensiones que componen cada segmento. Cualquiera de esos cuatro valores se puede utilizar para ordenar la lista, si hace clic en la cabecera de columna, o para filtrar la lista si introduce valores en la regin Search. Para los tablespaces gestionados por diccionario se muestran columnas adicionales: Max Extents Next Percent Increase Para consultar una lista de extensiones, haga clic en el enlace de la columna Extents. Para visualizar las extensiones de una forma grfica, ample "Extent map" y mueva el cursor sobre cada extensin. Aparece la siguiente informacin: Nombre del segmento al que pertenece la extensin Identificador de extensin Identificador de bloque Tamao de la extensin en bloques Archivo de datos en el que est almacenada la extensin

Base de Datos Oracle 10g: Taller de Administracin I 5-24

Oracle Internal & Oracle Academy Use Only

Ampliacin de la Base de Datos


Puede ampliar la base de datos de las siguientes formas: Creando un nuevo tablespace Agregando un archivo de datos a un tablespace existente Aumentando el tamao de un archivo de datos Manteniendo el crecimiento dinmico de un archivo de datos
Database

SYSTEM tablespace

INVENTORY tablespace

Copyright 2005, Oracle. Todos los derechos reservados.

Ampliacin de la Base de Datos Estas actividades se pueden realizar mediante Enterprise Manager o mediante sentencias SQL. Al final, el tamao de la base de datos se puede describir como la suma de todos sus tablespaces.

Base de Datos Oracle 10g: Taller de Administracin I 5-25

Oracle Internal & Oracle Academy Use Only

Qu es Gestin Automtica de Almacenamiento?


Gestin Automtica de Almacenamiento Es un sistema de archivos de cluster portable y de alto rendimiento Gestiona archivos de la base Base de datos de datos Oracle Sistema Distribuye los datos entre los de archivos ASM discos para equilibrar la carga Gestor volmenes Duplica datos Resuelve muchos retos Sistema de gestin de almacenamiento

Copyright 2005, Oracle. Todos los derechos reservados.

Qu es Gestin Automtica de Almacenamiento? ASM proporciona una integracin vertical del sistema de archivos y del gestor de volmenes creado de forma especfica para los archivos de las bases de datos Oracle. Adems de gestionar mquinas de multiproceso simtrico (SMP) individuales, ASM soporta Oracle Real Application Clusters (RAC) y, por lo tanto, permite gestionar varios nodos de un cluster. ASM distribuye la carga de entrada/salida (E/S) entre todos los recursos disponibles para optimizar el rendimiento mientras elimina la necesidad de ajuste manual de E/S. ASM ayuda a los DBA a gestionar los entornos de base de datos dinmicos ya que les permite aumentar el tamao de las bases de datos sin tener que cerrarlas a la hora de ajustar la asignacin de almacenamiento. ASM puede mantener copias redundantes de los datos para ofrecer tolerancia ante fallos o se puede montar en mecanismos de almacenamiento suministrados por el proveedor. La gestin de datos se realiza seleccionando las caractersticas de fiabilidad y rendimiento deseadas para las clases de datos en lugar de hacerlo archivo por archivo con la intervencin del usuario. Las capacidades de ASM ahorran tiempo a los DBA al automatizar el almacenamiento manual y, en consecuencia, les permiten aumentar su capacidad para gestionar bases de datos ms grandes (y en mayor nmero) con mayor eficiencia.

Base de Datos Oracle 10g: Taller de Administracin I 5-26

Oracle Internal & Oracle Academy Use Only

ASM: Funciones Clave y Ventajas

Copyright 2005, Oracle. Todos los derechos reservados.

ASM: Funciones Clave y Ventajas ASM divide los archivos en extensiones (diferentes de las extensiones de archivos de datos descritas anteriormente) y las distribuye de manera uniforme entre todos los discos. Utiliza una tcnica de ndice para realizar el seguimiento de la colocacin de cada extensin. Cuando vara la capacidad de almacenamiento, ASM no vuelve a segmentar todos los datos, sino que mueve una cantidad de datos proporcional a la cantidad de almacenamiento agregada o eliminada para redistribuir uniformemente los archivos y mantener una carga equilibrada en los discos. Todo ello se hace mientras la base de datos permanece activa. Puede aumentar la velocidad de una operacin de nuevo equilibrio para hacer que termine antes o reducirla para disminuir el impacto en el subsistema de E/S. ASM proporciona proteccin de duplicacin sin necesidad de adquirir un gestor de volmenes lgicos de otro fabricante. Una ventaja exclusiva de ASM radica en que la duplicacin se aplica por archivo, no por volumen. Por lo tanto, un mismo grupo de discos puede contener una combinacin de archivos duplicados y no duplicados. ASM soporta archivos de datos, archivos log, archivos de control, archive logs, juegos de copia de seguridad de Recovery Manager (RMAN) y otros tipos de archivos de base de datos Oracle. ASM soporta RAC y elimina la necesidad de un gestor de volmenes lgicos de cluster o de un sistema de archivos de cluster.

Base de Datos Oracle 10g: Taller de Administracin I 5-27

Oracle Internal & Oracle Academy Use Only

ASM Segmenta los archivos, pero no los volmenes lgicos Permite la reconfiguracin y nuevo equilibrio dinmico de discos online Permite ajustar la velocidad de nuevo equilibrio Proporciona redundancia por cada archivo Slo soporta archivos de bases de datos Oracle Detecta los clusters Se instala automticamente

ASM: Conceptos
Base de datos

Grupo de discos de ASM Archivo de datos


Archivo de ASM

Tablespace

Extensin

Bloque de datos de Oracle

Archivo del sistema de archivos o dispositivo raw

Unidad de asignacin

Bloque fsico

Copyright 2005, Oracle. Todos los derechos reservados.

ASM: Conceptos ASM no elimina ninguna de las funciones existentes de la base de datos. Las bases de datos existentes siguen funcionando como siempre. Puede crear nuevos archivos como archivos de ASM y dejar que los archivos existentes se administren del modo anterior, o bien puede migrarlos a ASM. En el diagrama de la diapositiva se representan las relaciones que existen entre los diversos componentes de almacenamiento dentro de una base de datos Oracle que utiliza ASM. Las partes izquierda y central del diagrama muestran las relaciones que existen en versiones anteriores. En la derecha se encuentran los nuevos conceptos introducidos con ASM. Los archivos de base de datos se pueden almacenar como archivos de ASM. La cabeza de la nueva jerarqua la ocupan los grupos de discos de ASM. Todos los archivos de ASM estn en un nico grupo de discos. Por el contrario, un grupo de discos puede contener archivos que pertenezcan a varias bases de datos y una nica base de datos puede utilizar almacenamiento de varios grupos de discos. Como puede observar, un grupo de discos est formado por varios discos de ASM y cada disco de ASM pertenece a un nico grupo de discos. Los archivos de ASM siempre se distribuyen por todos los discos de ASM del grupo. Los discos de ASM estn particionados en unidades de asignacin de un megabyte. La unidad de asignacin constituye el espacio de disco contiguo ms pequeo que asigna ASM. ASM no permite dividir un bloque de Oracle en unidades de asignacin. Nota: El grfico slo tiene que ver con un tipo de archivo de ASM: archivo de datos. Sin embargo, ASM se puede utilizar para almacenar otros tipos de archivos de base de datos.
Base de Datos Oracle 10g: Taller de Administracin I 5-28

Oracle Internal & Oracle Academy Use Only

Segmento

Disco de ASM

Resumen

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 5-29

Oracle Internal & Oracle Academy Use Only

En esta leccin, debe haber aprendido lo siguiente: Describir cmo se almacenan en bloques los datos de fila de tabla Definir el objetivo de tablespaces y archivos de datos Crear y gestionar tablespaces Obtener informacin de tablespaces Describir las funcionalidades y conceptos principales de Gestin Automtica de Almacenamiento (ASM)

Visin General de la Prctica: Gestin de Estructuras de Almacenamiento de Bases de Datos


En esta prctica se abordan los siguientes temas: Creacin de tablespaces Recopilacin de informacin sobre tablespaces

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 5-30

Oracle Internal & Oracle Academy Use Only

Administracin de Seguridad del Usuario


Oracle Internal & Oracle Academy Use Only

Copyright 2005, Oracle. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para lo siguiente: Crear y gestionar cuentas de usuario de base de datos
Autenticar usuarios Asignar reas de almacenamiento por defecto (tablespaces)

Otorgar y revocar privilegios Crear y gestionar roles Crear y gestionar perfiles


Implementar funciones estndar de seguridad de contrasea Controlar el uso de recursos por los usuarios

Copyright 2005, Oracle. Todos los derechos reservados.

Objetivos Los siguientes trminos estn relacionados con la administracin de usuarios de base de datos y le ayudarn a comprender los objetivos: Una cuenta de usuario de base de datos es un medio de organizar la propiedad y el acceso a objetos de base de datos. Una contrasea es una autenticacin por parte de la base de datos Oracle. Un privilegio es un derecho para ejecutar un tipo concreto de sentencia SQL o para acceder a un objeto de otro usuario. Un rol es un grupo con nombre de privilegios relacionados que se otorgan a los usuarios o a otros roles. Los perfiles imponen un juego con nombre de lmites de recursos en cuanto al uso de la base de datos y de los recursos de la instancia. La cuota es un espacio asignado en un tablespace determinado. Es uno de los mtodos mediante el cual puede controlar el uso de recursos por parte de los usuarios.

Base de Datos Oracle 10g: Taller de Administracin I 6-2

Oracle Internal & Oracle Academy Use Only

Cuentas de Usuario de Base de Datos

> Usuario Autenticacin Privilegio Rol Perfil Seguridad con Contrasea Cuota

Copyright 2005, Oracle. Todos los derechos reservados.

Cuentas de Usuario de Base de Datos Para acceder a la base de datos, un usuario debe especificar una cuenta de usuario de base de datos vlida y autenticarse correctamente segn los requisitos de dicha cuenta de usuario. Cada usuario de base de datos tiene su propia cuenta de base de datos. Esta es la prctica recomendada por Oracle para evitar posibles agujeros en la seguridad y proporcionar datos significativos para ciertas actividades de auditora. Sin embargo, en algunos casos, los usuarios comparten una cuenta de base de datos comn. En este caso, el sistema operativo y las aplicaciones deben proporcionar la seguridad adecuada para la base de datos. Cada cuenta de usuario tiene lo siguiente: Nombre de usuario nico: Los nombres de usuario no pueden superar los 30 bytes ni contener caracteres especiales y deben empezar por una letra. Mtodo de autenticacin: El mtodo de autenticacin ms comn es una contrasea, pero la base de datos Oracle 10g soporta otros mtodos de autenticacin, entre los que se incluyen la autenticacin biomtrica, mediante certificado y mediante elemento. Tablespace por defecto: ste es el lugar en el que el usuario crear objetos si no especifica ningn otro tablespace. Tenga en cuenta que disponer de un tablespace por defecto no implica que el usuario tenga el privilegio de crear objetos en dicho tablespace, ni tampoco que tenga una cuota de espacio en dicho tablespace en la que crear objetos. Ambos se otorgan por separado.

Base de Datos Oracle 10g: Taller de Administracin I 6-3

Oracle Internal & Oracle Academy Use Only

Cada cuenta de usuario de base de datos tiene lo siguiente: Nombre de usuario nico Mtodo de autenticacin Tablespace por defecto Tablespace temporal Perfil de usuario Grupo de consumidores Estado de bloqueo

Cuentas de Usuario de Base de Datos (continuacin) Tablespace temporal: Es un lugar en el que el usuario puede crear objetos temporales como, por ejemplo, ordenaciones y tablas temporales. Perfil de usuario: Es un juego de restricciones de recurso y contrasea asignadas al usuario. Grupo de consumidores: Es una opcin utilizada por el gestor de recursos. Estado de bloqueo: Los usuarios slo pueden acceder a las cuentas desbloqueadas.

Base de Datos Oracle 10g: Taller de Administracin I 6-4

Oracle Internal & Oracle Academy Use Only

Cuentas Predefinidas: SYS y SYSTEM

La cuenta SYS:
Tiene el rol DBA otorgado Tiene todos los privilegios con ADMIN OPTION Es necesaria para el inicio, el cierre y para algunos comandos de mantenimiento Es propietaria del diccionario de datos Es propietaria del repositorio de carga de trabajo automtica (AWR)

La cuenta SYSTEM tiene otorgado el rol DBA. Estas cuentas no se utilizan para operaciones rutinarias.

Copyright 2005, Oracle. Todos los derechos reservados.

Cuentas Predefinidas: SYS y SYSTEM Las cuentas SYS y SYSTEM tienen otorgado por defecto el rol de administrador de base de datos (DBA). La cuenta SYS tiene adems todos los privilegios con la opcin ADMIN OPTION y es propietaria del diccionario de datos. Para conectarse a la cuenta SYS es necesario utilizar la clusula AS SYSDBA. Cualquier usuario al que se le otorgue el privilegio SYSDBA puede conectarse a la cuenta SYS mediante la clusula AS SYSDBA. Slo los usuarios con privilegios, a los que se les otorga el privilegio SYSDBA o SYSOPER, pueden iniciar y cerrar la instancia de base de datos. A la cuenta SYSTEM se le otorga el rol DBA por defecto, pero no el privilegio SYSDBA. Prctica recomendada: Debido a la aplicacin del principio de privilegio ms bajo, estas cuentas no se utilizan para operaciones rutinarias. Los usuarios que necesiten privilegios DBA tienen cuentas separadas a las que se les otorgan los privilegios necesarios. Por ejemplo, Jim tiene una cuenta de privilegio bajo denominada jim y una cuenta con privilegios denominada jim_dba. Este mtodo permite aplicar el principio de privilegio ms bajo, elimina la necesidad de compartir cuentas y permite auditar acciones individuales. Las cuentas SYS y SYSTEM son cuentas necesarias en la base de datos. No se pueden eliminar.

Base de Datos Oracle 10g: Taller de Administracin I 6-5

Oracle Internal & Oracle Academy Use Only

Creacin de un Usuario

Seleccionar Administration > Schema > Users & Privileges > Users y, a continuacin, hacer clic en el botn Create.
Copyright 2005, Oracle. Todos los derechos reservados.

Creacin de un Usuario En Enterprise Manager, puede gestionar la lista de usuarios de base de datos que pueden acceder a la base de datos actual mediante la pgina Users. Puede utilizar esta pgina para crear, suprimir y modificar los valores de un usuario. Para crear un usuario de base de datos, realice los siguientes pasos: 1. En Enterprise Manager Database Control, seleccione Administration > Schema > Users & Privileges > Users. 2. Haga clic en el botn Create. Proporcione la informacin necesaria. Los elementos obligatorios, como Name, aparecen marcados con un asterisco. Las siguientes pginas le proporcionan ms informacin sobre la autenticacin. Los perfiles se tratarn ms adelante en esta leccin. Asigne un tablespace por defecto y un tablespace temporal a cada usuario. De esta forma puede controlar dnde se crean sus objetos, en el caso de que los usuarios no especifiquen un tablespace durante la creacin de un objeto. Si no selecciona un tablespace por defecto, se utiliza el permanente por defecto definido por el sistema. Lo mismo sucede con el tablespace temporal: si no especifica ninguno, se utiliza el tablespace temporal definido por el sistema.
Base de Datos Oracle 10g: Taller de Administracin I 6-6

Oracle Internal & Oracle Academy Use Only

Autenticacin de Usuarios

Usuario > Autenticacin Privilegio Rol Perfil Seguridad con Contrasea Cuota

Password External Global

Copyright 2005, Oracle. Todos los derechos reservados.

Autenticacin de Usuarios La autenticacin significa verificar la identidad de alguien (un usuario, dispositivo u otra entidad) que desea utilizar datos, recursos o aplicaciones. La validacin de dicha identidad establece una relacin de confianza para una mayor interaccin. La autenticacin tambin permite establecer responsabilidades al posibilitar el enlace de acceso y acciones con identidades concretas. Tras la autenticacin, los procesos de autorizacin pueden permitir o limitar los niveles de acceso y accin permitidos para dicha entidad. Al crear un usuario, debe decidir la tcnica de autenticacin que se va a utilizar y que se podr modificar posteriormente. Password: Tambin denominada autenticacin por la base de datos Oracle. Cree cada usuario con una contrasea asociada que se debe proporcionar cuando el usuario intente establecer una conexin. Al configurar una contrasea, puede establecer que venza inmediatamente, lo que obliga al usuario a cambiar la contrasea despus de la primera conexin. Si decide utilizar el vencimiento de contraseas de usuario, asegrese de que los usuarios pueden cambiar la contrasea. Algunas aplicaciones no tienen esta funcin. Las contraseas siempre se cifran de forma automtica y transparente durante las conexiones de red (cliente/servidor y servidor/servidor) mediante un algoritmo modificado Data Encryption Standard (DES) antes de enviarlas por la red.
Base de Datos Oracle 10g: Taller de Administracin I 6-7

Oracle Internal & Oracle Academy Use Only

Nota: El texto del parmetro de inicializacin OS_AUTHENT_PREFIX es sensible a maysculas/minsculas en algunos sistemas operativos. Consulte la documentacin de Oracle especfica para el sistema operativo si desea ms informacin sobre este parmetro de inicializacin. Global: Mediante la opcin Oracle Advanced Security, la autenticacin global (que es una autenticacin potente) permite identificar usuarios mediante biomtrica, certificados X509, dispositivos de elemento y Oracle Internet Directory. Para obtener ms informacin sobre mtodos de autenticacin avanzados, consulte el curso Oracle Enterprise Identity Management.

Base de Datos Oracle 10g: Taller de Administracin I 6-8

Oracle Internal & Oracle Academy Use Only

Autenticacin de Usuarios (continuacin) External: Tambin se denomina autenticacin por el sistema operativo. Los usuarios se pueden conectar a la base de datos Oracle sin especificar un nombre de usuario o contrasea. Con la autenticacin externa, la base de datos confa en el servicio de autenticacin de red o del sistema operativo subyacente para restringir el acceso a cuentas de base de datos. No se utiliza ninguna contrasea de base de datos para este tipo de conexin. Si el servicio de red o del sistema operativo lo permite, ste podr autenticar usuarios. Si es as, defina el parmetro de inicializacin OS_AUTHENT_PREFIX y utilice este prefijo en los nombres de usuario Oracle. El parmetro OS_AUTHENT_PREFIX define un prefijo que la base de datos Oracle agrega al principio del nombre de cuenta de sistema operativo de cada usuario. El valor por defecto de este parmetro es OPS$ para la compatibilidad con versiones anteriores del software de Oracle. La base de datos Oracle compara el nombre de usuario con prefijo con los nombres de usuario Oracle de la base de datos cuando un usuario intenta conectarse. Por ejemplo, suponga que OS_AUTHENT_PREFIX se ha definido de la siguiente forma: OS_AUTHENT_PREFIX=OPS$ Si un usuario con una cuenta de sistema operativo denominada tsmith se tiene que conectar a una base de datos Oracle y lo va a autenticar el sistema operativo, la base de datos Oracle comprueba si hay un usuario de base de datos OPS$tsmith correspondiente y, si es as, permite al usuario conectarse. Todas las referencias a un usuario autenticado por el sistema operativo deben incluir el prefijo, como se ve en OPS$tsmith.

Autenticacin de Administradores
Seguridad del Sistema Operativo Los DBA deben tener privilegios del sistema operativo para crear y suprimir archivos. Los usuarios tpicos de base de datos no deben tener privilegios del sistema operativo para crear o suprimir archivos de base de datos. Seguridad del Administrador Las conexiones SYSBA y SYSOPER se autorizan mediante un archivo de contraseas o el sistema operativo.
La autenticacin del archivo de contraseas registra el usuario DBA por el nombre. La autenticacin del sistema operativo no registra el usuario concreto. La autenticacin del sistema operativo tiene prioridad sobre la autenticacin del archivo de contraseas para SYSDBA y SYSOPER.
Copyright 2005, Oracle. Todos los derechos reservados.

Autenticacin de Administradores Seguridad del Sistema Operativo: En UNIX y Linux, por defecto, los DBA pertenecen al grupo del sistema operativo install, que posee los privilegios necesarios para crear y suprimir archivos de base de datos. Seguridad del Administrador: Las conexiones SYSBA y SYSOPER se autorizan nicamente despus de la verificacin con el archivo de contraseas o con los privilegios y los permisos del sistema operativo. Si se utiliza la autenticacin del sistema operativo, la base de datos no utiliza el nombre de usuario y contrasea proporcionados. La autenticacin del sistema operativo se utiliza si no existe archivo de contraseas, si el nombre de usuario o la contrasea proporcionados no estn en ese archivo o si no se proporciona ningn nombre de usuario y contrasea. No obstante, si la autenticacin se produce mediante el archivo de contraseas, la conexin se registra con el nombre de usuario. Si la autenticacin se produce a travs del sistema operativo, entonces es una conexin CONNECT / que no registra el usuario concreto. Nota: La autenticacin del sistema operativo tiene prioridad sobre la autenticacin del archivo de contraseas. En concreto, si es miembro del grupo OSDBA u OSOPER del sistema operativo y se conecta como SYSDBA o SYSOPER, lo har con los privilegios administrativos asociados independientemente del nombre de usuario y contrasea que especifique.
Base de Datos Oracle 10g: Taller de Administracin I 6-9

Oracle Internal & Oracle Academy Use Only

Desbloqueo de Cuentas de Usuario y Restablecimiento de Contraseas

Seleccionar el usuario y hacer clic en Unlock User.

Copyright 2005, Oracle. Todos los derechos reservados.

Desbloqueo de Cuentas de Usuario y Restablecimiento de Contraseas Durante la instalacin y la creacin de la base de datos puede desbloquear y restablecer muchas de las cuentas de usuario de base de datos proporcionadas por Oracle. Si no ha seleccionado desbloquear las cuentas de usuario en ese momento, puede desbloquear los usuarios y restablecer las contraseas si selecciona el usuario en la pgina Users y hace clic en Unlock User. Como alternativa, en la pgina Edit Users puede realizar los siguientes pasos: 1. Introduzca la nueva contrasea en los campos Enter Password y Confirm Password. 2. Active la casilla de control Unlocked. 3. Haga clic en Apply para restablecer la contrasea y desbloquear la cuenta de usuario.

Base de Datos Oracle 10g: Taller de Administracin I 6-10

Oracle Internal & Oracle Academy Use Only

Privilegios
Hay dos tipos de privilegios de usuario: Sistema: Permite a los usuarios realizar acciones concretas en la base de datos Objeto: Permite a los usuarios acceder y manipular un objeto concreto

Usuario Autenticacin > Privilegio Rol Perfil Seguridad con Contrasea Cuota

HR_DBA
Privilegio de objeto: Actualizar empleados. Privilegio del sistema: Crear sesin.

Copyright 2005, Oracle. Todos los derechos reservados.

Privilegios Un privilegio es un derecho para ejecutar un tipo concreto de sentencia SQL o para acceder a un objeto de otro usuario. La base de datos Oracle le permite controlar lo que los usuarios pueden o no pueden hacer en la base de datos. Los privilegios se dividen en dos categoras: Privilegios del sistema: Cada privilegio del sistema permite a un usuario realizar una operacin de base de datos concreta o una clase de operaciones de base de datos. Por ejemplo, el privilegio para crear tablespaces es un privilegio del sistema. Estos privilegios los puede otorgar el administrador o alguien a quin se le haya proporcionado explcitamente permiso para administrar el privilegio. Existe ms de cien privilegios del sistema distintos. Muchos de ellos contienen la clusula ANY. Privilegios de objeto: Los privilegios de objeto permiten a un usuario realizar una accin concreta en un objeto determinado, como una tabla, una vista, una secuencia, un procedimiento, una funcin o un paquete. Sin el permiso concreto, los usuarios slo pueden acceder a sus propios objetos. Estos privilegios los puede otorgar el propietario de un objeto, el administrador o alguien al que se le haya proporcionado explcitamente permiso para otorgar privilegios sobre el objeto.

Base de Datos Oracle 10g: Taller de Administracin I 6-11

Oracle Internal & Oracle Academy Use Only

Privilegios del Sistema

Copyright 2005, Oracle. Todos los derechos reservados.

Privilegios del Sistema Para otorgar privilegios del sistema, haga clic en el separador Systems Privileges de la pgina Edit User. Seleccione los privilegios apropiados de la lista de privilegios disponibles y muvalos a la lista Selected System Privileges haciendo clic en la flecha Move. Otorgar un privilegio con la clusula ANY significa que el privilegio traspasa las lneas del esquema. Por ejemplo, el privilegio CREATE TABLE le permite crear una tabla, pero slo en su propio esquema. El privilegio SELECT ANY TABLE le permite realizar selecciones en tablas propiedad de otros usuarios. Si se activa la casilla de control Admin Option, podr administrar el privilegio del sistema y otorgarlo a otros usuarios. Considere detenidamente los requisitos de seguridad antes de otorgar permisos del sistema. Algunos privilegios del sistema se suelen otorgar slo a los administradores: RESTRICTED SESSION: Este privilegio le permite conectarse incluso si la base de datos se ha abierto en modo restringido.

Base de Datos Oracle 10g: Taller de Administracin I 6-12

Oracle Internal & Oracle Academy Use Only

Privilegios del Sistema (continuacin) SYSDBA y SYSOPER: Estos privilegios le permiten cerrar, iniciar y realizar una operacin de recuperacin y dems tareas administrativas en la base de datos. SYSOPER permite a un usuario realizar tareas operativas bsicas pero sin la capacidad de ver los datos de usuarios. Incluye los siguientes privilegios del sistema: - STARTUP y SHUTDOWN - CREATE SPFILE - ALTER DATABASE OPEN/MOUNT/BACKUP - ALTER DATABASE ARCHIVELOG - ALTER DATABASE RECOVER (Slo recuperacin completa. Cualquier tipo de recuperacin incompleta, como UNTIL TIME|CHANGE|CANCEL|CONTROLFILE, necesita una conexin como SYSDBA.) - RESTRICTED SESSION El privilegio del sistema SYSDBA autoriza adems la recuperacin incompleta y la supresin de una base de datos. De hecho, el privilegio del sistema SYSDBA permite a un usuario conectarse como usuario SYS. DROP ANY object: El privilegio DROP ANY le permite suprimir objetos propiedad de otros usuarios de esquema. CREATE, MANAGE, DROP y ALTER TABLESPACE: Estos privilegios permiten la administracin de tablespaces, incluida la creacin, el borrado y el cambio de sus atributos. CREATE ANY DIRECTORY: La base de datos Oracle permite a los desarrolladores llamar a cdigo externo (por ejemplo, una biblioteca C) desde PL/SQL. Como medida de seguridad, el directorio del sistema operativo en el que reside el cdigo debe estar enlazado a un objeto de directorio Oracle virtual. Con el privilegio CREATE ANY DIRECTORY, podra llamar a objetos de cdigo no seguros. El privilegio CREATE ANY DIRECTORY permite a un usuario crear un objeto de directorio (con acceso de lectura y escritura) en cualquier directorio al que el propietario del software de Oracle pueda acceder. Esto significa que el usuario puede acceder a procedimientos externos en esos directorios. El usuario puede intentar leer y escribir cada archivo de base de datos directamente, ya sean archivos de datos, redo logs y logs de auditoria. Asegrese de que su organizacin posee una estrategia de seguridad que evita que se haga un uso incorrecto de privilegios potentes como ste. GRANT ANY OBJECT PRIVILEGE: Este privilegio le permite otorgar permisos sobre objetos que no le pertenecen. ALTER DATABASE y ALTER SYSTEM: Estos privilegios son muy potentes y le permiten modificar la base de datos y la instancia de Oracle como, por ejemplo, cambiar el nombre de un archivo de datos o vaciar la cach de buffers.

Base de Datos Oracle 10g: Taller de Administracin I 6-13

Oracle Internal & Oracle Academy Use Only

Privilegios de Objeto

Para otorgar privilegios de objeto, realice estas tareas: 1. Seleccione el tipo de objeto. 2. Seleccione objetos. 3. Seleccione privilegios.
Copyright 2005, Oracle. Todos los derechos reservados.

Privilegios de Objeto Para otorgar privilegios de objeto, haga clic en el separador Object Privileges de la pgina Edit User. Seleccione el tipo de objeto para el que desea otorgar los privilegios y haga clic en el botn Add. Para seleccionar los objetos para los que desea otorgar privilegios, introduzca <nombre_usuario.nombre_objeto> o seleccinelos en la lista. A continuacin, seleccione los privilegios adecuados de la lista Available Privileges y haga clic en el botn Move. Cuando termine de seleccionar los privilegios, haga clic en OK. De nuevo en la pgina Edit User, active la casilla de control Grant si este usuario puede otorgar el mismo acceso a otros usuarios.

Base de Datos Oracle 10g: Taller de Administracin I 6-14

Oracle Internal & Oracle Academy Use Only

Revocacin de Privilegios del Sistema con ADMIN OPTION


DBA Jeff Emi Usuario

OTORGAR

Privilegio

REVOCAR

DBA

Jeff

Emi

REVOKE CREATE TABLE FROM jeff;

Copyright 2005, Oracle. Todos los derechos reservados.

Revocacin de Privilegios del Sistema Los privilegios del sistema, que se han otorgado directamente con un comando GRANT, se pueden revocar mediante la sentencia SQL REVOKE. Los usuarios con el privilegio del sistema ADMIN OPTION pueden revocar el privilegio de cualquier otro usuario de la base de datos. El usuario que lleva a cabo la revocacin no tiene que ser el mismo que inicialmente otorg el privilegio. No hay ningn efecto en cascada cuando se revoca un privilegio del sistema, independientemente de si se le aplica el privilegio ADMIN OPTION. Lea los siguientes pasos que ilustran este caso: Supuestos 1. El DBA otorga el privilegio del sistema CREATE TABLE a Jeff con ADMIN OPTION. 2. Jeff crea una tabla. 3. Jeff otorga el privilegio del sistema CREATE TABLE a Emi. 4. Emi crea una tabla. 5. El DBA revoca el privilegio del sistema CREATE TABLE a Jeff. Resultado La tabla de Jeff an existe, pero no se pueden crear nuevas tablas. La tabla de Emi an existe y todava posee el privilegio del sistema CREATE TABLE.
Base de Datos Oracle 10g: Taller de Administracin I 6-15

Oracle Internal & Oracle Academy Use Only

Objeto

Revocacin de Privilegios de Objeto con GRANT OPTION


Bob OTORGAR Jeff Emi

REVOCAR

Bob

Jeff

Emi

Copyright 2005, Oracle. Todos los derechos reservados.

Revocacin de Privilegios de Objeto Se pueden observar efectos en cascada cuando se revoca un privilegio del sistema relacionado con una operacin de lenguaje de manipulacin de datos (DML). Por ejemplo, si se otorga el privilegio SELECT ANY TABLE a un usuario y ese usuario ha creado procedimientos que utilizan la tabla, todos los procedimientos contenidos en el esquema del usuario se tienen que recompilar antes de que se puedan utilizar de nuevo. La revocacin de privilegios de objeto tambin produce efectos en cascada mediante WITH GRANT OPTION. Lea los siguientes pasos que ilustran este caso: Supuestos 1. A Jeff se le otorga el privilegio de objeto SELECT sobre EMPLOYEES con GRANT OPTION. 2. Jeff otorga el privilegio SELECT sobre EMPLOYEES a Emi. 3. A continuacin, a Jeff se le revoca el privilegio SELECT. Esta revocacin tiene un efecto en cascada y se aplica tambin a Emi.

Base de Datos Oracle 10g: Taller de Administracin I 6-16

Oracle Internal & Oracle Academy Use Only

Ventajas de los Roles


Usuario Autenticacin Privilegio > Rol Perfil Seguridad con Contrasea Cuota

Gestin de privilegios ms sencilla Gestin de privilegios dinmica Disponibilidad selectiva de privilegios

Copyright 2005, Oracle. Todos los derechos reservados.

Ventajas de los Roles Gestin de privilegios ms sencilla: Utilice roles para simplificar la gestin de privilegios. En lugar de otorgar el mismo juego de privilegios a varios usuarios, puede otorgar los privilegios a un rol y, a continuacin, otorgar dicho rol a cada usuario. Gestin de privilegios dinmica: Si se modifican los privilegios asociados a un rol, todos los usuarios a los que se haya otorgado dicho rol adquieren los privilegios modificados de forma automtica e inmediata. Disponibilidad selectiva de privilegios: Los roles se pueden activar o desactivar para activar o desactivar privilegios temporalmente. La activacin de un rol tambin se puede utilizar para verificar si se ha otorgado dicho rol a un usuario.

Base de Datos Oracle 10g: Taller de Administracin I 6-17

Oracle Internal & Oracle Academy Use Only

Asignacin de Privilegios a Roles y de Roles a Usuarios

Usuarios Jenny David Rachel

Privilegios

Suprimir empleados. Insertar empleados.

Seleccionar empleados.

Actualizar empleados.

Copyright 2005, Oracle. Todos los derechos reservados.

Asignacin de Privilegios a Roles y de Roles a Usuarios En la mayora de sistemas, se tarda demasiado en otorgar los privilegios necesarios a cada usuario de forma individual y hay muchas posibilidades de que se produzca un error. El software de Oracle permite una gestin de privilegios sencilla y controlada mediante roles. Los roles son grupos con nombre de privilegios relacionados que se otorgan a los usuarios o a otros roles. Los roles estn diseados para facilitar la administracin de privilegios en la base de datos y, por lo tanto, mejorar la seguridad. Caractersticas de los Roles Se otorgan y revocan privilegios de los roles como si el rol fuera un usuario. Se pueden otorgar y revocar roles de usuarios o de otros roles como si fueran privilegios del sistema. Un rol puede constar de privilegios del sistema y de objeto. Un rol se puede activar o desactivar para cada usuario al que se le otorgue dicho rol. Un rol puede necesitar la activacin de una contrasea. Los roles no son propiedad de nadie y no estn en ningn esquema. En el ejemplo de la diapositiva, al rol HR_CLERK se le otorgan privilegios SELECT y UPDATE en la tabla employees. Al rol HR_MGR se le otorgan los privilegios DELETE e INSERT en la tabla employees y el rol HR_CLERK. Se otorga el rol HR_MGR al superior y ste puede ahora realizar selecciones, supresiones, inserciones y actualizaciones en la tabla employees.
Base de Datos Oracle 10g: Taller de Administracin I 6-18

Oracle Internal & Oracle Academy Use Only

Roles

HR_MGR

Roles Predefinidos
CONNECT
RESOURCE

CREATE SESSION
CREATE CLUSTER, CREATE INDEXTYPE, CREATE OPERATOR, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TABLE, CREATE TRIGGER, CREATE TYPE

DBA

Tiene la mayora de privilegios del sistema, otros muchos roles. No otorgar a usuarios que no sean administradores. No tiene privilegios del sistema, pero s HS_ADMIN_ROLE y ms de 1.700 privilegios de objeto en el diccionario de datos

SELECT_ CATALOG_ ROLE

Copyright 2005, Oracle. Todos los derechos reservados.

Roles Predefinidos Existen varios roles definidos automticamente para bases de datos Oracle al ejecutar los archivos de comandos de creacin de bases de datos. CONNECT se otorga automticamente a cualquier usuario creado con Enterprise Manager. En versiones anteriores de la base de datos (antes de la base de datos Oracle 10g Versin 2), el rol CONNECT inclua ms privilegios, como CREATE TABLE y CREATE DATABASE LINK, que se han eliminado por motivos de seguridad. Nota: Tenga en cuenta que al otorgar el rol RESOURCE tambin se otorga el privilegio UNLIMITED TABLESPACE. Roles Funcionales Se crean otros roles que le autorizan a administrar funciones especiales, cuando se instala esta funcin. Por ejemplo, XDBADMIN contiene los privilegios necesarios para administrar la base de datos XML (Extensible Markup Language) si esta funcin est instalada. AQ_ADMINISTRATOR_ROLE proporciona privilegios para administrar el servicio de gestin de colas avanzada. HS_ADMIN_ROLE incluye los privilegios necesarios para administrar servicios heterogneos. No debe modificar los privilegios otorgados a estos roles funcionales sin la ayuda de los Servicios de Soporte Oracle porque podra desactivar involuntariamente funciones necesarias.

Base de Datos Oracle 10g: Taller de Administracin I 6-19

Oracle Internal & Oracle Academy Use Only

SCHEDULER_ ADMIN

CREATE ANY JOB, CREATE EXTERNAL JOB, CREATE JOB, EXECUTE ANY CLASS, EXECUTE ANY PROGRAM, MANAGE SCHEDULER

Creacin de un Rol

Seleccionar Administration > Schema > Users & Privileges > Roles.
Copyright 2005, Oracle. Todos los derechos reservados.

Creacin de un Rol Un rol es un grupo con nombre de privilegios relacionados que se otorgan a los usuarios o a otros roles. Un DBA gestiona los privilegios mediante roles. Para crear un rol, realice los siguientes pasos: 1. En Enterprise Manager Database Control, seleccione Administration > Schema > Users & Privileges > Roles. 2. Haga clic en el botn Create.

Base de Datos Oracle 10g: Taller de Administracin I 6-20

Oracle Internal & Oracle Academy Use Only

Roles Seguros
Los roles pueden no ser roles por defecto.
SET ROLE vacationdba;

Los roles se pueden proteger mediante la autenticacin.

Los roles tambin se pueden proteger mediante programacin.


CREATE ROLE secure_application_role IDENTIFIED USING <nombre_procedimiento_seguridad>;

Copyright 2005, Oracle. Todos los derechos reservados.

Roles Seguros Los roles se suelen activar por defecto, lo que significa que si un rol se otorga a un usuario, dicho usuario puede ejercer los privilegios asignados al rol. Es posible: Hacer que un rol no sea por defecto. Cuando el rol se otorga a un usuario, desactive la casilla de control DEFAULT. El usuario debe ahora activar explcitamente el rol para poder ejercer los privilegios de dicho rol. Exigir la autenticacin adicional de un rol. La autenticacin por defecto de un rol es None, pero es posible exigir la autenticacin adicional del rol para poder definirlo. Crear roles de aplicacin seguros que se puedan activar slo mediante la ejecucin correcta de un procedimiento PL/SQL. El procedimiento PL/SQL puede comprobar varias cosas como, por ejemplo, la direccin de red del usuario, qu programa est ejecutando el usuario, la hora del da o cualquier otro elemento necesario para proteger de forma adecuada un grupo de permisos.

Base de Datos Oracle 10g: Taller de Administracin I 6-21

Oracle Internal & Oracle Academy Use Only

Asignacin de Roles a Usuarios

Copyright 2005, Oracle. Todos los derechos reservados.

Asignacin de Roles a Usuarios Un rol es un juego de privilegios que se pueden otorgar a usuarios o a otros roles. Puede utilizar los roles para administrar privilegios de base de datos. Puede agregar privilegios a un rol y, a continuacin, otorgar dicho rol a un usuario. El usuario puede activar el rol y ejercer los privilegios otorgados por el mismo. Un rol contiene todos los privilegios otorgados a dicho rol y todos los privilegios de otros roles que se le hayan asignado. Por defecto, Enterprise Manager otorga automticamente el rol CONNECT a los usuarios nuevos. De esta forma, los usuarios se pueden conectar a la base de datos y crear objetos de base de datos en sus propios esquemas. Para asignar un rol a un usuario, realice los siguientes pasos: 1. En Enterprise Manager Database Control, seleccione Administration > Schema > Users & Privileges > Users. 2. Seleccione el usuario y haga clic en el botn Edit. 3. Haga clic en el separador Roles y, a continuacin, en el botn Edit List. 4. Seleccione el rol deseado en Available Roles y muvalo hasta Selected Roles. 5. Cuando haya asignado todos los roles adecuados, haga clic en el botn OK.

Base de Datos Oracle 10g: Taller de Administracin I 6-22

Oracle Internal & Oracle Academy Use Only

Perfiles y Usuarios

Usuario Autenticacin Privilegio Rol > Perfil Seguridad con Contrasea Cuota

A los usuarios slo se les asigna un perfil en un momento determinado.

Copyright 2005, Oracle. Todos los derechos reservados.

Perfiles y Usuarios Los perfiles imponen un juego con nombre de lmites de recursos en cuanto al uso de la base de datos y de los recursos de la instancia. Los perfiles tambin gestionan el estado de las cuentas y establecen limitaciones en cuanto a las contraseas de usuarios (longitud, fecha de vencimiento, etc.). Cada uno de los usuarios se asigna a un perfil y puede pertenecer slo a un perfil en un momento determinado. Si los usuarios ya se han conectado cuando cambia su perfil, el cambio no se aplica hasta la siguiente conexin. El perfil por defecto sirve como base para todos los dems perfiles. Como se ilustra en la diapositiva, las limitaciones para un perfil pueden estar especificadas implcitamente (como en CPU/Session), ser ilimitadas (como en CPU/Call) o hacer referencia al valor del perfil por defecto (como en Connect Time). Los perfiles no pueden imponer limitaciones de recursos a los usuarios a menos que el parmetro de inicializacin RESOURCE_LIMIT est definido en TRUE. Si RESOURCE_LIMIT tiene su valor por defecto FALSE, se ignoran las limitaciones del perfil. Los perfiles permiten al administrador controlar los siguientes recursos del sistema: CPU: Los recursos de CPU pueden estar limitados por sesin o por llamada. Una limitacin de CPU/Session de 1.000 significa que si una sesin concreta que utiliza este perfil consume ms de 10 segundos de tiempo de CPU (las limitaciones de tiempo de CPU se miden en centsimas de segundo), dicha sesin recibe un error y se desconecta:
ORA-02392: exceeded session limit on CPU usage, you are being logged off Base de Datos Oracle 10g: Taller de Administracin I 6-23

Oracle Internal & Oracle Academy Use Only

Perfiles: Controlan el consumo de recursos Gestionan el estado de las cuentas y el vencimiento de las contraseas

Perfiles y Usuarios (continuacin) Una limitacin por llamada tiene el mismo efecto, pero en lugar de limitar la sesin general del usuario, evita que cualquier comando individual consuma demasiada CPU. Si CPU/Call est limitada y el usuario supera la limitacin, se abortar el comando y el usuario obtendr un mensaje de error como el siguiente:
ORA-02393: exceeded call limit on CPU usage

Los perfiles tambin permiten un lmite compuesto. Los lmites compuestos se basan en una combinacin ponderada de CPU/Session, Reads/Session, Connect Time y Private SGA. Los lmites compuestos se tratan ms detalladamente en Oracle Database Security Guide. Para crear un perfil, seleccione Administration > Schema > Users & Privileges > Profiles y haga clic en el botn Create. Nota: El Gestor de Recursos es una alternativa para muchos de los valores de perfil. Para obtener ms informacin sobre el Gestor de Recursos, consulte Oracle Database Administrators Guide.

Base de Datos Oracle 10g: Taller de Administracin I 6-24

Oracle Internal & Oracle Academy Use Only

Red/Memoria: Cada sesin de base de datos consume recursos de memoria del sistema y (si la sesin es desde un usuario no local al servidor) recursos de red. Puede especificar lo siguiente: - Connect Time: Indica cuntos minutos puede estar conectado un usuario antes de que se le desconecte automticamente. - Idle Time: Indica cuntos minutos puede permanecer inactiva la sesin de un usuario antes de que se le desconecte automticamente. El tiempo de inactividad se calcula slo para el proceso de servidor. No tiene en cuenta la actividad de la aplicacin. El lmite IDLE_TIME no se ve afectado por consultas de larga duracin ni otras operaciones. - Concurrent Sessions: Indica cuntas sesiones simultneas se pueden crear mediante una cuenta de usuario de base de datos - Private SGA: Limita la cantidad de espacio consumido en el rea Global del Sistema (SGA) para ordenacin, fusin de bitmaps, etc. Esta restriccin slo tiene efecto si la sesin utiliza un servidor compartido. (Los servidores compartidos se tratan en la leccin titulada Configuracin del Entorno de Red de Oracle.) E/S de disco: Limita la cantidad de datos que un usuario puede leer en el nivel de sesin o de llamada. Reads/Session y Reads/Call ponen una limitacin en el nmero total de lecturas de la memoria y del disco. Esto se puede llevar a cabo para asegurarse de que ninguna sentencia que genere mucha entrada/salida (E/S) utilice demasiada memoria o discos.

Implementacin de las Funciones de Seguridad con Contrasea

Usuario Autenticacin Privilegio Rol Perfil > Seguridad con Contrasea Cuota

Historial de contraseas

Verificacin de la complejidad de las contraseas

Usuario Antigedad y vencimiento de contraseas Bloqueo de cuentas

Configuracin de perfiles

Nota: No utilice perfiles que provoquen el vencimiento de las contraseas SYS, SYSMAN, y DBSNMP y el bloqueo de las cuentas.
Copyright 2005, Oracle. Todos los derechos reservados.

Implementacin de las Funciones de Seguridad con Contrasea La gestin de contraseas de Oracle se implementa con perfiles de usuario. Los perfiles pueden proporcionar varias funciones estndar de seguridad, incluidas las siguientes: Bloqueo de cuentas: Permite el bloqueo automtico de cuentas durante un perodo definido cuando los usuarios no han podido conectarse al sistema en el nmero especificado de intentos. Los parmetros FAILED_LOGIN_ATTEMPTS especifican el nmero de intentos fallidos de conexin antes del bloqueo de la cuenta. El parmetro PASSWORD_LOCK_TIME especifica el nmero de das que se bloquear la cuenta tras un nmero concreto de intentos fallidos de conexin. Antigedad y vencimiento de contraseas: Permite a las contraseas de usuario tener una duracin concreta, tras la cual vencen y se deben cambiar. El parmetro PASSWORD_LIFE_TIME determina la duracin en das tras la que vencer la contrasea. El parmetro PASSWORD_GRACE_TIME especifica un perodo de gracia en das para cambiar la contrasea despus de la primera conexin correcta una vez que haya vencido la contrasea. Nota: El vencimiento de las contraseas y el bloqueo de las cuentas SYS, SYSMAN, y DBSNMP impiden que Enterprise Manager funcione adecuadamente. Las aplicaciones deben detectar el mensaje de advertencia de contrasea vencida y manejar el cambio de contrasea. De lo contrario, el perodo de gracia vence y se bloquea el usuario sin que este sepa la razn.
Base de Datos Oracle 10g: Taller de Administracin I 6-25

Oracle Internal & Oracle Academy Use Only

Implementacin de las Funciones de Seguridad con Contrasea (continuacin) Historial de contraseas: Comprueba la nueva contrasea para garantizar que sta no se vuelve a utilizar durante un perodo especificado o un nmero concreto de cambios de contrasea. Estas comprobaciones se pueden implementar de una de las siguientes formas: PASSWORD_REUSE_TIME: Especifica que un usuario no puede volver a utilizar una contrasea durante un nmero de das determinado. PASSWORD_REUSE_MAX: Especifica el nmero de cambios de contrasea necesarios antes de que se pueda volver a utilizar la contrasea actual. Estos dos parmetros se excluyen mutuamente, por lo que cuando uno de los parmetros se define en un valor que no sea UNLIMITED (o DEFAULT si el valor del perfil DEFAULT est definido en UNLIMITED), el otro parmetro se debe definir en UNLIMITED.

parmetro PASSWORD_VERIFY_FUNCTION asigna una funcin PL/SQL que realiza una comprobacin de la complejidad de las contraseas antes de asignar una. Las funciones de verificacin de contraseas deben ser propiedad del usuario SYS y deben devolver un valor booleano (TRUE o FALSE).

Base de Datos Oracle 10g: Taller de Administracin I 6-26

Oracle Internal & Oracle Academy Use Only

Verificacin de la complejidad de las contraseas: Realiza una comprobacin de la complejidad de la contrasea para verificar que cumple determinadas reglas. La comprobacin se debe asegurar que la contrasea es lo suficientemente compleja para proporcionar proteccin contra intrusos que puedan intentar entrar en el sistema adivinando la contrasea. El

Creacin de un Perfil de Contrasea

Copyright 2005, Oracle. Todos los derechos reservados.

Creacin de un Perfil de Contrasea Para crear un perfil de contrasea, seleccione Administration > Schema > Users & Privileges > Profiles y haga clic en el botn Create. Se pueden seleccionar de una lista los valores comunes para cada una de las opciones (haga clic en el icono de linterna para examinar) o bien puede introducir un valor personalizado. Todos los perodos de tiempo estn expresados en das, pero tambin se pueden expresar como fracciones. Hay 1.440 minutos en un da, por lo tanto 5/1440 son cinco minutos. Enterprise Manager tambin se puede utilizar para editar perfiles de contrasea existentes. Borrado de un Perfil de Contrasea En Enterprise Manager, no se puede borrar un perfil utilizado por usuarios. Sin embargo, si borra un perfil con la opcin CASCADE (en SQL*Plus, por ejemplo), a todos los usuarios con ese perfil se les asigna de forma automtica el perfil DEFAULT.

Base de Datos Oracle 10g: Taller de Administracin I 6-27

Oracle Internal & Oracle Academy Use Only

Funcin de Verificacin de Contraseas Proporcionadas: VERIFY_FUNCTION


La funcin de verificacin de contraseas proporcionadas aplica las siguientes restricciones de contrasea: La longitud mnima es de cuatro caracteres. La contrasea no puede ser igual que el nombre de usuario. La contrasea debe tener al menos un carcter alfabtico, uno numrico y uno especial. La contrasea debe ser diferente de la contrasea anterior en al menos tres letras. Consejo: Utilice esta funcin como plantilla para crear su propia verificacin de contraseas personalizada.

Copyright 2005, Oracle. Todos los derechos reservados.

Funcin de Verificacin de Contraseas Proporcionadas: VERIFY_FUNCTION El servidor de Oracle proporciona una funcin de verificacin de la complejidad de las contraseas denominada VERIFY_FUNCTION. Esta funcin se crea con el archivo de comandos <oracle_home>/rdbms/admin/utlpwdmg.sql. La funcin de verificacin de la complejidad de las contraseas se debe crear en el esquema SYS. Se puede utilizar como plantilla para su verificacin de contraseas personalizada. Adems de crear VERIFY_FUNCTION, el archivo de comandos utlpwdmg tambin cambia el perfil DEFAULT con el siguiente comando ALTER PROFILE:
ALTER PROFILE default LIMIT PASSWORD_LIFE_TIME 60 PASSWORD_GRACE_TIME 10 PASSWORD_REUSE_TIME 1800 PASSWORD_REUSE_MAX UNLIMITED FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 1/1440 PASSWORD_VERIFY_FUNCTION verify_function;

Recuerde que cuando se crean usuarios, se les asigna el perfil DEFAULT a menos que se especifique otro.

Base de Datos Oracle 10g: Taller de Administracin I 6-28

Oracle Internal & Oracle Academy Use Only

Asignacin de Cuota a Usuarios

Usuario Autenticacin Privilegio Rol Perfil Seguridad con Contrasea > Cuota

Se debe asignar una cuota a los usuarios que no tienen el privilegio del sistema UNLIMITED TABLESPACE para que puedan crear objetos en un tablespace. Las cuotas pueden ser: Un valor concreto en megabytes o kilobytes Ilimitadas

Copyright 2005, Oracle. Todos los derechos reservados.

Asignacin de Cuota a Usuarios La cuota es un espacio asignado en un tablespace determinado. Por defecto, un usuario no tiene ninguna cuota en ningn tablespace. Dispone de tres opciones para proporcionar una cuota de usuario en un tablespace. Unlimited: Permite al usuario utilizar todo el espacio disponible en el tablespace. Value: Es un nmero de kilobytes o megabytes que el usuario puede utilizar. Esto no garantiza que el espacio se reserve para el usuario. Este valor puede ser mayor o menor que el espacio actual disponible en el tablespace. Privilegio del sistema UNLIMITED TABLESPACE: Este privilegio del sistema sustituye a todas las cuotas de tablespace individuales y proporciona al usuario una cuota ilimitada en todos los tablespaces, incluidos SYSTEM y SYSAUX. Este privilegio se debe otorgar con cautela. Nota: Tenga en cuenta que al otorgar el rol RESOURCE tambin se otorga este privilegio. No debe proporcionar cuota a los usuarios en el tablespace SYSTEM o SYSAUX. Normalmente, slo los usuarios SYS y SYSTEM deben poder crear objetos en el tablespace SYSTEM o SYSAUX. No necesita cuota en un tablespace temporal asignado ni en ningn tablespace de deshacer.

Base de Datos Oracle 10g: Taller de Administracin I 6-29

Oracle Internal & Oracle Academy Use Only

Asignacin de Cuota a Usuarios (continuacin) Cundo utiliza cuotas la instancia de Oracle? Las cuotas se utilizan cuando un usuario crea o ampla un segmento. Qu actividades no cuentan para la cuota? Las actividades que no utilizan espacio en el tablespace asignado no afectan a la cuota, como la creacin de vistas o el uso de tablespaces temporales. Cundo se repone una cuota? La cuota se repone cuando los objetos propiedad del usuario se borran con la clusula PURGE o los objetos de la papelera de reciclaje se depuran automticamente.

Base de Datos Oracle 10g: Taller de Administracin I 6-30

Oracle Internal & Oracle Academy Use Only

Resumen

En esta leccin, debe haber aprendido lo siguiente: Crear y gestionar cuentas de usuario de base de datos

Otorgar y revocar privilegios Crear y gestionar roles Crear y gestionar perfiles


Implementar funciones estndar de seguridad con contrasea Controlar el uso de recursos por los usuarios
Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 6-31

Oracle Internal & Oracle Academy Use Only

Autenticar usuarios Asignar reas de almacenamiento por defecto (tablespaces)

Visin General de la Prctica: Administracin de Usuarios


En esta prctica se abordan los siguientes temas: Creacin de un perfil para limitar el consumo de recursos Creacin de dos roles:

Creacin de cuatro usuarios nuevos:


Un superior y dos oficinistas Un usuario de esquema para la prxima sesin prctica

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 6-32

Oracle Internal & Oracle Academy Use Only

HRCLERK HRMANAGER

Gestin de Objetos de Esquema


Oracle Internal & Oracle Academy Use Only

Copyright 2005, Oracle. Todos los derechos reservados.

Objetivos

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 7-2

Oracle Internal & Oracle Academy Use Only

Al finalizar esta leccin, debera estar capacitado para lo siguiente: Definir objetos de esquema y tipos de dato Crear y modificar tablas Definir restricciones Visualizar las columnas y el contenido de una tabla Crear ndices Crear vistas Crear secuencias Explicar el uso de tablas temporales Usar el diccionario de datos

Qu es un Esquema?

> Esquema Restricciones ndices Vistas Secuencias Tablas Temporales Diccionario de Datos

propietario de

Esquema HR

Usuario HR

Copyright 2005, Oracle. Todos los derechos reservados.

Qu es un Esquema? Un esquema es una recopilacin de objetos de base de datos propiedad de un usuario en particular. Normalmente, en una base de datos de produccin, este usuario no representa una persona, sino una aplicacin. Un esquema tiene el mismo nombre que el usuario propietario del esquema. Los objetos de esquema son estructuras lgicas que hacen referencia directa a datos de la base de datos. Los objetos de esquema incluyen estructuras como tablas, vistas e ndices. Puede crear y manipular objetos de esquema mediante SQL o Enterprise Manager. Cuando utiliza Enterprise Manager, el SQL subyacente se genera automticamente. Nota: Un esquema no tiene que estar relacionado necesariamente de forma directa con un tablespace. Puede definir configuraciones de modo que los objetos de un esquema puedan estar en diferentes tablespaces, y un tablespace pueda contener objetos de diferentes esquemas.

Base de Datos Oracle 10g: Taller de Administracin I 7-3

Oracle Internal & Oracle Academy Use Only

Qu es un Esquema? (continuacin) Al crear la base de datos, se crean automticamente varios esquemas. Hay dos de especial importancia: Esquema SYS: Contiene el diccionario de datos, como se describe en la seccin titulada Administracin de Seguridad del Usuario. Esquema SYSTEM: Contiene tablas y vistas adicionales en las que se almacena informacin administrativa. Se describe en la leccin titulada Administracin de Seguridad del Usuario. Durante una instalacin completa de una base de datos Oracle, se instalan automticamente esquemas de ejemplo. Los esquemas de ejemplo sirven para proporcionar una plataforma comn para ejemplos de la documentacin y el plan de estudios de Oracle. Son un juego de esquemas entrelazados destinados a proporcionar ejemplos de diferentes niveles de complejidad e incluyen lo siguiente: HR: El esquema Human Resources es un esquema sencillo para introducir temas bsicos. Una extensin de este esquema da soporte a las demostraciones de Oracle Internet Directory. OE: El esquema Order Entry se emplea en asuntos de complejidad intermedia. Hay una gran variedad de tipos de dato disponibles en el esquema OE. El subesquema OC (Online Catalog) es una recopilacin de objetos de base de datos objeto-relacional incorporados en el esquema OE. PM: El esquema Product Media est dedicado a tipos de dato multimedia. QS: El esquema Queued Shipping contiene un juego de esquemas que se utilizan para demostrar las capacidades de Oracle Advanced Queuing. SH: El esquema Sales History permite demostraciones con cantidades mayores de datos. Una extensin de este esquema proporciona soporte para el procesamiento analtico avanzado.

Base de Datos Oracle 10g: Taller de Administracin I 7-4

Oracle Internal & Oracle Academy Use Only

Acceso a Objetos de Esquema

Copyright 2005, Oracle. Todos los derechos reservados.

Acceso a Objetos de Esquema Puede acceder rpidamente a varios tipos de objetos de esquema desde la regin Schema de la pgina Database Administration. Despus de hacer clic en uno de los enlaces, se mostrar la pgina Results. En la regin Search de la pgina, puede introducir un nombre de esquema y un nombre de objeto para buscar un objeto concreto. Adems, puede buscar otros tipos de objetos en la regin Search seleccionando el tipo de objeto en la lista desplegable. La lista desplegable incluye tipos de objetos adicionales que no se muestran como enlaces en la pgina Database Administration.

Base de Datos Oracle 10g: Taller de Administracin I 7-5

Oracle Internal & Oracle Academy Use Only

Nomenclatura de Objetos de Base de Datos

Los nombres deben tener de 1 a 30 bytes de longitud con las siguientes excepciones:
Los nombres de bases de datos se limitan a 8 bytes. Los nombres de enlaces de base de datos pueden tener hasta 128 bytes de longitud.

Los nombres sin entrecomillar no pueden ser palabras reservadas de Oracle. Los nombres sin entrecomillar deben empezar por un carcter alfabtico del juego de caracteres de la base de datos. No se recomiendan nombres entre comillas.
Copyright 2005, Oracle. Todos los derechos reservados.

Nomenclatura de Objetos de Base de Datos Al asignar un nombre a un objeto de la base de datos, puede introducir el nombre con comillas dobles (). Si lo hace, puede romper varias reglas de nomenclatura mencionadas en la diapositiva. Sin embargo, no se recomienda esta operacin porque si asigna un nombre a un objeto de esta forma, siempre debe hacer referencia a l con el nombre entre comillas. Por ejemplo, si asigna a una tabla el nombre Local Temp, debe realizar lo siguiente:
SQL> select * from "Local Temp"; TEMP_DATE LO_TEMP HI_TEMP --------- ---------- ---------01-DEC-03 30 41

Si no introduce adecuadamente el nombre en maysculas o minsculas, recibir un error:


SQL> select * from "local temp"; select * from "local temp" * ERROR at line 1: ORA-00942: table or view does not exist

Los nombres sin entrecomillar se almacenan en mayscula y no son sensibles a maysculas/minsculas. Cuando se procesa una sentencia SQL, los nombres sin entrecomillar se convierten a maysculas.
Base de Datos Oracle 10g: Taller de Administracin I 7-6

Oracle Internal & Oracle Academy Use Only

Nomenclatura de Objetos de Base de datos (continuacin) Los identificadores sin entrecomillar slo pueden incluir caracteres alfanumricos del juego de caracteres de la base de datos y el carcter de subrayado (_), el signo del dlar ($) y el signo de almohadilla numrica (#). Los enlaces de base de datos tambin pueden contener puntos (.) y el signo de arroba (@). No se recomienda el uso de $ y # en identificadores sin entrecomillar. Los identificadores entre comillas pueden incluir cualquier carcter y signo de puntuacin, as como espacios. Sin embargo, ni los identificadores entre comillas ni los sin entrecomillar pueden contener comillas dobles.

Base de Datos Oracle 10g: Taller de Administracin I 7-7

Oracle Internal & Oracle Academy Use Only

Especificacin de Tipos de Dato en Tablas


Tipos de dato comunes: CHAR(size [BYTE|CHAR]): Datos de tipo carcter de longitud fija en bytes o caracteres especificada por size VARCHAR2(size [BYTE|CHAR]): Cadena de caracteres de longitud variable con una longitud mxima en bytes o caracteres especificada por size DATE: Rango de fechas vlido del 1 de enero de 4712 AC hasta el 31 de diciembre de 9999 DC NUMBER(p,s): Nmero con precisin p y escala s

Copyright 2005, Oracle. Todos los derechos reservados.

Especificacin de Tipos de Dato en Tablas Al crear una tabla, debe especificar un tipo de dato para cada una de sus columnas. Al crear un procedimiento o funcin, debe especificar un tipo de dato para cada uno de sus argumentos. Estos tipos de dato definen el dominio de valores que puede incluir cada columna o que puede tener cada argumento. Entre los tipos de dato incorporados en la base de datos Oracle se incluyen los siguientes: CHAR: Datos de tipo carcter de longitud fija en bytes o caracteres especificada por size. El tamao mximo es 2.000 bytes o caracteres, y el tamao por defecto y mnimo es 1 byte. - BYTE indica que la semntica de la columna es de longitud en byte. - CHAR indica que la semntica de la columna es de caracteres. VARCHAR2: Cadena de caracteres de longitud variable con una longitud en bytes o caracteres especificada por size. El tamao mximo es 4.000 bytes. Debe especificar el tamao para VARCHAR2. DATE: Rango de fechas vlido del 1 de enero de 4712 AC hasta el 31 de diciembre de 9999 DC. Tambin almacena el tiempo: horas, minutos y segundos. NUMBER: Nmero que tiene precisin p y escala s. El rango de precisin es de 1 a 38. El rango de escala es de -84 a 127.

Base de Datos Oracle 10g: Taller de Administracin I 7-8

Oracle Internal & Oracle Academy Use Only

Especificacin de Tipos de Dato en Tablas (continuacin) BINARY_FLOAT: Es un nmero de coma flotante de 32 bits. Este tipo de dato necesita 5 bytes, incluido el byte de longitud. BINARY_DOUBLE: Es un nmero de coma flotante de 64 bits. Este tipo de dato necesita 9 bytes. FLOAT(p): Es un tipo de dato ANSI (American National Standards Institute). El tipo de dato FLOAT es un nmero de coma flotante con precisin p binaria. La precisin por defecto para este tipo de dato es 126 binaria o 38 decimal. INTEGER: Equivale a NUMBER(p,0). NCHAR(length): El tipo de dato NCHAR es slo Unicode. Cuando crea una tabla con una columna NCHAR, define la longitud de la columna en caracteres. El juego de caracteres nacional se define al crear la base de datos. La longitud mxima de una columna viene determinada por la definicin del juego de caracteres nacional. Las especificaciones de ancho del tipo de dato NCHAR hacen referencia al nmero de caracteres. El tamao mximo de columna permitido es 2.000 bytes. Si inserta un valor menor que la longitud de columna, la base de datos Oracle rellena en blanco el valor hasta alcanzar la longitud de la columna. No puede insertar un valor CHAR en una columna NCHAR, ni insertar un valor NCHAR en una columna CHAR. NVARCHAR2(size [BYTE|CHAR]): El tipo de dato NVARCHAR2 es slo Unicode. Es como NCHAR, excepto en que la longitud mxima es 4.000 bytes y que no se rellena en blanco. LONG: Es un dato de carcter de longitud variable, hasta 2 GB o 231 -1 bytes. El tipo de dato LONG est obsoleto; utilice en su lugar el tipo de dato de objeto grande (LOB). LONG RAW: Son datos binarios raw de longitud variable, hasta 2 GB. RAW(size): Son datos binarios raw con una longitud en bytes especificada por size. El tamao mximo es 2.000 bytes. Debe especificar el tamao para un valor RAW. ROWID: Es una cadena de base 64 que representa la direccin nica de una fila en su tabla correspondiente. Este tipo de dato es principalmente para valores devueltos por la pseudocolumna ROWID. UROWID: Es una cadena de base 64 que representa la direccin lgica de una fila de una tabla organizada por ndices. El tamao opcional es el de una columna de tipo UROWID. El tamao mximo y por defecto es 4.000 bytes. BLOB: Es un objeto grande binario. CLOB: Es un objeto grande de caracteres que contiene caracteres de un solo byte o multibyte. Se soportan los juegos de caracteres de ancho fijo y variable y ambos utilizan el juego de caracteres de la base de datos CHAR.

Base de Datos Oracle 10g: Taller de Administracin I 7-9

Oracle Internal & Oracle Academy Use Only

Para obtener una lista completa de los tipos de dato incorporados y los tipos definidos por el usuario, consulte Oracle Database SQL Reference.

Base de Datos Oracle 10g: Taller de Administracin I 7-10

Oracle Internal & Oracle Academy Use Only

Especificacin de Tipos de Dato en Tablas (continuacin) NCLOB: Es un objeto grande de caracteres que contiene caracteres Unicode. Se soportan los juegos de caracteres de ancho fijo y variable y ambos utilizan el juego de caracteres de la base de datos NCHAR. Almacena datos del juego de caracteres nacional. Nota: El tamao mximo para todos los tipos de dato LOB (BLOB, CLOB y NCLOB) es: (4 GB - 1) * (el valor de CHUNK). CHUNK es un atributo opcional que se puede establecer al definir un LOB. Especifica el nmero de bytes que se van a asignar para la manipulacin de LOB. Si el tamao no es un mltiplo del tamao del bloque de base de datos, la base de datos redondea en bytes hasta el siguiente mltiplo. Por ejemplo, si el tamao del bloque de base de datos es 2.048 y el tamao de CHUNK es 2.050, la base de datos asigna 4.096 bytes (2 bloques). El valor mximo es 32.768 (32 K), que es el mayor tamao del bloque de base de datos Oracle permitido. El tamao de CHUNK por defecto es un bloque de base de datos Oracle. BFILE: El tipo de dato BFILE contiene un localizador a un archivo binario grande almacenado fuera de la base de datos. Permite el acceso de E/S de flujo de bytes a LOB externos que residen en el servidor de bases de datos. El tamao mximo es 4 GB. TIMESTAMP(fractional_seconds_precision): Con este tipo de dato, puede especificar los valores de fecha (ao, mes y da), as como los valores de tiempo (hora, minuto y segundo), donde fractional_seconds_precision es el nmero de dgitos en la parte fraccional de un segundo. Los valores aceptados son 0 y 9. El valor por defecto es 6.

Creacin y Modificacin de Tablas

Especificar el nombre de la tabla y el esquema.

Copyright 2005, Oracle. Todos los derechos reservados.

Creacin y Modificacin de Tablas Las tablas son las unidades bsicas de almacenamiento de datos en una base de datos Oracle. Contienen todos los datos a los que pueden acceder los usuarios. Cada tabla tiene columnas y filas. Creacin de una Tabla Para crear una tabla mediante Enterprise Manager, realice los siguientes pasos: 1. Haga clic en Tables en la regin Schema de la pgina Administration. Aparecer la pgina Tables. 2. Si conoce el nombre del esquema, introdzcalo completo o en parte en el campo Schema de la regin Search. Si no sabe el nombre del esquema, haga clic en el icono de linterna situado junto al campo Schema. Aparecer la ventana Search and Select: Schema. Puede examinar los nombres de esquema y seleccionar el que est buscando. 3. Haga clic en Create. Aparecer la pgina Create Table: Table Organization. 4. Acepte el valor por defecto Standard, Heap Organized haciendo clic en Continue. Aparecer la pgina Create Table. 5. Introduzca el nombre de la tabla en el campo Name. 6. Introduzca el nombre del esquema en el campo Schema o haga clic en el icono de linterna para llamar a la funcin de bsqueda.

Base de Datos Oracle 10g: Taller de Administracin I 7-11

Oracle Internal & Oracle Academy Use Only

Especificar los nombres de columna, los tipos de dato y las longitudes.

Creacin y Modificacin de Tablas (continuacin) 7. Introduzca el nombre del tablespace en el campo Tablespace o haga clic en el icono de linterna para llamar a la funcin de bsqueda. 8. En la regin Columns, introduzca el nombre de columna y los tipos de dato. 9. Haga clic en OK. Aparecer un mensaje de actualizacin que indica que la tabla se ha creado correctamente. Modificacin de una Tabla Puede modificar una tabla con Enterprise Manager tal como se describe en los pasos siguientes. En este ejemplo, se agrega una columna a la tabla. 1. En la pgina Tables, seleccione la tabla en la lista de resultados y haga clic en Edit. 2. En la pgina Edit Table, haga clic en el botn Add 5 Table Columns. Aparecer una lista de columnas editables. 3. Introduzca el nombre de columna, el tipo de dato y el tamao. 4. Haga clic en Apply. Aparecer un mensaje de actualizacin que indica que la tabla se ha modificado correctamente.

Base de Datos Oracle 10g: Taller de Administracin I 7-12

Oracle Internal & Oracle Academy Use Only

Descripcin de la Integridad de los Datos

Esquema > Restricciones ndices Vistas Secuencias Tablas Temporales Diccionario de Datos

JOB_HISTORY
EMPLOYEE_ID (PK,FK) START_DATE (PK) END_DATE JOB_ID (FK) DEPARTMENT_ID (FK)

DEPARTMENTS EMPLOYEES
EMPLOYEE_ID (PK) FIRST_NAME LAST_NAME EMAIL PHONE_NUMBER HIRE_DATE JOB_ID (FK) SALARY COMMISION_PCT MANAGER_ID (FK) DEPARTMENT_ID (FK) DEPARTMENT_ID (PK) DEPARTMENT_NAME MANAGER_ID LOCATION_ID (FK)

LOCATIONS
LOCATION_ID (PK) STREET_ADDRESS POSTAL_CODE CITY STATE_PROVINCE COUNTRY_ID (FK)

COUNTRIES JOBS
JOB_ID (PK) JOB_TITLE MIN_SALARY MAX_SALARY COUNTRY_ID (PK) COUNTRY_NAME REGION_ID (FK)

REGIONS
REGION_ID (PK) REGION_NAME

Copyright 2005, Oracle. Todos los derechos reservados.

Descripcin de la Integridad de los Datos Puede utilizar las siguientes restricciones de integridad para imponer limitaciones en la entrada de valores de columna: NOT NULL: Por defecto, todas las columnas de una tabla permiten valores nulos. Nulo significa la ausencia de un valor. Una restriccin NOT NULL necesita que una columna de una tabla no contenga ningn valor nulo. Por ejemplo, puede definir una restriccin NOT NULL para exigir que se introduzca un valor en la columna LAST_NAME de todas las filas de la tabla EMPLOYEES. Clave UNIQUE: Una restriccin de integridad de clave UNIQUE necesita que todos los valores de una columna o juego de columnas (clave) sean nicos; es decir, que no haya dos filas de una tabla con valores duplicados en una columna o juego de columnas concreto. Por ejemplo, se define una restriccin de clave UNIQUE en la columna DEPARTMENT_NAME de la tabla DEPARTMENTS para no permitir filas con nombres de departamento duplicados. Salvo en casos especiales, esta restriccin se aplica con un ndice nico. PRIMARY KEY: Todas las tablas de la base de datos pueden tener como mximo una restriccin PRIMARY KEY. Los valores del grupo de una o ms columnas sujetas a esta restriccin constituyen el identificador nico de la fila. En efecto, cada fila se denomina por sus valores de clave primaria.
Base de Datos Oracle 10g: Taller de Administracin I 7-13

Oracle Internal & Oracle Academy Use Only

Base de Datos Oracle 10g: Taller de Administracin I 7-14

Oracle Internal & Oracle Academy Use Only

Descripcin de la Integridad de los Datos (continuacin) La implementacin de la restriccin de integridad PRIMARY KEY del servidor de Oracle garantiza que se cumplan las dos condiciones siguientes: - No puede haber dos filas de una tabla que tengan valores duplicados en la columna o juego de columnas especificado. - Las columnas de clave primaria no permiten valores nulos. Es decir, debe existir un valor para las columnas de clave primaria en cada fila. En circunstancias normales, la base de datos aplica las restricciones PRIMARY KEY utilizando ndices. La restriccin de clave primaria creada para la columna DEPARTMENT_ID de la tabla DEPARTMENTS se aplica mediante la creacin implcita de lo siguiente: - Un ndice nico en dicha columna - Una restriccin NOT NULL para dicha columna Restricciones de integridad referencial: Distintas tablas de una base de datos relacional se pueden relacionar por columnas comunes y se deben mantener las reglas que rigen la relacin de las columnas. Las reglas de integridad referencial garantizan que se mantengan estas relaciones. Una restriccin de integridad referencial necesita que para cada fila de una tabla, el valor de la clave ajena coincida con un valor de una clave principal. Por ejemplo, se define una clave ajena en la columna DEPARTMENT_ID de la tabla EMPLOYEES. De esta forma se garantiza que todos los valores de esta columna coincidan con un valor de la clave primaria de la tabla DEPARTMENTS. Por lo tanto, no pueden existir nmeros de departamento errneos en la columna DEPARTMENT_ID de la tabla DEPARTMENTS. Otro tipo de restriccin de integridad referencial se denomina restriccin de integridad de autorreferencia. Este tipo de clave ajena hace referencia a una clave principal de la misma tabla. Restricciones de control: Una restriccin de integridad CHECK en una columna o juego de columnas necesita que una condicin concreta se cumpla o sea desconocida para todas las filas de la tabla. Si una sentencia de lenguaje de manipulacin de datos (DML) tiene como resultado que la condicin de la restriccin CHECK se evale como falsa, se realizar un rollback de la sentencia.

Definicin de Restricciones

Copyright 2005, Oracle. Todos los derechos reservados.

Definicin de Restricciones Para agregar una restriccin a una tabla con Enterprise Manager, realice los siguientes pasos: 1. Seleccione la tabla en la pgina Tables y haga clic en Edit. 2. Haga clic en Constraints. Se mostrar la pgina Constraints con todas las restricciones definidas en la tabla. 3. Seleccione el tipo de restriccin que desea agregar en la lista desplegable y haga clic en Add. 4. Introduzca la informacin adecuada para el tipo de restriccin que est definiendo. Haga clic en OK.

Base de Datos Oracle 10g: Taller de Administracin I 7-15

Oracle Internal & Oracle Academy Use Only

Violaciones de Restricciones
Algunos ejemplos de cmo se puede violar una restriccin son: Insercin de un valor de clave primaria duplicado Supresin del principal de una fila secundaria en una restriccin de integridad referencial Actualizacin de una columna a un valor que est fuera de los lmites de una restriccin de control
ID AGE

X
101

30

Copyright 2005, Oracle. Todos los derechos reservados.

Violaciones de Restricciones La violacin de una restriccin tiene lugar cuando se ejecuta DML, y ste no cumple la restriccin. Las violaciones de las restricciones pueden adoptar muchas formas, por ejemplo: Unicidad: Se realiza el intento de tener valores duplicados en una columna que tiene una restriccin nica, como el caso en que una columna es la clave primaria o est indexada de forma nica. Integridad referencial: Se viola la regla de que cada fila secundaria tiene una fila principal. Control: Se realiza el intento de almacenar un valor en una columna que no sigue las reglas definidas para ella. Por ejemplo, una columna AGE podra tener una restriccin de control de modo que al aplicarla sea un nmero positivo.

Base de Datos Oracle 10g: Taller de Administracin I 7-16

Oracle Internal & Oracle Academy Use Only

Estados de Restricciones
DISABLE NOVALIDATE
DISABLE VALIDATE

ENABLE NOVALIDATE

ENABLE VALIDATE

No DML

Datos nuevos

Datos existentes

Copyright 2005, Oracle. Todos los derechos reservados.

Estados de Restricciones Para abordar mejor las situaciones en las que los datos deben estar temporalmente en estado de violacin de una restriccin, puede designar que una restriccin tenga diversos estados. Una restriccin de la integridad se puede activar (ENABLE) o desactivar (DISABLE). Si una restriccin est activada, los datos se comprueban conforme se introducen o actualizan en la base de datos. Se impide la entrada de los datos que no se ajustan a la regla de la restriccin. Si una restriccin est desactivada, los datos que no guardan conformidad con la regla se pueden introducir en la base de datos. Una restriccin de la integridad puede tener uno de los siguientes estados: DISABLE NOVALIDATE DISABLE VALIDATE ENABLE NOVALIDATE ENABLE VALIDATE

Base de Datos Oracle 10g: Taller de Administracin I 7-17

Oracle Internal & Oracle Academy Use Only

Base de Datos Oracle 10g: Taller de Administracin I 7-18

Oracle Internal & Oracle Academy Use Only

Estados de Restricciones (continuacin) DISABLE NOVALIDATE: Puede que tanto los datos nuevos como los ya existentes no se ajusten a la restriccin porque no se han comprobado. Este estado se usa con frecuencia cuando los datos provienen de un origen ya validado y la tabla es de slo lectura, de modo que no se introduce ningn dato nuevo en la tabla. DISABLE VALIDATE: Si una restriccin tiene este estado, no se permite ninguna modificacin de las columnas restringidas porque no sera coherente haber validado los datos existentes y luego permitir que en la tabla se introduzcan datos sin comprobar. Este estado se usa con frecuencia cuando los datos existentes se deben validar pero los datos no se van a modificar y el ndice ya no es necesario para el rendimiento. ENABLE NOVALIDATE: Los datos nuevos se ajustan a la restriccin pero los existentes estn en un estado desconocido. Este estado se usa con frecuencia para que se puedan corregir las violaciones de restricciones existentes y, al mismo tiempo, no se permita que se introduzcan nuevas violaciones en el sistema. ENABLE VALIDATE: Los datos nuevos y existentes se ajustan a la restriccin. ste es el estado habitual y por defecto de una restriccin.

Comprobacin de Restricciones
Las restricciones se comprueban en el momento de: Ejecucin de la sentencia, en el caso de restricciones sin diferir COMMIT, para restricciones diferidas
Caso: Sentencia DML, seguida de COMMIT
1

Restricciones sin diferir comprobadas COMMIT emitida Restricciones sin diferir comprobadas COMMIT terminada
Copyright 2005, Oracle. Todos los derechos reservados.

2
3

Comprobacin de Restricciones Puede diferir la comprobacin de la validez de las restricciones hasta que termine la transaccin. Restricciones sin diferir, conocidas tambin como restricciones inmediatas, se aplican al final de las sentencias DML. La violacin de una restriccin ocasiona el rollback de la sentencia. Si una restriccin provoca una accin, por ejemplo, delete cascade, sta se lleva a cabo como parte de la sentencia que la ha ocasionado. Las restricciones definidas como no diferibles no se pueden cambiar a diferibles. Las restricciones diferidas son aquellas que solo se comprueban cuando se confirma una transaccin. Si en el momento de la confirmacin (COMMIT) se detecta alguna violacin de restriccin, se produce el rollback de toda la transaccin. Estas restricciones son tiles principalmente cuando las filas principal y secundaria de una relacin de clave ajena se introducen al mismo tiempo, como en el caso de un sistema de entrada de pedidos en el que el pedido y los artculos del pedido se introducen a la vez. Las restricciones definidas como diferibles se pueden especificar de dos maneras: Initially immediate, especifica que, por defecto, debe funcionar como restriccin inmediata a menos que se establezca explcitamente lo contrario. Initially deferred, especifica que, por defecto, la restriccin slo se debe aplicar al final de la transaccin.
Base de Datos Oracle 10g: Taller de Administracin I 7-19

Oracle Internal & Oracle Academy Use Only

Creacin de Restricciones con SQL: Ejemplos


a
ALTER TABLE countries ADD (UNIQUE(country_name) ENABLE NOVALIDATE);

ALTER TABLE employees ADD CONSTRAINT pk PRIMARY KEY

CREATE TABLE t1 (pk NUMBER PRIMARY KEY, fk NUMBER, c1 NUMBER,

c2 NUMBER,

CONSTRAINT ri FOREIGN KEY (fk) REFERENCES t1, CONSTRAINT ck1 CHECK (pk > 0 and c1 > 0));

Copyright 2005, Oracle. Todos los derechos reservados.

Creacin de Restricciones con SQL: Ejemplos En la diapositiva se muestran tres ejemplos de creacin de restricciones: a. Una vez que se ejecuta esta sentencia, las inserciones o actualizaciones realizadas en la tabla COUNTRIES tienen que tener un valor COUNTRY_NAME que sea nico. Sin embargo, es posible que cuando se emite esta sentencia, ya existan valores COUNTRY_NAME en la tabla que no son nicos. La palabra clave NOVALIDATE indica que se deben ignorar. Slo se restringen las nuevas filas. b. Esta sentencia agrega una clave primaria a la tabla EMPLOYEE. El nombre de la restriccin es PK y la clave primaria es la columna EMPLOYEE_ID. c. Esta sentencia define restricciones en el momento de crearse la tabla en lugar de usar posteriormente una sentencia ALTER TABLE. La restriccin RI impone que los valores de la columna FK deben estar presentes en la columna de clave primaria de la tabla T1. La restriccin CK1 impone que las columnas PK y C1 sean mayores que cero. Nota: Toda restriccin tiene un nombre. Si no se proporciona uno en la sentencia DDL, el sistema asigna un nombre, que empieza por SYS_.

Base de Datos Oracle 10g: Taller de Administracin I 7-20

Oracle Internal & Oracle Academy Use Only

(employee_id)

Visualizacin de las Columnas de una Tabla

Copyright 2005, Oracle. Todos los derechos reservados.

Visualizacin de las Columnas de una Tabla Para visualizar los atributos de una tabla mediante Enterprise Manager, realice los siguientes pasos: 1. Haga clic en el enlace Tables en la regin Schema de la pgina Database Administration 2. Seleccione una tabla de la lista de resultados y haga clic en el botn View para ver los atributos de la tabla.

Base de Datos Oracle 10g: Taller de Administracin I 7-21

Oracle Internal & Oracle Academy Use Only

Visualizacin del Contenido de una Tabla

Copyright 2005, Oracle. Todos los derechos reservados.

Visualizacin del Contenido de una Tabla Para visualizar las filas de una tabla mediante Enterprise Manager, realice los siguientes pasos: 1. Seleccione la tabla en la pgina Tables. 2. Seleccione View Data en el men Actions y haga clic en Go. Aparecer la pgina View Data for Table. Los datos de fila para la tabla se mostrarn en la regin Result. El recuadro Query muestra la consulta SQL ejecutada para producir los resultados. En esta pgina, puede hacer clic en cualquier nombre de columna y ordenar los datos de la columna en orden ascendente o descendente. Si desea cambiar la consulta, haga clic en el botn Refine Query. En la pgina Refine Query for Table, puede seleccionar las columnas que desea ver y especificar una clusula WHERE para la sentencia SQL con el fin de limitar los resultados. Para obtener ms informacin sobre las clusulas WHERE de las sentencias SQL, consulte Oracle Database SQL Reference.

Base de Datos Oracle 10g: Taller de Administracin I 7-22

Oracle Internal & Oracle Academy Use Only

Acciones con Tablas

Copyright 2005, Oracle. Todos los derechos reservados.

Acciones con Tablas Puede seleccionar una tabla y, a continuacin, realizar acciones en ella. Aqu se presentan algunas de esas acciones: Create Like: Con esta accin puede crear una tabla que tenga la misma estructura que la seleccionada. Deber cambiar los nombres de las restricciones. Puede agregar o suprimir columnas y realizar otros cambios en la estructura de la tabla antes de crearla. Create Index: Utilice esta opcin para crear ndices de una tabla. Generate DDL: Se genera el DDL que representa la tabla que ya existe. A continuacin se puede copiar en un archivo de texto para su uso como archivo de comandos o con fines de documentacin. Grant Privileges: Por defecto, cuando se crea una tabla, slo el propietario puede realizar acciones en ella. El propietario debe otorgar privilegios a los dems usuarios para que puedan ejecutar DML o DDL en la tabla. Show Dependencies: Muestra objetos de los que depende esta tabla u objetos que dependen de esta tabla. View Data: Selecciona y muestra datos de la tabla en modo de slo lectura.

Base de Datos Oracle 10g: Taller de Administracin I 7-23

Oracle Internal & Oracle Academy Use Only

Borrado de una Tabla

Copyright 2005, Oracle. Todos los derechos reservados.

Borrado de una Tabla Sintaxis:


DROP TABLE [schema.] table [CASCADE CONSTRAINTS] [PURGE]

El comando DROP TABLE elimina los datos, la estructura de la tabla y los privilegios de objeto asociados. Algunos aspectos acerca de DROP TABLE que se deben tener en cuenta son: Sin la clusula PURGE, la definicin de tabla, los ndices asociados y los disparadores se colocan en una papelera de reciclaje. Los datos de la tabla permanecen, pero no resultan accesibles sin la definicin de tabla. Si borra una tabla a travs de Enterprise Manager, la clusula PURGE no se utiliza. Utilice el comando FLASHBACK TABLE para recuperar objetos de esquema de la papelera de reciclaje. El comando PURGE RECYCLEBIN vaca la papelera de reciclaje. La opcin CASCADE CONSTRAINTS es necesaria para suprimir todas las restricciones de integridad referencial dependientes. Nota: Si no utiliza la opcin PURGE, el espacio que ocupa la tabla y sus ndices sigue contando en la cuota permitida del usuario para los tablespaces implicados. Es decir, todava se considera que ese espacio se est utilizando.

Base de Datos Oracle 10g: Taller de Administracin I 7-24

Oracle Internal & Oracle Academy Use Only

El borrado de una tabla elimina: Datos DROP TABLE hr.employees PURGE; Estructura de tabla Disparadores de base de datos ndices correspondientes Privilegios de objeto asociados Clusulas opcionales de la sentencia DROP TABLE: CASCADE CONSTRAINTS: Restricciones de integridad referencial dependientes PURGE: No es posible el flashback

Truncamiento de una Tabla

TRUNCATE TABLE hr.employees;

Copyright 2005, Oracle. Todos los derechos reservados.

Truncamiento de una Tabla Sintaxis:


TRUNCATE TABLE [schema.] table [{DROP | REUSE} STORAGE]

Los efectos de utilizar este comando son los siguientes: La tabla se marca como vaca definiendo el lmite superior al principio de la tabla, con lo que sus filas dejan de estar disponibles. No se generan datos de deshacer y el comando se confirma implcitamente porque TRUNCATE TABLE es un comando DDL. Los ndices correspondientes tambin se truncan. No se pueden truncar las tablas a las que una clave ajena hace referencia. Los disparadores de supresin no se activan cuando se utiliza este comando. Normalmente esto es mucho ms rpido que emitir una sentencia DELETE para suprimir todas las filas de la tabla debido a los siguientes motivos: La base de datos Oracle restablece el lmite superior de la tabla en lugar de procesar cada fila como una operacin DELETE. No se genera ningn dato de deshacer.

Base de Datos Oracle 10g: Taller de Administracin I 7-25

Oracle Internal & Oracle Academy Use Only

El truncamiento de una tabla hace que sus datos de fila dejen de estar disponibles y, opcionalmente, libera el espacio utilizado. Los ndices correspondientes se truncan.

ndices

Esquema Restricciones > ndices Vistas Secuencias Tablas Temporales Diccionario de Datos

WHERE key = 22

Puntero Clave de fila

22

ndice

Tabla

Copyright 2005, Oracle. Todos los derechos reservados.

ndices Los ndices son estructuras opcionales asociadas a las tablas. Se pueden crear para mejorar el rendimiento de la recuperacin y actualizacin de los datos. Un ndice de Oracle proporciona una ruta de acceso directo a una fila de datos. Los ndices se pueden crear en una o ms columnas de una tabla. Una vez creado un ndice, el servidor de Oracle lo mantiene y utiliza automticamente. Las actualizaciones de datos de una tabla, como la adicin de nuevas filas, la actualizacin de filas o la supresin de filas, se propagan automticamente a todos los ndices relevantes con completa transparencia para los usuarios.

Base de Datos Oracle 10g: Taller de Administracin I 7-26

Oracle Internal & Oracle Academy Use Only

Tipos de ndices

Copyright 2005, Oracle. Todos los derechos reservados.

Tipos de ndices stos son los tipos de ndices ms comunes: rbol B Bitmap Un ndice de rbol B tiene almacenados sus valores clave en un rbol equilibrado, lo que permite bsquedas binarias rpidas. Un ndice de bitmap tiene un bipmap para cada valor clave distinto indexado. En cada bitmap, hay un juego de bits contiguos para cada fila de la tabla indexada. Esto permite bsquedas rpidas cuando hay pocos valores distintos, es decir, la columna indexada tiene baja cardinalidad. Un ejemplo sera un indicador de gnero. Slo puede tener los valores de M y F. De modo que solo se pueden buscar dos bitmaps. Por ejemplo, si se utilizara un ndice de bitmap para una columna phone_number, habra que gestionar tantos bitmaps que la bsqueda resultara muy poco eficaz. Utilice ndices de bitmap en columnas de baja cardinalidad.

Base de Datos Oracle 10g: Taller de Administracin I 7-27

Oracle Internal & Oracle Academy Use Only

Existen varios tipos de estructuras de ndices disponibles, segn las necesidades: Los ndices de rbol B tienen la forma de un rbol binario y son el tipo por defecto. Los ndices de bitmap tienen un bitmap para cada uno de los distintos valores indexados, y cada posicin de bit representa una fila que puede o no contener dichos valores. Es adecuado para columnas de baja cardinalidad.

ndice de rbol B
Entrada de ndice Raz

Rama

Cabecera de entrada de ndice


Hoja

Longitud de columna clave


Valor de columna clave

ROWID

Copyright 2005, Oracle. Todos los derechos reservados.

ndice de rbol B Estructura de un ndice de rbol B Al principio del ndice est la raz, que contiene entradas que apuntan al siguiente nivel del ndice. En el siguiente nivel estn los bloques rama, que su vez apuntan a los bloques del siguiente nivel del ndice. En el nivel inferior estn los nodos hoja, que contienen las entradas de ndice que apuntan a las filas de la tabla. Los bloques hoja estn enlazados doblemente para facilitar la bsqueda de los valores clave del ndice en orden ascendente y descendente. Formato de las entradas de hojas del ndice Una entrada de ndice est formada por los siguientes componentes: Una cabecera de entrada, que almacena el nmero de columnas y la informacin de bloqueo Pares longitud-valor de columna clave, que definen el tamao de una columna en la clave seguida por el valor de la columna (el nmero de estos pares es el nmero mximo de columnas del ndice) ROWID de una fila que contiene los valores clave

Base de Datos Oracle 10g: Taller de Administracin I 7-28

Oracle Internal & Oracle Academy Use Only

ndice de rbol B (continuacin) Caractersticas de las entradas de hojas del ndice En un ndice de rbol B de una tabla no particionada: Si hay varias filas con la misma clave los valores clave se repiten a no ser que el ndice est comprimido. No existen entradas de ndice correspondientes a una fila cuyas columnas de clave tengan todas el valor NULL. Por lo tanto, una clusula WHERE que especifique NULL siempre dar lugar a una exploracin de tabla completa. El ROWID restringido se utiliza para apuntar a las filas de la tabla, dado que todas las filas pertenecen al mismo segmento. Efecto de las operaciones DML en ndices El servidor de Oracle mantiene todos los ndices cuando las operaciones DML se realizan en la tabla. A continuacin se muestra una explicacin del efecto de un comando DML en un ndice: Las operaciones de insercin dan como resultado la insercin de una entrada de ndice en el bloque adecuado. La supresin de una fila produce una supresin lgica de la entrada de ndice. El espacio que utiliza la fila suprimida no estar disponible para las nuevas entradas hasta que todas las entradas del bloque se supriman. Las actualizaciones de las columnas clave dan como resultado una supresin lgica y una insercin en el ndice. El valor PCTFREE no tiene efecto alguno en el ndice excepto en el momento de la creacin. Se puede agregar una nueva entrada en el bloque de ndice incluso si cuenta con menos espacio que el especificado en PCTFREE.

Base de Datos Oracle 10g: Taller de Administracin I 7-29

Oracle Internal & Oracle Academy Use Only

ndices de Bitmap
Tabla
Archivo

Bloque 10 Bloque 11 ndice

Bloque 12

ROWID ROWID Clave inicial final


<Blue, <Green, <Red, <Yellow, 10.0.3, 10.0.3, 10.0.3, 10.0.3, 12.8.3, 12.8.3, 12.8.3, 12.8.3,

Bitmap
1000100100010010100> 0001010000100100000> 0100000011000001001> 0010001000001000010>

Copyright 2005, Oracle. Todos los derechos reservados.

ndices de Bitmap Los ndices de bitmap ofrecen ms ventajas que los ndices de rbol B en determinadas situaciones: Cuando una tabla tiene millones de filas y las columnas de clave poseen baja cardinalidad, es decir, tienen pocos valores distintos. Por ejemplo, los ndices de bitmap pueden ser preferibles a los de rbol B para las columnas de gnero y estado marital de una tabla que contenga registros de pasaporte. Cuando es frecuente que las consultas utilicen una combinacin de varias condiciones WHERE relacionadas con el operador OR. Cuando hay actividad de slo lectura o de actualizacin baja en las columnas de clave. Estructura de un ndice de bitmap El ndice de bitmap tambin est organizado como un rbol B, pero el nodo hoja almacena un bitmap para cada valor clave en lugar de una lista de ROWID. Cada bit del bitmap corresponde a un posible ROWID, y si este bit est definido, significa que la fila con el ROWID correspondiente contiene el valor clave. Como se muestra en el diagrama, el nodo hoja de un ndice de bitmap contiene lo siguiente: Una cabecera de entrada, que contiene el nmero de columnas y la informacin de bloqueo.
Base de Datos Oracle 10g: Taller de Administracin I 7-30

Oracle Internal & Oracle Academy Use Only

ndices de Bitmap (continuacin) Estructura de un ndice de bitmap (continuacin) Los valores clave constan de pares de longitud y valor para cada columna de clave. En el ejemplo, la clave est formada por una columna, y la primera entrada tiene un valor clave de Blue. ROWID inicial, que en el ejemplo especifica el nmero de bloque diez, el nmero de fila cero y el nmero de archivo tres. ROWID final, que en el ejemplo especifica el nmero de bloque doce, el nmero de fila ocho y el nmero de archivo tres. Un segmento de bitmap consta de una cadena de bits. (El bit se define cuando la fila correspondiente contiene el valor clave y se anula su definicin cuando no lo contiene. El servidor de Oracle usa una tcnica de compresin patentada para almacenar segmentos de bitmap.) El ROWID inicial es el ROWID de la primera fila a la que apunta el segmento de bitmap del bitmap, es decir, el primer bit del bitmap corresponde a ese ROWID, el segundo a la siguiente fila del bloque y el ROWID final es un puntero a la ltima fila de la tabla incluida en el segmento de bitmap. Los ndices de bitmap son ROWID restringidos. Uso de un ndice de bitmap El rbol B se utiliza para localizar los nodos hoja que contienen segmentos de bitmap para un valor dado de la clave. El ROWID inicial y los segmentos de bitmap se utilizan para localizar las filas que contienen el valor clave. Cuando se realizan cambios en la columna de clave de la tabla, se deben modificar los bitmaps. El resultado es que se bloquean los segmentos de bitmap relevantes. Como los bloqueos se adquieren en todo el segmento de bitmap, otras transacciones no pueden actualizar una fila incluida en el bitmap hasta que termine la primera transaccin.

Base de Datos Oracle 10g: Taller de Administracin I 7-31

Oracle Internal & Oracle Academy Use Only

Opciones de ndice
Un ndice nico garantiza que todo valor indexado es nico. Un ndice puede tener almacenados sus valores clave en orden ascendente o descendente. Un ndice de clave inversa tiene almacenados sus bytes de valores clave en orden inverso. Un ndice compuesto es aquel basado en ms de una columna. Un ndice basado en funciones es un ndice basado en el valor de retorno de una funcin. Un ndice comprimido es aquel del que se han eliminado valores clave repetidos.

Copyright 2005, Oracle. Todos los derechos reservados.

Opciones de ndice Para facilitar la recuperacin, puede resultar ventajoso contar con un ndice que almacene las claves en orden descendente. Esta decisin se debe tomar en funcin de cmo se acceda a los datos normalmente. Un ndice de clave inversa tiene almacenados los bytes del valor indexado en orden inverso. Esto puede reducir la actividad en un punto conflictivo determinado del ndice. Si muchos usuarios estn procesando datos en el mismo orden, las partes de prefijo de los valores clave (actualmente procesndose) se aproximan en un momento dado. Como consecuencia, hay mucha actividad en esa rea de la estructura del ndice. Los ndices de clave inversa reparten esa actividad entre la estructura del ndice indexando una versin de byte inverso de los valores clave. Los ndices creados por la combinacin de ms de una columna se denominan ndices compuestos. Por ejemplo, puede crear un ndice basado en el apellido y nombre de una persona:
CREATE INDEX name_ix ON employees (last_name, first_name);

Base de Datos Oracle 10g: Taller de Administracin I 7-32

Oracle Internal & Oracle Academy Use Only

Opciones de ndice (continuacin) Los ndices basados en funciones indexan el valor de retorno de una funcin. Esta funcin puede ser una funcin SQL incorporada, una funcin PL/SQL proporcionada o una funcin escrita por el usuario. De esta manera, el servidor deja de tener que llamar a la funcin por cada valor clave dado que se realiza una bsqueda en la expresin indexada. En el siguiente ejemplo se indexa el volumen del rbol devuelto que calcula la funcin, segn la especie, altura y volumen (que son columnas de la tabla TREES):
CREATE INDEX tree_vol_ix ON TREES(volume(species,height,circumference));

Puede utilizar un ndice comprimido para reducir el consumo de disco en tiempo de ejecucin. Como se eliminan los valores clave repetidos, pueden caber ms entradas de ndice en una cantidad dada de espacio en disco y, como consecuencia, se pueden leer ms entradas en el disco en la misma cantidad de tiempo. La compresin y la descompresin se deben realizar, respectivamente, para la escritura y la lectura del ndice.

Base de Datos Oracle 10g: Taller de Administracin I 7-33

Oracle Internal & Oracle Academy Use Only

Luego, toda consulta que contenga la expresin volume(species,height,circumference) en la clusula WHERE podra aprovechar las ventajas de este ndice y ejecutarse de manera mucho ms rpida porque el clculo del volumen ya se ha realizado para cada rbol. Los ndices basados en funciones se mantienen automticamente, igual que los ndices normales.

Creacin de ndices

CREATE INDEX my_index ON employees(last_name, first_name);


Copyright 2005, Oracle. Todos los derechos reservados.

Creacin de ndices Puede hacer clic en el enlace Indexes situado bajo la cabecera Schema de la pgina Administration para ver la pgina Indexes. Puede ver atributos de ndice o utilizar el men Actions para ver dependencias de un ndice. Los ndices se pueden crear explcita o implcitamente mediante restricciones que se colocan en una tabla. Un ejemplo de un ndice creado implcitamente es la definicin de una clave primaria, en cuyo caso se creara automticamente un ndice nico para reforzar la unicidad en la columna.

Base de Datos Oracle 10g: Taller de Administracin I 7-34

Oracle Internal & Oracle Academy Use Only

Qu es una Vista?
Tabla LOCATION

Esquema Restricciones ndices > Vistas

Tabla COUNTRY

Vista

CREATE VIEW v AS SELECT location_id, country_name FROM

locations l, countries c WHERE l.country_id = c.country_id AND c.country_id in ('AU','BR');


Copyright 2005, Oracle. Todos los derechos reservados.

Qu es una Vista? Las vistas son representaciones personalizadas de datos de una o ms tablas u otras vistas. Se pueden considerar como consultas almacenadas dado que pueden ocultar condiciones muy complejas, uniones y otras expresiones y construcciones SQL complejas. Las vistas en realidad no contienen datos, sino que derivan sus datos de las tablas en las que se basan. Estas tablas se denominan tablas base de la vista.

Base de Datos Oracle 10g: Taller de Administracin I 7-35

Oracle Internal & Oracle Academy Use Only

Creacin de Vistas

Copyright 2005, Oracle. Todos los derechos reservados.

Creacin de Vistas Al igual que con las tablas, se pueden realizar consultas, actualizaciones, inserciones y supresiones en las vistas, pero con algunas restricciones. Todas las operaciones realizadas en una vista en realidad afectan a las tablas base de la vista. Las vistas proporcionan un nivel adicional de seguridad al restringir el acceso a un juego predeterminado de filas y columnas de una tabla. Tambin pueden ocultar la complejidad de los datos y almacenar consultas complejas. Para ver las vistas definidas en la base de datos, haga clic en el enlace Views situado bajo la cabecera Schema de la pgina Administration.

Base de Datos Oracle 10g: Taller de Administracin I 7-36

Oracle Internal & Oracle Academy Use Only

Secuencias

Copyright 2005, Oracle. Todos los derechos reservados.

Secuencias Para recuperar el siguiente valor de una secuencia, se hace referencia a ella por su nombre; no existe asociacin alguna de una secuencia con una tabla o columna. Una vez emitido un nmero determinado, no se volver a emitir, a menos que la secuencia se defina como cclica. En ocasiones, una aplicacin solicita que un valor no deje nunca de utilizarse o de almacenarse en la base de datos. Esto puede dar lugar a intervalos vacos en los nmeros que residen en la tabla en la que se estn almacenando. El almacenamiento en cach de los nmeros de secuencia mejora el rendimiento ya que se asigna previamente un juego de nmeros en la memoria para un acceso ms rpido. En caso de fallo de la instancia, los nmeros de secuencia almacenados en cach no se utilizan, lo que da lugar a intervalos vacos. Nota: Si una aplicacin necesita que no haya intervalos vacos, la aplicacin debe implementar un generador de nmeros personalizados. No obstante, este mtodo puede producir un rendimiento muy deficiente. Si utiliza una tabla para almacenar un valor, y ese valor lo incrementa y actualiza la tabla para cada solicitud, ese proceso supondra un cuello de botella en todo el sistema. ste es el motivo por el que cada sesin tendra que esperar ese mecanismo, el cual, para garantizar que no haya duplicados ni intervalos vacos, slo gestiona una solicitud a la vez.

Base de Datos Oracle 10g: Taller de Administracin I 7-37

Oracle Internal & Oracle Academy Use Only

Una secuencia es un mecanismo para generar automticamente enteros que siguen un patrn. 1 Una secuencia tiene un nombre, que es 2 3 la forma en que se hace referencia a ella 4 5 cuando se solicita el siguiente valor. Una secuencia no est asociada a ninguna tabla o columna en especial. La progresin puede ser ascendente o descendente. El intervalo entre nmeros puede ser de cualquier tamao. Una secuencia puede crear un ciclo cuando se alcanza un lmite.

Esquema Restricciones ndices Vistas > Secuencias Tablas Temporales Diccionario de Datos

Creacin de una Secuencia

Copyright 2005, Oracle. Todos los derechos reservados.

Creacin de una Secuencia Puede ver y crear secuencias con Enterprise Manager haciendo clic en el enlace Sequences situado bajo la cabecera Schema de la pgina Administration. ste es un resumen de las opciones de creacin de secuencias: Name: Es el nombre de la secuencia, con el que se hace referencia a ella. Schema: Es el propietario de la secuencia. Maximum Value: Especifique el valor mximo que puede generar la secuencia. Este valor entero puede tener 28 dgitos o menos. Debe ser mayor que el valor de Minimum Value y de Initial. Unlimited indica un valor mximo de 1027 para una secuencia ascendente, o de -1 para una secuencia descendente. El valor por defecto es Unlimited. Minimum Value: Especifique el valor mnimo de la secuencia. Este valor entero puede tener 28 dgitos o menos. Debe ser menor o igual que el valor de Initial y menor que Maximum Value. Unlimited indica un valor mnimo de 1 para una secuencia ascendente, o de -1026 para una secuencia descendente. El valor por defecto es Unlimited.

Base de Datos Oracle 10g: Taller de Administracin I 7-38

Oracle Internal & Oracle Academy Use Only

Base de Datos Oracle 10g: Taller de Administracin I 7-39

Oracle Internal & Oracle Academy Use Only

Creacin de una Secuencia (continuacin) Interval: Especifique el intervalo entre nmeros de secuencia. Este valor entero puede ser cualquier entero positivo o negativo, pero no puede ser cero. Puede tener 28 dgitos o menos. El valor por defecto es uno. Initial: Especifique el primer nmero de secuencia que se va a generar. Utilice esta clusula para iniciar una secuencia ascendente en un valor mayor que su mnimo o para iniciar una secuencia descendente en un valor menor que su mximo. Cycle Values: Despus de que una secuencia ascendente alcance su valor mximo, genera su valor mnimo. Despus de que una secuencia descendente alcance su mnimo, genera su valor mximo. Si no selecciona esta opcin, se devolver un error si intenta recuperar un valor despus de que la secuencia se haya agotado. Order Values: Garantiza que los nmeros de secuencia se generan en orden de solicitud. Esta clusula es til si utiliza nmeros de secuencia como registros de hora. Garantizar el orden no suele ser importante con las secuencias utilizadas para generar claves primarias. Esta opcin es necesaria slo para garantizar la generacin ordenada si utiliza la base de datos Oracle con Real Application Clusters. Cache Options: Especifique cuntos valores de la secuencia preasigna y mantiene la base de datos Oracle en la memoria para un acceso ms rpido. Este valor entero puede tener 28 dgitos o menos. El valor mnimo para este parmetro es 2. Para secuencias en ciclos, este valor debe ser inferior al nmero de valores del ciclo. No puede almacenar en cach ms valores de los que se ajustarn en un ciclo determinado de nmeros de secuencia.

Uso de una Secuencia

Copyright 2005, Oracle. Todos los derechos reservados.

Uso de una Secuencia Haga referencia a valores de secuencia en sentencias SQL con las siguientes pseudocolumnas: CURRVAL: Devuelve el valor actual de una secuencia NEXTVAL: Incrementa la secuencia y devuelve el siguiente valor Debe cualificar a CURRVAL y NEXTVAL con el nombre de la secuencia:
sequence.CURRVAL sequence.NEXTVAL

La primera referencia a NEXTVAL devuelve el valor inicial de la secuencia. Las referencias posteriores a NEXTVAL aumentan el valor de secuencia con el incremento definido y devuelven el nuevo valor. Cualquier referencia a CURRVAL siempre devuelve el valor actual de la secuencia, que es el valor devuelto por la ltima referencia a NEXTVAL.

Base de Datos Oracle 10g: Taller de Administracin I 7-40

Oracle Internal & Oracle Academy Use Only

Tablas Temporales

Copyright 2005, Oracle. Todos los derechos reservados.

Tablas Temporales Puede aprovechar las tablas temporales cuando necesite almacenar datos de forma privada con el fin de realizar una tarea y desee que los datos se limpien una vez terminada sta, al final de una transaccin o sesin. Las tablas temporales ofrecen esta funcionalidad pero adems le liberan de las responsabilidades de ocultar los datos de otras sesiones y eliminan los datos generados cuando ha terminado. Los nicos datos de la tabla temporal visibles para una sesin son los datos que ha insertado la sesin. Una tabla temporal puede ser especfica de una transaccin o de una sesin. En el caso de las tablas temporales especficas de una transaccin, los datos se conservan lo que dura la transaccin, y en el segundo caso lo que dura la sesin. En ambos casos, los datos que inserta una sesin son privados para la sesin. Cada sesin slo puede ver y modificar sus propios datos. Como resultado, nunca se adquieren bloqueos DML en los datos de las tablas temporales. Las siguientes clusulas controlan la duracin de las filas: ON COMMIT DELETE ROWS: Para especificar que la duracin de las filas insertadas equivale a lo que dura la transaccin. ON COMMIT PRESERVE ROWS: Para especificar que la duracin de las filas insertadas equivale a lo que dura la sesin.

Base de Datos Oracle 10g: Taller de Administracin I 7-41

Oracle Internal & Oracle Academy Use Only

Una tabla temporal: Proporciona almacenamiento de datos que se limpian automticamente al terminar la sesin o transaccin Proporciona almacenamiento privado de datos en cada sesin Se puede utilizar en todas las sesiones sin que afecte a los datos privados de las dems

Esquema Restricciones ndices Vistas Secuencias > Tablas Temporales Diccionario de Datos

Base de Datos Oracle 10g: Taller de Administracin I 7-42

Oracle Internal & Oracle Academy Use Only

Tablas Temporales (continuacin) La sentencia CREATE GLOBAL TEMPORARY TABLE crea una tabla temporal. Puede crear ndices, vistas y disparadores en tablas temporales, y tambin puede utilizar Export e Import o Data Pump para exportar e importar la definicin de una tabla temporal. No obstante, no se exportar ningn dato aunque utilice la opcin ROWS. Adems de los casos ya mencionados que provocan la supresin de los datos, puede forzar la eliminacin de stos de manera eficaz con el comando TRUNCATE TABLE. Este comando elimina todos los datos insertados, y resulta ms eficaz que utilizar el comando DELETE. Puede crear ndices, vistas y disparadores en tablas temporales. Las tablas temporales se pueden crear mediante Enterprise Manager haciendo clic en la opcin Temporary en la pgina Create Table: Table Organization. Haga clic en Continue. La siguiente pgina le permite especificar si la tabla temporal es especfica de la sesin o de la transaccin. El campo Tablespace est desactivado dado que una tabla temporal siempre se crea en el tablespace temporal del usuario; no se puede especificar ningn otro tablespace. Nota: La palabra clave GLOBAL se basa en la terminologa especificada en el estndar ISO (Organizacin Internacional de Normalizacin) para SQL.

Tablas Temporales: Consideraciones


Utilice la clusula GLOBAL TEMPORARY para crear tablas temporales:
CREATE GLOBAL TEMPORARY TABLE employees_temp ON COMMIT PRESERVE ROWS AS SELECT * FROM employees;

Utilice el comando TRUNCATE TABLE para suprimir el contenido de la tabla. Puede crear los siguientes elementos en tablas temporales:
ndices Vistas Disparadores
Copyright 2005, Oracle. Todos los derechos reservados.

Tablas Temporales: Consideraciones La sentencia CREATE GLOBAL TEMPORARY TABLE crea una tabla temporal. Puede crear ndices, vistas y disparadores en tablas temporales, y tambin puede utilizar Export e Import o Data Pump para exportar e importar la definicin de una tabla temporal. No obstante, no se exportar ningn dato aunque utilice la opcin ROWS. Adems de los casos ya mencionados que provocan la supresin de los datos, puede forzar la eliminacin de stos de manera eficaz con el comando TRUNCATE TABLE. Este comando elimina todos los datos insertados, y resulta ms eficaz que utilizar el comando DELETE. Nota: La palabra clave GLOBAL se basa en la terminologa especificada en el estndar ISO (Organizacin Internacional de Normalizacin) para SQL.

Base de Datos Oracle 10g: Taller de Administracin I 7-43

Oracle Internal & Oracle Academy Use Only

Diccionario de Datos: Visin General


Tablas ndices

Esquema Restricciones ndices Vistas Secuencias Tablas Temporales > Diccionario de Datos

Vistas Usuarios Procedimientos etc.

SELECT * FROM dictionary;


Copyright 2005, Oracle. Todos los derechos reservados.

Diccionario de Datos: Visin General El diccionario de datos de Oracle es la descripcin de una base de datos. Contiene los nombres y atributos de todos los objetos de la base de datos. La creacin o modificacin de un objeto provoca la actualizacin del diccionario de datos para reflejar dichos cambios. Esta informacin se almacena en las tablas base mantenidas por la base de datos Oracle, pero puede acceder a estas tablas mediante vistas predefinidas en lugar de leer las tablas directamente. El diccionario de datos: Lo utiliza el servidor de base de datos Oracle para encontrar informacin acerca de usuarios, objetos, restricciones y almacenamiento Lo mantiene el servidor de base de datos Oracle a medida que las estructuras o definiciones de objetos se modifican Lo puede utilizar cualquier usuario para consultar informacin acerca de la base de datos Es propiedad del usuario SYS No se debe modificar directamente mediante SQL Nota: La vista del diccionario de datos DICTIONARY, o su sinnimo DICT, contiene los nombres y las descripciones de todo lo que hay en el diccionario de datos. Utilice la vista DICT_COLUMNS para ver las columnas de vista y sus definiciones. Para obtener definiciones completas de cada vista, consulte la documentacin Oracle Database Reference.

Base de Datos Oracle 10g: Taller de Administracin I 7-44

Oracle Internal & Oracle Academy Use Only

Esquemas

Vistas del Diccionario de Datos


Quin Puede Consultar Contenido Subjuego de
N/A

Notas

DBA_

DBA

Todo

Podra tener columnas adicionales diseadas nicamente para el uso de DBA

ALL_

Todos

USER_ Todos

Incluye los propios objetos del usuario

Vistas ALL_

Normalmente es igual que ALL_ excepto por la columna OWNER que falta. Algunas vistas tienen nombres abreviados como sinnimos PUBLIC.

Copyright 2005, Oracle. Todos los derechos reservados.

Vistas del Diccionario de Datos Los prefijos de la vista indican qu o cuntos datos puede ver un usuario determinado. A la vista global de todo slo acceden los usuarios con privilegios DBA, mediante el prefijo DBA_. El siguiente nivel de privilegios est en el nivel de prefijo ALL_, que representa todos los objetos para los que el usuario que consulta tiene privilegios de vista, tanto si es o no su propietario. Por ejemplo, si USER_A tiene permiso para acceder a una tabla propiedad de USER_B, USER_A ve esa tabla en todas las vistas ALL_ relacionadas con nombres de tabla. El prefijo USER_ representa el mbito de visibilidad ms pequeo. Slo se muestran aquellos objetos cuyo propietario es el usuario que consulta, es decir, los que estn presentes en su propio esquema.

Base de Datos Oracle 10g: Taller de Administracin I 7-45

Oracle Internal & Oracle Academy Use Only

Todo para lo que el usuario tiene privilegios de visualizacin

Vistas DBA_

Todo lo que el usuario posee

Vistas del Diccionario de Datos (continuacin) Por lo general, cada juego de vistas es un subjuego del juego de vistas con los privilegios ms altos, que tiene en cuenta las filas y columnas. No todas las vistas de un juego de vistas dado tienen una vista correspondiente en los dems juegos de vistas. Depende de la naturaleza de la informacin de la vista. Por ejemplo, existe una vista DBA_LOCK, pero no una vista ALL_LOCK. Esto se debe a que slo un DBA tendra inters en los datos sobre bloqueos. Se debe asegurar de elegir el juego de vistas adecuado a sus necesidades. Si tiene privilegios para acceder a las vistas DBA, es posible que an desee consultar slo la versin USER de la vista porque sabe que es algo que tiene y no desea que otros objetos se agreguen a su juego de resultados. Las vistas DBA_ pueden ser consultadas por los usuarios con el privilegio SYSDBA o SELECT ANY DICTIONARY.

Base de Datos Oracle 10g: Taller de Administracin I 7-46

Oracle Internal & Oracle Academy Use Only

Diccionario de Datos: Ejemplos de Uso

SELECT table_name, tablespace_name FROM user_tables; SELECT sequence_name, min_value, max_value, increment_by FROM all_sequences WHERE sequence_owner IN ('MDSYS','XDB'); SELECT USERNAME, ACCOUNT_STATUS FROM dba_users WHERE ACCOUNT_STATUS = 'OPEN'; DESCRIBE dba_indexes;

Copyright 2005, Oracle. Todos los derechos reservados.

Diccionario de Datos Esttico: Ejemplos de Uso En los ejemplos de la diapositiva se muestran consultas que responden a estas preguntas: a. Cules son los nombres de las tablas (junto con el nombre del tablespace donde residen) que se han creado en el esquema? b. Cul es la informacin importante acerca de las secuencias de la base de datos a la que ha accedido? c. Qu usuarios de esta base de datos se pueden conectar actualmente? d. Cules son las columnas de la vista DBA_INDEXES? Esto le muestra la informacin que puede ver acerca de todos los ndices de la base de datos. A continuacin se muestra una salida parcial de este comando:
SQL> DESCRIBE dba_indexes; Name Null? Type --------------- -------- ------------OWNER NOT NULL VARCHAR2(30) INDEX_NAME NOT NULL VARCHAR2(30) INDEX_TYPE VARCHAR2(27) TABLE_OWNER NOT NULL VARCHAR2(30) TABLE_NAME NOT NULL VARCHAR2(30)

Base de Datos Oracle 10g: Taller de Administracin I 7-47

Oracle Internal & Oracle Academy Use Only

Resumen

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 7-48

Oracle Internal & Oracle Academy Use Only

En

esta leccin, debe haber aprendido lo siguiente: Definir objetos de esquema y tipos de dato Crear y modificar tablas Definir restricciones Visualizar las columnas y el contenido de una tabla Crear ndices Crear vistas Crear secuencias Explicar el uso de tablas temporales Usar el diccionario de datos

Visin General de la Prctica: Administracin de Objetos de Esquema


En esta prctica se abordan los siguientes temas: Creacin de tablas con columnas Creacin de restricciones:

Creacin de ndices

Copyright 2005, Oracle. Todos los derechos reservado

Base de Datos Oracle 10g: Taller de Administracin I 7-49

Oracle Internal & Oracle Academy Use Only

Clave primaria Clave ajena Restriccin de control

Gestin de Datos y Simultaneidad


Oracle Internal & Oracle Academy Use Only

Copyright 2005, Oracle. Todos los derechos reservados.

Objetivos

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 8-2

Oracle Internal & Oracle Academy Use Only

Al finalizar esta leccin, debera estar capacitado para lo siguiente: Gestionar datos mediante el uso de SQL Identificar y administrar objetos PL/SQL Describir los disparadores y los eventos disparadores Controlar y resolver conflictos de bloqueo

Manipulacin de Datos mediante SQL

> SQL PL/SQL Bloqueos

SQL> INSERT INTO employees VALUES 2 (9999,'Bob','Builder','bob@abc.net',NULL,SYSDATE, 3 'IT_PROG',NULL,NULL,100,90); 1 row created. SQL> UPDATE employees SET SALARY=6000 2 WHERE EMPLOYEE_ID = 9999; 1 row updated. SQL> DELETE from employees 2 WHERE EMPLOYEE_ID = 9999; 1 row deleted.

Copyright 2005, Oracle. Todos los derechos reservados.

Manipulacin de Datos mediante SQL Las sentencias bsicas del lenguaje de manipulacin de datos (DML) son el modo en que se manipulan los datos en la base de datos. Aunque estas sentencias se mencionaron brevemente en la leccin con el ttulo Movimiento de Datos, se tratarn ms detalladamente en esta leccin.

Base de Datos Oracle 10g: Taller de Administracin I 8-3

Oracle Internal & Oracle Academy Use Only

Comando INSERT

Crear filas de una en una. Insertar varias filas de otra tabla.

Copyright 2005, Oracle. Todos los derechos reservados.

Comando INSERT La sentencia bsica INSERT crea filas de una en una. Mediante lo que se denomina subseleccin, puede hacer que el comando INSERT copie filas de una tabla a otra. Este mtodo tambin se denomina sentencia INSERT SELECT. El ejemplo de la diapositiva es el siguiente comando INSERT:
insert into dept_80 (select * from employees where department_id = 80);

En este caso la tabla dept_80 tiene exactamente la misma estructura que la tabla employees. Si este no es el caso, puede nombrar las columnas de cada tabla. Los valores seleccionados en la sentencia SELECT se asocian a las columnas de la tabla en la que se insertan, respectivamente. Los valores de columna coinciden en el orden especificado en las sentencias INSERT y SELECT. Todo lo que se necesita es que los tipos de dato coincidan. Por ejemplo:
insert into just_names (first, last) (select first_name, last_name from employees);

Aqu, la tabla just_names slo tiene dos columnas que tienen el mismo tipo de dato que las columnas first_name y last_name de la tabla employees. El uso del mtodo INSERT SELECT es un modo de cargar datos en bloque de una o ms tablas en otra tabla.

Base de Datos Oracle 10g: Taller de Administracin I 8-4

Oracle Internal & Oracle Academy Use Only

Comando UPDATE

Utilice el comando UPDATE para cambiar cero o ms filas de una tabla.

Copyright 2005, Oracle. Todos los derechos reservados.

Comando UPDATE El comando UPDATE se utiliza para modificar filas existentes de una tabla. El nmero de filas modificadas por el comando UPDATE depende de la condicin WHERE. Si se omite la clusula WHERE, se cambian todas las filas. Si ninguna fila cumple la condicin WHERE, no se realizarn modificaciones.

Base de Datos Oracle 10g: Taller de Administracin I 8-5

Oracle Internal & Oracle Academy Use Only

Comando DELETE

Utilice el comando DELETE para eliminar cero o ms filas de una tabla.

Copyright 2005, Oracle. Todos los derechos reservados.

Comando DELETE El comando DELETE se utiliza para eliminar filas existentes de una tabla. El nmero de filas modificadas por el comando DELETE depende de la condicin WHERE. Si se omite la clusula WHERE, se eliminan todas las filas. Si ninguna fila cumple la condicin WHERE, no se eliminar ninguna fila. Tenga en cuenta en el ejemplo que cuando no se suprime ninguna fila, no es un error; el mensaje devuelto slo indica que se han eliminado cero filas de la tabla.

Base de Datos Oracle 10g: Taller de Administracin I 8-6

Oracle Internal & Oracle Academy Use Only

Comando MERGE

Utilice el comando MERGE para realizar las acciones de INSERT y UPDATE con un nico comando.

Copyright 2005, Oracle. Todos los derechos reservados.

Comando MERGE El comando MERGE realiza las acciones de UPDATE e INSERT en el mismo comando. Puede fusionar datos de un origen de datos con otro, insertar de manera opcional filas nuevas y actualizar columnas especficas si ya existe una fila. Considere este ejemplo: Algunos datos de la tabla JOBS tienen el siguiente aspecto:
JOB_ID ---------AD_PRES FI_ACCOUNT ST_CLERK IT_PROG JOB_TITLE MIN_SALARY MAX_SALARY -------------- ---------- ---------President 20000 40000 Accountant 4200 9000 Stock Clerk 2000 5000 Programmer 4000 10000

Base de Datos Oracle 10g: Taller de Administracin I 8-7

Oracle Internal & Oracle Academy Use Only

Comando MERGE (continuacin) A continuacin se muestra el contenido de la tabla JOBS_ACQUISITION:


JOB_ID ---------AD_PRES DBA SA JOB_TITLE MIN_SALARY MAX_SALARY -------------- ---------- ---------VP 20000 40000 DB Admin 4200 9000 Sys Admin 2000 5000

El comando MERGE inserta en la tabla JOBS cualquier fila con un JOB_ID nuevo y actualiza las filas JOBS existentes con JOB_TITLE, si ya existe JOB_ID. El resultado es que el cargo President se cambia por VP y se agregan los trabajos nuevos SA y DBA.

Base de Datos Oracle 10g: Taller de Administracin I 8-8

Oracle Internal & Oracle Academy Use Only

Comandos COMMIT y ROLLBACK


Los siguientes comandos se utilizan para terminar una transaccin: COMMIT: Hace que el cambio sea permanente ROLLBACK: Deshace el cambio

Copyright 2005, Oracle. Todos los derechos reservados.

Comandos COMMIT y ROLLBACK Por defecto, cada comando DML que se introduce no est confirmado. Varias herramientas (incluida iSQL*Plus) tienen opciones que se pueden definir para confirmar cada comando o un grupo de comandos. Antes de emitir COMMIT o ROLLBACK, los cambios tienen un estado pendiente. Slo el usuario que ha realizado el cambio puede ver los datos cambiados. Otros usuarios pueden seleccionar los mismos datos, pero los vern como estaban antes de realizar cualquier cambio. Ningn otro usuario puede emitir DML en los mismos datos que otro usuario ha cambiado. Por defecto, un usuario que intente realizar un cambio en la misma fila que otro usuario tiene que esperar a que el primer usuario confirme el cambio o realice un rollback. El mecanismo de bloqueo de la base de datos Oracle controla esta operacin de forma automtica. Puesto que el mecanismo de bloqueo est incorporado en la propia fila, es imposible que la base de datos se quede sin bloqueos.

Base de Datos Oracle 10g: Taller de Administracin I 8-9

Oracle Internal & Oracle Academy Use Only

PL/SQL

SQL > PL/SQL Bloqueos

Copyright 2005, Oracle. Todos los derechos reservados.

PL/SQL PL/SQL es un lenguaje de programacin de cuarta generacin propietario de Oracle que proporciona extensiones de procedimiento a SQL. PL/SQL proporciona un entorno de programacin comn para las aplicaciones y las bases de datos Oracle independientemente del sistema operativo o de la plataforma de hardware. Con PL/SQL, puede manipular datos con sentencias SQL y controlar el flujo de programas con estructuras de procedimientos como IF-THEN, CASE y LOOP. Tambin puede declarar constantes y variables, definir procedimientos y funciones, utilizar recopilaciones y tipos de objetos, e interrumpir errores de tiempo de ejecucin. El programa PL/SQL tambin puede llamar a programas escritos en otros lenguajes como C, C++ y Java. PL/SQL tambin proporciona proteccin de los datos. El emisor necesita conocer las estructuras de datos que se estn leyendo o manipulando para realizar la llamada. Asimismo, tambin necesita tener permiso para acceder a esos objetos; si el emisor tiene permiso para ejecutar el programa PL/SQL, es todo lo que necesita. De manera opcional, existe otro modo de permisos para llamar a PL/SQL en el que el emisor tiene que disponer de permiso para ejecutar cada sentencia que se ejecute durante el programa llamado.

Base de Datos Oracle 10g: Taller de Administracin I 8-10

Oracle Internal & Oracle Academy Use Only

La extensin de lenguaje de procedimiento para SQL (PL/SQL) de Oracle es un lenguaje de programacin de cuarta generacin (4GL). Proporciona: Extensiones de procedimiento a SQL Portabilidad entre plataformas y productos Mayor nivel de seguridad y de proteccin de la integridad de los datos Soporte para programacin orientada a objetos

PL/SQL (continuacin) Puesto que se ejecuta en la base de datos, el cdigo PL/SQL es muy eficaz para las operaciones que utilizan muchos datos y minimiza el trfico de red en las aplicaciones. Para obtener ms informacin sobre estructuras de procedimientos y usos de PL/SQL, consulte la documentacin PL/SQL Users Guide and Reference.

Base de Datos Oracle 10g: Taller de Administracin I 8-11

Oracle Internal & Oracle Academy Use Only

Administracin de Objetos PL/SQL

Copyright 2005, Oracle. Todos los derechos reservados.

Administracin de Objetos PL/SQL Como DBA, normalmente no es responsable de cargar el cdigo PL/SQL en la base de datos ni de ayudar a los desarrolladores a solucionar problemas. En general tampoco se espera que escriba aplicaciones mediante el uso de PL/SQL, pero debera estar suficientemente familiarizado con los diferentes objetos PL/SQL para realizar recomendaciones a los desarrolladores de aplicaciones e identificar objetos con problemas. En Database Control, puede acceder a objetos PL/SQL si hace clic en el separador Administration situado bajo Schema. Al hacer clic en el tipo de objeto, puede visualizar, modificar y crear el tipo de objeto PL/SQL seleccionado.

Base de Datos Oracle 10g: Taller de Administracin I 8-12

Oracle Internal & Oracle Academy Use Only

Los administradores de la base de datos deberan estar capacitados para: Identificar problemas de objetos PL/SQL Recomendar el uso adecuado de PL/SQL Cargar objetos PL/SQL en la base de datos Ayudar a los desarrolladores de PL/SQL a solucionar problemas

Objetos PL/SQL

Copyright 2005, Oracle. Todos los derechos reservados.

Objetos PL/SQL Paquete: Un paquete es una recopilacin de procedimientos y funciones que estn relacionados lgicamente. Esta parte del paquete tambin se denomina especificacin y describe la interfaz para las aplicaciones; declara los tipos, variables, constantes, excepciones, cursores y subprogramas disponibles para su uso. Cuerpo del paquete: El cuerpo define totalmente los cursores y subprogramas, y de este modo implementa la especificacin. El cuerpo contiene los detalles de implementacin y las declaraciones privadas, que estn ocultas para el emisor. Cuerpo del tipo: Es una recopilacin de mtodos (procedimientos y funciones) asociados a los tipos de dato definidos por el usuario. Para obtener ms informacin sobre los tipos de dato definidos por el usuario, consulte Oracle Database Application Developers Guide Object Relational Features. Procedimiento: Un procedimiento es un bloque PL/SQL que realiza una accin concreta. Funcin: Una funcin es un bloque PL/SQL que devuelve un nico valor mediante el comando PL/SQL RETURN. Es un procedimiento que tiene un valor de retorno. Disparador: Un disparador es un bloque PL/SQL que se ejecuta cuando se produce un evento concreto en la base de datos. Estos eventos se pueden basar en una tabla, por ejemplo, cuando se inserta una fila en la tabla. Tambin pueden ser eventos de base de datos, como cuando un usuario se conecta a la base de datos.
Base de Datos Oracle 10g: Taller de Administracin I 8-13

Oracle Internal & Oracle Academy Use Only

Existen muchos tipos de objetos de base de datos PL/SQL: Paquete Cuerpo del paquete Cuerpo del tipo Procedimiento Funcin Disparador

Funciones

Copyright 2005, Oracle. Todos los derechos reservados.

Funciones Las funciones PL/SQL se utilizan normalmente para calcular un valor. Existen muchas funciones incorporadas como SYSDATE, SUM, AVG y TO_DATE. Los desarrolladores tambin crean sus propias funciones al escribir aplicaciones. El cdigo para una funcin PL/SQL debe contener una sentencia RETURN. Para crear funciones PL/SQL hay que introducir un nombre, un esquema y un cdigo de origen, como se muestra en la diapositiva. La funcin compute_tax mostrada en la diapositiva se crea con el siguiente comando SQL:
CREATE OR REPLACE FUNCTION compute_tax (salary NUMBER) RETURN NUMBER AS BEGIN IF salary<5000 THEN RETURN salary*.15; ELSE RETURN salary*.33; END IF; END; /

Base de Datos Oracle 10g: Taller de Administracin I 8-14

Oracle Internal & Oracle Academy Use Only

Procedimientos

Los procedimientos se utilizan para realizar una accin concreta. Estos procedimientos: Transfieren valores de entrada y salida mediante una lista de argumentos Se llaman con el comando CALL

Copyright 2005, Oracle. Todos los derechos reservados.

Procedimientos Los procedimientos PL/SQL realizan una accin concreta. Al igual que las funciones, los procedimientos pueden aceptar valores de entrada y realizar sentencias condicionales como IF-THEN, CASE y LOOP.

Base de Datos Oracle 10g: Taller de Administracin I 8-15

Oracle Internal & Oracle Academy Use Only

Paquetes
Los paquetes son recopilaciones de funciones y procedimientos. Cada paquete debe constar de dos objetos: Especificacin del paquete Cuerpo del paquete

Especificacin del paquete

Copyright 2005, Oracle. Todos los derechos reservados.

Paquetes Los paquetes son recopilaciones de funciones y procedimientos. Existen ventajas de rendimiento y mantenimiento al agrupar funciones y procedimientos en un nico paquete. Cada paquete debe estar formado por dos objetos de base de datos compilados por separado: Especificacin del paquete: Este objeto (en ocasiones denominado cabecera del paquete) tiene un tipo de objeto PACKAGE y slo contiene la definicin de los procedimientos, funciones y variables del paquete. Cuerpo del paquete: Este objeto tiene un tipo de objeto PACKAGE BODY y contiene el cdigo real de los subprogramas definidos en la especificacin del paquete. Los procedimientos y funciones que se llaman desde un paquete se llaman mediante una notacin de puntos:
nombre_paquete.nombre_procedimiento o nombre_funcin

En el paquete que se muestra en la diapositiva, los subprogramas se pueden llamar de la siguiente forma:
SQL> SELECT money.compute_tax(salary) FROM hr.employees WHERE employee_id=107; SQL> EXECUTE money.give_raise_to_all;

Base de Datos Oracle 10g: Taller de Administracin I 8-16

Oracle Internal & Oracle Academy Use Only

Especificacin y Cuerpo del Paquete

Copyright 2005, Oracle. Todos los derechos reservados.

Cuerpo del Paquete Los cuerpos de paquetes: Estn separados de las especificaciones del paquete. Por este motivo, el cdigo del cuerpo se puede cambiar y recompilar, y otros objetos que son dependientes de la especificacin no se marcan como no vlidos. Contienen el cdigo para los subprogramas definidos en la especificacin del paquete. Aqu es dnde se realiza el trabajo. La especificacin muestra cmo llamar a los subprogramas del paquete; el cuerpo es la seccin de cdigo. No se pueden compilar a menos que la especificacin del paquete ya se haya compilado. Puede crear una especificacin sin cuerpo, pero no puede crear un cuerpo sin especificacin. Se pueden ajustar para ocultar detalles del cdigo. Wrap es un programa autnomo que oculta cdigo de origen PL/SQL de manera que puede entregar aplicaciones PL/SQL sin exponer este cdigo de origen. Para obtener ms informacin sobre el uso de Wrap, consulte PL/SQL Users Guide and Reference.

Base de Datos Oracle 10g: Taller de Administracin I 8-17

Oracle Internal & Oracle Academy Use Only

Paquetes Incorporados
La base de datos Oracle tiene ms de 350 paquetes PL/SQL incorporados que proporcionan:
Utilidades de administracin y mantenimiento Funciones ampliadas

Utilice el comando DESCRIBE para visualizar los subprogramas.

Copyright 2005, Oracle. Todos los derechos reservados.

Paquetes Incorporados Los paquetes PL/SQL incorporados que se proporcionan con la base de datos Oracle proporcionan acceso a funciones ampliadas de la base de datos, como el servicio de gestin de colas avanzadas, el cifrado y la entrada/salida (E/S) de archivos. Tambin incluyen muchas utilidades de administracin y de mantenimiento. Los paquetes que utiliza un administrador dependen del tipo de aplicaciones que sirve la base de datos. A continuacin se muestran algunos de los paquetes de administracin y de mantenimiento ms comunes: DBMS_STATS: Recopilacin, visualizacin y modificacin de estadsticas del optimizador DBMS_OUTPUT: Generacin de salida de PL/SQL DBMS_SESSION: Acceso PL/SQL a las sentencias ALTER SESSION y SET ROLE DBMS_RANDOM: Generacin de nmeros aleatorios DBMS_UTILITY: Obtencin de la hora, hora de la CPU y la informacin de versin; clculo de un valor hash y realizacin de otras muchas funciones DBMS_SCHEDULER: Planificacin de funciones y procedimientos que se pueden llamar desde PL/SQL DBMS_CRYPTO: Cifrado y descifrado de datos de la base de datos UTL_FILE: Lectura y escritura en los archivos del sistema operativo desde PL/SQL Nota: Para obtener ms informacin sobre estos y otros paquetes incorporados, consulte el manual PL/SQL Packages and Types Reference.
Base de Datos Oracle 10g: Taller de Administracin I 8-18

Oracle Internal & Oracle Academy Use Only

Disparadores

Copyright 2005, Oracle. Todos los derechos reservados.

Disparadores Los disparadores son objetos de cdigo PL/SQL que se almacenan en la base de datos y que se ejecutan o arrancan automticamente cuando sucede algo. La base de datos Oracle permite que muchas acciones sirvan como eventos disparadores, entre las que se incluyen una insercin en una tabla, la conexin de un usuario a la base de datos y el intento de borrar una tabla o el cambio de valores de auditora. Los disparadores pueden llamar a otros procedimientos o funciones. Lo ms recomendable es acortar todo lo posible el cdigo del disparador y colocar todo aquello que necesite un cdigo ms largo en un paquete independiente. Los DBA utilizan disparadores para ayudar en las auditoras basadas en valores (se tratar en la leccin titulada Implementacin de Seguridad de la Base de Datos Oracle), para aplicar restricciones complejas y para automatizar muchas tareas. Por ejemplo, el disparador SECURE_EMPLOYEES que se muestra en la diapositiva registra todas las sentencias DML en una tabla de mantenimiento.

Base de Datos Oracle 10g: Taller de Administracin I 8-19

Oracle Internal & Oracle Academy Use Only

Eventos Disparadores

Tipo de Evento DML

Ejemplos de Eventos

INSERT, UPDATE, DELETE


CREATE, DROP, ALTER, GRANT, REVOKE, RENAME

DDL Base de datos

Copyright 2005, Oracle. Todos los derechos reservados.

Eventos Disparadores Existen muchos eventos que se pueden utilizar para arrancar un disparador y se dividen en tres categoras. Los disparadores de eventos DML se arrancan cuando las sentencias modifican los datos. Los disparadores de eventos DDL se arrancan cuando las sentencias crean un objeto o lo modifican de alguna forma. Los disparadores de evento de base de datos se arrancan cuando suceden ciertos eventos en la base de datos. Se puede especificar que la mayora de los disparadores arranquen antes o despus de que se produzca el evento. Con los eventos DML, el disparador se puede disear para que se arranque una vez con la sentencia o con cada fila que se modifique.

Base de Datos Oracle 10g: Taller de Administracin I 8-20

Oracle Internal & Oracle Academy Use Only

LOGON, LOGOFF, STARTUP, SHUTDOWN, SERVERERROR

Bloqueos

SQL PL/SQL > Bloqueos

Los bloqueos evitan que varias sesiones cambien los mismos datos al mismo tiempo. Se obtienen automticamente en el nivel ms bajo posible para una sentencia determinada. No escalan.

Transaccin 1
SQL> UPDATE employees 2 SET salary=salary+100 3 WHERE employee_id=100;

Transaccin 2
SQL> UPDATE employees 2 SET salary=salary*1.1 3 WHERE employee_id=100;

Copyright 2005, Oracle. Todos los derechos reservados.

Bloqueos Para que la base de datos permita que una sesin modifique datos, la sesin debe bloquear primero los datos que se van a modificar. Un bloqueo ofrece a la sesin el control exclusivo sobre los datos, para que ninguna otra transaccin pueda modificar los datos bloqueados hasta que se libera el bloqueo. Las transacciones pueden bloquear filas individuales de datos, varias filas o incluso tablas completas. La base de datos Oracle 10g soporta tanto bloqueo manual como el automtico. Los bloqueos adquiridos automticamente eligen siempre el nivel de bloqueo ms bajo posible para minimizar posibles conflictos con otras transacciones.

Base de Datos Oracle 10g: Taller de Administracin I 8-21

Oracle Internal & Oracle Academy Use Only

Mecanismo de Bloqueo
Alto nivel de simultaneidad de datos:
Bloqueos de nivel de fila para inserciones, actualizaciones y supresiones No se necesita ningn bloqueo en las consultas

Transaccin 1
SQL> UPDATE employees 2 SET salary=salary+100 3 WHERE employee_id=100;

Transaccin 2
SQL> UPDATE employees 2 SET salary=salary*1.1 3 WHERE employee_id=101;

Copyright 2005, Oracle. Todos los derechos reservados.

Mecanismo de Bloqueo El mecanismo de bloqueo est diseado para proporcionar el mximo grado posible de simultaneidad de datos en la base de datos. Las transacciones que modifican datos adquieren bloqueos de nivel de fila en lugar de bloqueos de nivel de tabla o de bloque. Las modificaciones de objetos (como movimientos de tabla) obtienen bloqueos de nivel de objeto en lugar de bloqueos de todo el esquema o base de datos. Las consultas de datos no necesitan ningn bloqueo y una consulta se realiza correctamente aunque los datos estn bloqueados (mostrando siempre el original, el valor previo al bloqueo reconstruido a partir de informacin de deshacer). Cuando varias transacciones necesitan bloquear el mismo recurso, la primera transaccin que solicita el bloqueo lo obtiene. Las dems transacciones esperan hasta que termina la primera transaccin. El mecanismo de cola es automtico y no necesita la interaccin del administrador. Todos los bloqueos se liberan al final de una transaccin. Las transacciones se completan cuando se emite un comando COMMIT o ROLLBACK. En caso de una transaccin fallida, el mismo proceso en segundo plano que automticamente realiza un rollback de los cambios de la transaccin fallida libera todos los bloqueos retenidos por esa transaccin.

Base de Datos Oracle 10g: Taller de Administracin I 8-22

Oracle Internal & Oracle Academy Use Only

Gestin automtica de la cola Bloqueos retenidos hasta que finaliza la transaccin (con la operacin COMMIT o ROLLBACK)

Simultaneidad de Datos
Hora: Transaccin 1
UPDATE hr.employees SET salary=salary+100 WHERE employee_id=100; UPDATE hr.employees SET salary=salary+100 WHERE employee_id=101;

Transaccin 2

... Transaccin x

...
UPDATE hr.employees SET salary=salary+100 WHERE employee_id=xxx;

Copyright 2005, Oracle. Todos los derechos reservados.

Simultaneidad de Datos El mecanismo de bloqueo es por defecto un modo de bloqueo detallado de nivel de fila. Distintas transacciones pueden estar actualizando diferentes filas dentro de la misma tabla sin interferir las unas en las otras. Aunque el modelo por defecto es el bloqueo en el nivel de fila, la base de datos Oracle soporta el bloqueo manual en niveles superiores si es necesario:
SQL> LOCK TABLE employees IN EXCLUSIVE MODE; Table(s) Locked.

Con la sentencia anterior, cualquier otra transaccin que intente actualizar una fila de la tabla bloqueada debe esperar hasta que termine la transaccin que emiti la solicitud de bloqueo. EXCLUSIVE es el modo de bloqueo ms absoluto. Los otros modos de bloqueo son los siguientes: ROW SHARE: Permite el acceso simultneo a la tabla bloqueada, pero prohbe que las sesiones bloqueen toda la tabla para un acceso exclusivo. ROW EXCLUSIVE: Igual que ROW SHARE, pero tambin prohbe el bloqueo en el modo SHARE. Los bloqueos ROW EXCLUSIVE se obtienen automticamente al actualizar, insertar o suprimir datos.

Base de Datos Oracle 10g: Taller de Administracin I 8-23

Oracle Internal & Oracle Academy Use Only

09:00:00 Transaccin 3

UPDATE hr.employees SET salary=salary+100 WHERE employee_id=102;

Simultaneidad de Datos (continuacin) SHARE: Permite consultas simultneas, pero prohbe actualizaciones en la tabla bloqueada. Es necesario un bloqueo SHARE (y se solicita automticamente) para crear un ndice en una tabla. SHARE ROW EXCLUSIVE: Se utiliza para consultar una tabla completa y permitir que otros consulten filas de la misma, pero prohbe que los dems bloqueen la tabla en modo SHARE o actualicen filas. EXCLUSIVE: Permite realizar consultas de la tabla bloqueada pero prohbe las dems actividades en ella. Es necesario un bloqueo EXCLUSIVE para borrar una tabla. Como cualquier solicitud de bloqueo, las sentencias de bloqueo manual esperan hasta que todas las sesiones que ya tienen bloqueos o que los han solicitado con anterioridad liberen sus bloqueos. El comando LOCK acepta un argumento especial que controla el comportamiento de espera, NOWAIT. NOWAIT devuelve el control inmediatamente si la tabla especificada ya est bloqueada por otra sesin:
SQL> LOCK TABLE hr.employees IN SHARE MODE NOWAIT; LOCK TABLE hr.employees IN SHARE MODE NOWAIT * ERROR at line 1: ORA-00054: resource busy and acquire with NOWAIT specified

Normalmente no es necesario bloquear manualmente los objetos. El mecanismo de bloqueo automtico proporciona la simultaneidad de datos necesaria para la mayora de las aplicaciones.

Base de Datos Oracle 10g: Taller de Administracin I 8-24

Oracle Internal & Oracle Academy Use Only

Bloqueos de DML

Transaccin 1
SQL> UPDATE employees 2 SET salary=salary*1.1 3 WHERE employee_id= 107; 1 row updated.

Transaccin 2
SQL> UPDATE employees 2 SET salary=salary*1.1 3 WHERE employee_id= 106; 1 row updated.

Las transacciones de DML deben adquirir dos bloqueos: Bloqueo EXCLUSIVE de fila para la fila o filas que se van a actualizar Bloqueo de nivel de tabla ROW EXCLUSIVE para la tabla que contiene las filas

Copyright 2005, Oracle. Todos los derechos reservados.

Bloqueos de DML Las transacciones de DML obtienen dos bloqueos: Bloqueo EXCLUSIVE de fila para la fila o filas que se van a actualizar. Bloqueo de nivel de tabla ROW EXCLUSIVE en la tabla que se va a actualizar. Sirve para evitar que otra sesin bloquee la tabla completa (posiblemente para borrarla o truncarla) mientras se realiza el cambio.

Base de Datos Oracle 10g: Taller de Administracin I 8-25

Oracle Internal & Oracle Academy Use Only

Mecanismo de Puesta en Cola


El mecanismo de puesta en cola realiza el seguimiento de lo siguiente: Sesiones en espera de bloqueos Modo de bloqueo solicitado Orden en el que las sesiones solicitaron el bloqueo

Copyright 2005, Oracle. Todos los derechos reservados.

Mecanismo de Puesta en Cola Las solicitudes de bloqueos se ponen en cola automticamente. En cuanto termina la transaccin que retiene un bloqueo, la siguiente sesin de la cola recibe el bloqueo. El mecanismo de puesta en cola realiza el seguimiento del orden en el que se han solicitado los bloqueos y el modo de bloqueo solicitado. Las sesiones que ya retienen un bloqueo pueden solicitar convertir dicho bloqueo sin tener que ir al final de la cola. Por ejemplo, si una sesin retiene un bloqueo SHARE en una tabla, la sesin puede solicitar convertir el bloqueo SHARE en un bloqueo EXCLUSIVE. Siempre que nadie ms tenga ya un bloqueo EXCLUSIVE o SHARE de la tabla, se otorgar un bloqueo SHARE a la sesin que retiene el bloqueo EXCLUSIVE sin tener que volver a esperar en la cola.

Base de Datos Oracle 10g: Taller de Administracin I 8-26

Oracle Internal & Oracle Academy Use Only

Conflictos de Bloqueo
Transaccin 1
UPDATE employees SET salary=salary+100 WHERE employee_id=100; 1 row updated. UPDATE employees SET COMMISION_PCT=2 WHERE employee_id=101; La sesin espera en la cola debido a un conflicto de bloqueo. La sesin an est en espera. 16:30:00

Hora
9:00:00

Transaccin 2
UPDATE employees SET salary=salary+100 WHERE employee_id=101; 1 row updated. SELECT sum(salary) FROM employees; SUM(SALARY) ----------692634 Muchas selecciones, inserciones, actualizaciones y supresiones durante las ltimas 7,5 horas, pero ninguna confirmacin ni rollback. commit;

9:00:05

1 row updated. La sesin contina.

16:30:01

Copyright 2005, Oracle. Todos los derechos reservados.

Conflictos de Bloqueo Los conflictos de bloqueo se producen con frecuencia, pero normalmente se resuelven con el tiempo y el mecanismo de cola. En algunos casos excepcionales, puede que sea necesaria la intervencin del administrador en un conflicto de bloqueo. En el caso de la diapositiva, la transaccin 2 obtiene un bloqueo de una nica fila a las 9:00:00 y no se realiza la confirmacin, dejando el bloqueo en su lugar. La transaccin 1 intenta actualizar toda la tabla a las 9:00:05, lo que necesita un bloqueo de todas las filas. La transaccin 2 bloquea la transaccin 1 hasta que la transaccin 2 realiza la confirmacin a las 16:30:01. El usuario que intenta realizar la transaccin 1 se pondra en contacto casi con toda probabilidad con el administrador para solicitar ayuda en este caso, y el DBA debera detectar y resolver el conflicto.

Base de Datos Oracle 10g: Taller de Administracin I 8-27

Oracle Internal & Oracle Academy Use Only

Posibles Causas de Conflictos de Bloqueo


Cambios sin confirmar Transacciones con una ejecucin muy larga Niveles altos de bloqueo innecesarios

Copyright 2005, Oracle. Todos los derechos reservados.

Posibles Causas de Conflictos de Bloqueo La causa ms comn de conflictos de bloqueo es un cambio sin confirmar, aunque existen algunas otras causas posibles: Transacciones con una ejecucin muy larga: Muchas aplicaciones utilizan el procesamiento por lotes para realizar actualizaciones en bloque. Estos trabajos por lotes normalmente se planifican para momentos de baja o ninguna actividad de los usuarios, pero puede que en algunos casos no hayan terminado o tarden demasiado en ejecutarse durante el perodo de baja actividad. Los conflictos de bloqueo son comunes cuando la transaccin y el procesamiento por lotes se estn realizando simultneamente. Niveles altos de bloqueo innecesarios: No todas las bases de datos soportan el bloqueo de nivel de fila (Oracle introdujo el soporte para los bloqueos de nivel de fila en 1988 con la versin 6). Algunas bases de datos an realizan bloqueos en el nivel de tabla o de pgina. Los desarrolladores que escriben aplicaciones destinadas a ejecutarse en muchas bases de datos diferentes suelen escribir sus aplicaciones con niveles de bloqueo artificialmente altos para que la base de datos Oracle se comporte de manera similar a aquellos sistemas de base de datos con menos posibilidades. Adems, los desarrolladores nuevos en Oracle a veces codifican innecesariamente en niveles de bloqueo ms altos de los que necesita la base de datos Oracle.

Base de Datos Oracle 10g: Taller de Administracin I 8-28

Oracle Internal & Oracle Academy Use Only

Deteccin de Conflictos de Bloqueo

Seleccione Blocking Sessions en la pgina Performance.

Haga clic en el enlace Session ID para ver informacin sobre la sesin bloqueante, que incluye la sentencia SQL real.
Copyright 2005, Oracle. Todos los derechos reservados.

Deteccin de Conflictos de Bloqueo Utilice la pgina Blocking Sessions de Enterprise Manager para localizar conflictos de bloqueo. Las solicitudes de bloqueo en conflicto se muestran con un diseo jerrquico en el que la sesin que retiene el bloqueo se sita en la parte superior, seguidas de todas las sesiones que estn en cola para el bloqueo. Para cada sesin implicada en el conflicto se proporciona el nombre de usuario, el identificador de sesin y el nmero de segundos que la sesin ha estado en espera. Acceda al identificador de sesin para ver las sentencias SQL reales ejecutadas o solicitadas por la sesin en ese momento. El monitor de diagnstico de base de datos automtico (ADDM) tambin detecta de manera automtica los conflictos de bloqueo y puede avisarle de las tendencias de bloqueo ineficaces.

Base de Datos Oracle 10g: Taller de Administracin I 8-29

Oracle Internal & Oracle Academy Use Only

Resolucin de Conflictos de Bloqueo

Para resolver un conflicto de bloqueo: Haga que la sesin que retiene el bloqueo realice una confirmacin o un rollback Termine la sesin que retiene el bloqueo como ltimo recurso

Copyright 2005, Oracle. Todos los derechos reservados.

Resolucin de Conflictos de Bloqueo Para resolver un conflicto de bloqueo, la sesin que retiene el bloqueo debe liberarlo. El mejor modo de que la sesin libere el bloqueo es ponerse en contacto con el usuario y pedir que termine la transaccin. En caso de emergencia, el administrador puede terminar la sesin que retiene el bloqueo haciendo clic en el botn Kill Session. Recuerde que cuando se mata una sesin todo el trabajo de la transaccin actual se pierde (se realiza un rollback). Un usuario cuya sesin se ha matado debe volver a conectarse y rehacer todo el trabajo desde la ltima confirmacin de la sesin matada. Los usuarios cuyas sesiones se han matado recibirn el siguiente error la siguiente vez que intenten emitir una sentencia SQL:
ORA-03135: connection lost contact

Base de Datos Oracle 10g: Taller de Administracin I 8-30

Oracle Internal & Oracle Academy Use Only

Resolucin de Conflictos de Bloqueo mediante SQL


Las sentencias SQL se pueden utilizar para determinar la sesin de bloqueo y matarla.
1
SQL> select sid, serial#, username from v$session where sid in (select blocking_session from v$session)

Resultado:

SQL> alter system kill session '144,8982' immediate;

Copyright 2005, Oracle. Todos los derechos reservados.

Resolucin de Conflictos de Bloqueo mediante SQL La manipulacin de sesiones, al igual que la mayora del resto de tareas realizadas en Enterprise Manager, tambin se puede realizar mediante la emisin de sentencias SQL. La tabla v$session contiene detalles de todas las sesiones conectadas. blocking_session es el identificador de sesin de la sesin que se est bloqueando. De esta forma, si consulta el valor de SID y SERIAL#, donde SID se corresponde con un identificador de sesin de bloqueo, dispondr de la informacin necesaria para realizar la operacin kill session.

Base de Datos Oracle 10g: Taller de Administracin I 8-31

Oracle Internal & Oracle Academy Use Only

Interbloqueos

Transaccin 1

Transaccin 2

UPDATE employees SET salary = salary x 1.1 WHERE employee_id = 1000; UPDATE employees SET salary = salary x 1.1 WHERE employee_id = 2000; ORA-00060: Deadlock detected while waiting for resource

9:00

UPDATE employees SET manager = 1342 WHERE employee_id = 2000; UPDATE employees SET manager = 1342 WHERE employee_id = 1000;

9:15

9:16

Copyright 2005, Oracle. Todos los derechos reservados.

Interbloqueos Un interbloqueo es un ejemplo especial de conflicto de bloqueo. Los interbloqueos surgen cuando dos o ms sesiones esperan los datos que bloquean entre ellas. Puesto que cada una est esperando a la otra, ninguna puede terminar la transaccin para resolver el conflicto. La base de datos Oracle detecta automticamente los interbloqueos y termina la sentencia con un error. La respuesta adecuada a ese error es una accin de confirmacin o de rollback, que libera cualquier otro bloqueo de esa sesin para que la otra sesin pueda continuar con su transaccin. En el ejemplo de la diapositiva, la transaccin 1 debe realizar una confirmacin o un rollback como respuesta al error detectado de interbloqueo. Si realiza una confirmacin, necesitar volver a enviar la segunda actualizacin para terminar su transaccin. Si realiza un rollback, debe volver a enviar ambas sentencias para terminar su transaccin.

Base de Datos Oracle 10g: Taller de Administracin I 8-32

Oracle Internal & Oracle Academy Use Only

Resumen

En

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 8-33

Oracle Internal & Oracle Academy Use Only

esta leccin, debe haber aprendido lo siguiente: Gestionar datos mediante el uso de SQL Identificar y administrar objetos PL/SQL Describir los disparadores y los eventos disparadores Controlar y resolver conflictos de bloqueo

Visin General de la Prctica: Gestin de Datos y Simultaneidad


En esta prctica se abordan los siguientes temas: Identificacin de conflictos de bloqueo Resolucin de conflictos de bloqueo

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 8-34

Oracle Internal & Oracle Academy Use Only

Gestin de Datos de Deshacer


Oracle Internal & Oracle Academy Use Only

Copyright 2005, Oracle. Todos los derechos reservados.

Objetivos

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 9-2

Oracle Internal & Oracle Academy Use Only

Al finalizar esta leccin, debera estar capacitado para lo siguiente: Explicar DML y la generacin de datos de deshacer Controlar y administrar datos de deshacer Describir la diferencia entre datos de deshacer y de redo Configurar la retencin de deshacer Garantizar la retencin de deshacer Utilizar el Asesor de Deshacer

Manipulacin de Datos

El lenguaje de manipulacin de datos (DML) consta de las siguientes sentencias SQL:


INSERT UPDATE DELETE MERGE

DML siempre se ejecuta como parte de una transaccin, que puede ser:
Una transaccin en la que se ha realizado rollback, mediante el comando ROLLBACK Una transaccin confirmada, mediante el comando COMMIT

Copyright 2005, Oracle. Todos los derechos reservados.

Manipulacin de Datos Los datos se manipulan, o modifican, mediante la clase DML de sentencias SQL: INSERT, UPDATE, DELETE y MERGE. Estas sentencias se ejecutan como parte de una transaccin, que se inicia con la primera sentencia DML correcta y termina con un comando COMMIT o ROLLBACK. En las transacciones slo se puede realizar una operacin de confirmacin o de rollback. La operacin de rollback tambin se puede producir si hay un fallo del sistema o de proceso. Nota: El comando MERGE realiza una combinacin de inserciones y actualizaciones para fusionar datos de una tabla en otra. Este tema se aborda en la leccin titulada Gestin de Datos y Simultaneidad.

Base de Datos Oracle 10g: Taller de Administracin I 9-3

Oracle Internal & Oracle Academy Use Only

Datos de Deshacer
Los datos de deshacer: Son una copia de los datos originales antes de la modificacin Se capturan para cada transaccin que cambia datos Se retienen al menos hasta que finaliza la transaccin Se utilizan para dar soporte a:
Operaciones de rollback Consultas de flashback y de lectura consistente Recuperacin de transacciones fallidas Usuario
Copyright 2005, Oracle. Todos los derechos reservados.

Datos de Deshacer La base de datos Oracle guarda el valor anterior (datos de deshacer) cuando un proceso cambia datos de una base de datos. Almacena los datos como existan antes de que se modificaran. La captura de datos de deshacer le permite realizar una operacin de rollback en los datos no confirmados. Los datos de deshacer tambin soportan consultas de flashback y de lectura consistente. Las consultas de lectura consistente proporcionan resultados que son consistentes con los datos en el momento en que se inicia una consulta. Para que una consulta de lectura consistente se realice correctamente, la informacin original debe existir an como informacin de deshacer. Mientras se retenga la informacin de deshacer, la base de datos Oracle puede reconstruir datos que cumplan las consultas de lectura consistente. Las consultas de flashback son consultas que piden con determinacin una versin de los datos tal como existan en algn momento del pasado. Siempre que la informacin de deshacer del pasado exista, las consultas de flashback pueden terminar correctamente.

Base de Datos Oracle 10g: Taller de Administracin I 9-4

Oracle Internal & Oracle Academy Use Only

Datos de Deshacer (continuacin) Los datos de deshacer tambin se utilizan para la recuperacin de transacciones fallidas. Una transaccin fallida se produce cuando una sesin de usuario termina de forma anormal (posiblemente debido a errores de red o a un fallo en la computadora cliente) antes de que el usuario decida confirmar la transaccin o realizar un rollback de la misma. Las transacciones fallidas tambin se pueden producir cuando la instancia falla. En caso de una transaccin fallida, se selecciona el comportamiento ms seguro y la base de datos Oracle deshace todos los cambios realizados por el usuario, restaurando los datos originales. La informacin de deshacer se retiene para todas las transacciones al menos hasta que la transaccin termine debido a: Usuarios que deshacen la transaccin (operacin de rollback) Usuarios que terminan una transaccin (confirmacin) Sesin de usuario que termina de forma anormal (operacin de rollback) Sesin de usuario que termina de forma normal con una salida (confirmacin) La cantidad de datos de deshacer que se retienen y el tiempo de esa retencin dependen de la cantidad de actividad de la base de datos y de su configuracin.

Base de Datos Oracle 10g: Taller de Administracin I 9-5

Oracle Internal & Oracle Academy Use Only

Transacciones y Datos de Deshacer


Valor anterior

Tabla

Segmento de deshacer

Valor nuevo

Actualizar la transaccin

Copyright 2005, Oracle. Todos los derechos reservados.

Transacciones y Datos de Deshacer Al iniciar una transaccin, sta se asigna a un segmento de deshacer. A lo largo de la transaccin, cuando se modifiquen los datos, los valores originales (antes del cambio) se copiarn al segmento de deshacer. Puede ver qu transacciones se asignan a los distintos segmentos de deshacer comprobando la vista de rendimiento dinmico v$transaction. Los segmentos de deshacer son segmentos especializados que la instancia crea automticamente, segn sea necesario, para soportar las transacciones. Al igual que todos los segmentos, los segmentos de deshacer estn formados por extensiones que a su vez constan de bloques de datos. Los segmentos de deshacer crecen y se reducen automticamente si es necesario, actuando como buffer de almacenamiento circular para las transacciones asignadas. Las transacciones rellenan extensiones en los segmentos de deshacer hasta que se termina una transaccin o se consume todo el espacio. Si una extensin se llena completamente y se necesita ms espacio, la transaccin adquiere ese espacio de la siguiente extensin del segmento. Al consumir todas las extensiones, la transaccin se volver a ajustar a la primera extensin o solicitar que se asigne una extensin nueva al segmento de deshacer. Nota: Las operaciones DML en paralelo pueden hacer que una transaccin utilice realmente ms de un segmento de deshacer. Para obtener ms informacin sobre la ejecucin de DML en paralelo, consulte Oracle Database Administrators Guide 10g.

Base de Datos Oracle 10g: Taller de Administracin I 9-6

Oracle Internal & Oracle Academy Use Only

Cada transaccin se asigna a un nico segmento de deshacer. Un segmento de deshacer puede dar servicio a ms de una transaccin al mismo tiempo.

Almacenamiento de Informacin de Deshacer


La informacin de deshacer se almacena en segmentos de deshacer que, a su vez, se almacenan en un tablespace de deshacer. Los tablespaces de deshacer: Slo se utilizan para los segmentos de deshacer Tienen consideraciones especiales sobre la recuperacin Slo se pueden asociar a una nica instancia Necesitan que slo uno de ellos sea el tablespace de deshacer actual en el que se puede escribir para una instancia especificada en un momento determinado

Copyright 2005, Oracle. Todos los derechos reservados.

Almacenamiento de Informacin de Deshacer Los segmentos de deshacer slo pueden existir en una forma especializada de tablespace denominada tablespace de deshacer. Aunque una base de datos puede tener numerosos tablespaces de deshacer, slo se puede designar uno de ellos como el tablespace actual en el que se escribirn los datos de deshacer. Los segmentos de deshacer siempre son propiedad de SYS. Puesto que los segmentos actan como buffer circular, cada segmento tiene dos extensiones como mnimo. El nmero mximo de extensiones por defecto depende del tamao del bloque de base de datos, aunque es muy alto (32.765 para un tamao de bloque de 8 KB). Los tablespaces de deshacer son tablespaces permanentes, gestionados localmente con asignacin automtica de extensiones. Se gestionan como cualquier otro tablespace excepto en lo que se refiere a la recuperacin. Puesto que se necesitan datos de deshacer para recuperar transacciones fallidas (como las que se pueden producir cuando una instancia falla), los tablespaces de deshacer slo se pueden recuperar mientras la instancia est en estado MOUNT. Las consideraciones de recuperacin para los tablespaces se abordan en la leccin titulada Recuperacin de Bases de Datos.

Base de Datos Oracle 10g: Taller de Administracin I 9-7

Oracle Internal & Oracle Academy Use Only

Datos de Deshacer frente a Datos de Redo

Deshacer

Redo

Registro de Se utiliza para


Se almacena en Protege frente a

Cmo deshacer un cambio Rollback, consistencia de lectura


Segmentos de deshacer Lecturas inconsistentes en sistemas de varios usuarios

Cmo reproducir un cambio Aplicar transacciones pendientes de la base de datos


Archivos redo log Prdida de datos

Copyright 2005, Oracle. Todos los derechos reservados.

Datos de Deshacer frente a Datos de Redo En un principio, los datos de deshacer y de redo se parecen bastante, aunque sirven para obtener resultados diferentes. Los datos de deshacer son necesarios cuando hay que deshacer un cambio y esto ocurre en las operaciones de consistencia de lectura y de rollback. Los datos de redo son necesarios cuando hay que realizar de nuevo los cambios, en el caso de que se hayan perdido por algn motivo. El proceso de confirmacin implica una verificacin de que los cambios de la transaccin se han escrito en el archivo de redo log, que se encuentra almacenado de manera persistente en el disco, en lugar de en la memoria. Adems, normalmente est multiplexado. Es decir, hay varias copias de los datos de redo en el disco. Incluso aunque no se hayan escrito los cambios en los archivos de datos en los que estn almacenados realmente los bloques de la tabla, la garanta de que los cambios se han escrito en el archivo de redo log es suficiente. Por ejemplo, un corte en el suministro elctrico justo antes de que los cambios confirmados se hayan reflejado en los archivos de datos no causa ningn problema ya que la transaccin se ha confirmado. Por lo tanto, cuando se vuelva a iniciar el sistema, se podrn aplicar los cambios de los registros de redo que no se llegaron a reflejar en los archivos de datos en el momento del corte de electricidad.

Base de Datos Oracle 10g: Taller de Administracin I 9-8

Oracle Internal & Oracle Academy Use Only

Control de Deshacer

Deshacer normalmente necesita poca gestin. Las reas que se controlan incluyen: Espacio libre en un tablespace de deshacer Errores de tipo Snapshot too old

DBA

Copyright 2005, Oracle. Todos los derechos reservados.

Control de Deshacer La mayor parte del tiempo la instancia gestiona automticamente las operaciones de deshacer casi sin intervencin del administrador de base de datos (DBA). Puede que sea necesaria la participacin del administrador cuando se produce lo siguiente: Espacio insuficiente para deshacer Los usuarios reciben mensajes de error ORA-01555 snapshot too old La informacin de deshacer siempre se retiene hasta que una transaccin termina. Esto significa que si se suprimen o actualizan cantidades muy grandes de datos (las operaciones de insercin consumen muy poco espacio de deshacer porque la imagen original de los datos insertados es un valor nulo) sin confirmar, el tablespace de deshacer debe ser lo bastante grande para contener los datos originales. Imagine un caso en el que en una tabla de 50 GB se hubieran suprimido todas las filas con el comando siguiente:
SQL> DELETE FROM reallybigtable;

Sera necesario que el tablespace tuviera espacio para 50 GB de informacin original slo en caso de que el usuario que emiti esta sentencia cambiara de opinin y quisiera realizar un rollback del cambio. Si el tablespace de deshacer se queda sin espacio para los datos de deshacer, los usuarios reciben un mensaje de error como el siguiente:
ORA-01650: unable to extend rollback segment

Base de Datos Oracle 10g: Taller de Administracin I 9-9

Oracle Internal & Oracle Academy Use Only

Control de Deshacer (continuacin) El control proactivo detecta problemas de espacio en un tablespace de deshacer antes de que afecte a los usuarios. Otro problema, con el que el administrador se puede encontrar con la informacin de deshacer, es cuando una consulta tiene que acceder a informacin de deshacer que ya se ha sobrescrito. Esto puede suceder en una consulta de flashback o con una ejecucin muy larga. Cuando una consulta necesita una instantnea de los datos como eran en algn momento del pasado y la reconstruccin de dicha instantnea necesita datos de deshacer que ya no existen, la consulta devuelve el siguiente error:
ORA-01555: snapshot too old

Base de Datos Oracle 10g: Taller de Administracin I 9-10

Oracle Internal & Oracle Academy Use Only

Esto puede suceder porque la base de datos Oracle presenta al usuario una vista consistente de los datos tal y como son en el momento en que se inicia la ejecucin de la consulta. Si hay cambios sin confirmar en la tabla en la que se realiza la consulta, la base de datos Oracle lee los datos de deshacer para obtener la versin confirmada de los datos. Esto es lo que se denomina consistencia de lectura. Si la consulta se ejecuta durante tanto tiempo que, mientras tanto, esas modificaciones se han acabado confirmando y, posteriormente, sus datos de deshacer se han liberado y sobrescrito, la consulta de larga ejecucin no podr visualizar una vista consistente de los datos tal y como eran en el momento en que se inici dicha consulta. Por este motivo, la retencin de deshacer se debe configurar para que se ajuste a la consulta de ejecucin ms larga.

Administracin de Deshacer
La administracin de deshacer debe evitar: Errores de espacio en un tablespace de deshacer:
Asigne un espacio correcto al tablespace de deshacer. Asegrese peridicamente de la confirmacin de transacciones grandes.

Errores de tipo Snapshot too old:

Utilizar la gestin automtica de deshacer:


UNDO_MANAGEMENT=AUTO UNDO_TABLESPACE=UNDOTBS1

DBA

Copyright 2005, Oracle. Todos los derechos reservados.

Administracin de Deshacer Se recomienda el uso de la gestin automtica de deshacer, que se configura mediante la definicin del parmetro de inicializacin UNDO_MANAGEMENT en AUTO. La gestin manual de deshacer est soportada para la compatibilidad con Oracle8i y versiones anteriores, pero necesita ms participacin del DBA. Con la gestin automtica de deshacer, el DBA gestiona los datos de deshacer en el nivel de tablespace, que controla qu tablespace de deshacer utiliza una instancia con el parmetro de inicializacin UNDO_TABLESPACE. Una vez seleccionado el tablespace de deshacer, el administrador slo se debe preocupar de proporcionar espacio suficiente y de configurar un intervalo de retencin de deshacer. Con la gestin manual, el DBA tambin debe tener en cuenta lo siguiente: Asignacin de tamao a los segmentos, que incluye las extensiones mximas y el tamao de las extensiones Identificacin y eliminacin de transacciones bloqueantes Creacin de segmentos de rollback suficientes para manejar transacciones (en el modo manual, los segmentos de deshacer se denominan segmentos de rollback) Seleccin de un tablespace que contenga los segmentos de rollback (los tablespaces de deshacer slo se utilizan con la gestin automtica de deshacer)

Base de Datos Oracle 10g: Taller de Administracin I 9-11

Oracle Internal & Oracle Academy Use Only

Configure un intervalo de retencin de deshacer adecuado. Asigne un espacio correcto al tablespace de deshacer. Plantese garantizar la retencin de deshacer.

Configuracin de Retencin de Deshacer


UNDO_RETENTION especifica (en segundos) la cantidad de informacin de deshacer ya confirmada que se va a retener. Este parmetro slo se define cuando: El tablespace de deshacer tiene activada la opcin AUTOEXTEND Desea definir una retencin de deshacer para objetos grandes (LOB) Desea garantizar la retencin

DBA

Copyright 2005, Oracle. Todos los derechos reservados.

Configuracin de Retencin de Deshacer UNDO_RETENTION especifica (en segundos) el valor de umbral inferior de la retencin de deshacer. En los tablespaces de deshacer AUTOEXTEND, el sistema retiene la operacin de deshacer durante al menos el tiempo especificado en este parmetro y, de manera automtica, ajusta el perodo de retencin para cumplir con los requisitos de deshacer de las consultas. En los tablespaces de deshacer de tamao fijo, el sistema ajusta automticamente el perodo mximo posible de retencin de deshacer en funcin del tamao e historial de uso del tablespace de deshacer; ignora UNDO_RETENTION a menos que est activada la garanta de retencin. De esta forma, en la gestin automtica de deshacer, para los tres casos aqu mostrados, se utiliza el valor de UNDO_RETENTION. En casos distintos a los aqu mostrados, este parmetro se ignora.

Base de Datos Oracle 10g: Taller de Administracin I 9-12

Oracle Internal & Oracle Academy Use Only

Configuracin de Retencin de Deshacer (continuacin) La informacin de deshacer est dividida en tres categoras: Informacin de deshacer sin confirmar: Soporta una transaccin que se est ejecutando en ese momento y es necesaria si un usuario desea realizar un rollback o si la transaccin ha fallado. La informacin de deshacer sin confirmar nunca se sobrescribe. Informacin de deshacer confirmada: Ya no es necesaria para dar soporte a una transaccin en ejecucin, pero an es necesaria para cumplir con el intervalo de retencin de deshacer. Tambin se denomina informacin de deshacer no vencida. La informacin de deshacer confirmada se retiene cuando es posible sin que una transaccin activa falle debido a la falta de espacio. Informacin de deshacer vencida: Ya no es necesaria para dar soporte a una transaccin en ejecucin. La informacin de deshacer vencida se sobrescribe cuando se necesita espacio para una transaccin activa.

Base de Datos Oracle 10g: Taller de Administracin I 9-13

Oracle Internal & Oracle Academy Use Only

Garanta de Retencin de Deshacer

Garanta: 15 minutos

Datos de deshacer

Las sentencias SELECT de 15 minutos o menos de ejecucin siempre se ejecutan correctamente.

Una transaccin que genera ms cambios de deshacer que el espacio disponible fallar.

Copyright 2005, Oracle. Todos los derechos reservados.

Garanta de Retencin de Deshacer El comportamiento por defecto de deshacer es sobrescribir las transacciones confirmadas que an no han vencido en lugar de permitir que una transaccin activa falle debido a la falta de espacio de deshacer. Este comportamiento se puede cambiar al garantizar la retencin. Con la retencin garantizada, los valores de retencin de deshacer se aplican aunque provoquen que las transacciones fallen. RETENTION GUARANTEE es un atributo de tablespace ms que un parmetro de inicializacin. Este atributo slo se puede cambiar con las sentencias de lnea de comandos SQL. La sintaxis para cambiar un tablespace de deshacer por una retencin de garanta es la siguiente:
SQL> ALTER TABLESPACE undotbs1 RETENTION GUARANTEE;

Para devolver un tablespace de deshacer garantizado a su valor normal, utilice el siguiente comando:
SQL> ALTER TABLESPACE undotbs1 RETENTION NOGUARANTEE;

La garanta de retencin se aplica slo a los tablespaces de deshacer. Los intentos de definirla en un tablespace que no sea de deshacer tiene como resultado el siguiente error:
SQL> ALTER TABLESPACE example RETENTION GUARANTEE; ERROR at line 1: ORA-30044: 'Retention' can only specified for undo tablespace

Base de Datos Oracle 10g: Taller de Administracin I 9-14

Oracle Internal & Oracle Academy Use Only

Tamao de los Tablespaces de Deshacer

Tamao de espacio de tabla actual

Ratio de consumo de deshacer

Copyright 2005, Oracle. Todos los derechos reservados.

Tamao de los Tablespaces de Deshacer Se debe asignar un tamao a los tablespaces de deshacer para que puedan contener la informacin original de todas las transacciones. Al hacer clic en el enlace Undo Management de la pgina Administration de Enterprise Manager aparece una visin general de los datos de deshacer del sistema que incluye los valores actuales, el consumo de deshacer por minuto y la longitud de la consulta con la ejecucin ms larga observada durante un determinado perodo de tiempo. Los archivos de datos que pertenecen a un tablespace de deshacer se pueden ampliar automticamente cuando se quedan sin espacio libre. A diferencia de otros tablespaces, Oracle Corporation recomienda que los archivos de datos asociados a los tablespaces de deshacer no tengan activada la extensin automtica. La primera vez que se determinan los requisitos de espacio de deshacer, puede que desee activar la extensin automtica de los archivos de datos, pero despus de haber asignado correctamente el tamao del tablespace debe desactivarla. La desactivacin de la extensin automtica en archivos de datos de un tablespace de deshacer evita que un nico usuario consuma involuntariamente grandes cantidades de espacio en disco dejando de confirmar las transacciones.

Base de Datos Oracle 10g: Taller de Administracin I 9-15

Oracle Internal & Oracle Academy Use Only

Uso del Asesor de Deshacer

Copyright 2005, Oracle. Todos los derechos reservados.

Uso del Asesor de Deshacer A travs de la pgina de propiedades Undo Management se accede al Asesor de Deshacer. Ofrece una estimacin del tamao del tablespace de deshacer que resulta necesario para satisfacer una retencin de deshacer determinada. Indique el perodo de retencin deseado y la regin de anlisis del asesor mostrar el tamao de tablespace necesario para soportar el perodo de retencin. Tambin cabe la posibilidad de hacer clic en un punto del grfico para ver el tamao del tablespace requerido para soportar el perodo elegido. Una vez seleccionado un perodo de retencin de deshacer, haga clic en OK para implementar el nuevo perodo de retencin.

Base de Datos Oracle 10g: Taller de Administracin I 9-16

Oracle Internal & Oracle Academy Use Only

Resumen

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 9-17

Oracle Internal & Oracle Academy Use Only

En esta leccin, debe haber aprendido lo siguiente: Explicar DML y la generacin de datos de deshacer Controlar y administrar segmentos de deshacer Describir la diferencia entre datos de deshacer y de redo Configurar la retencin de deshacer Garantizar la retencin de deshacer Utilizar el Asesor de Deshacer

Visin General de la Prctica: Gestin de Segmentos de Deshacer


En esta prctica se abordan los siguientes temas: Clculo del tamao del tablespace de deshacer para dar soporte a un intervalo de retencin de 48 horas Modificacin de un tablespace de deshacer para dar soporte a un intervalo de retencin de 48 horas

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 9-18

Oracle Internal & Oracle Academy Use Only

Implementacin de Seguridad de la Base de Datos Oracle


Oracle Internal & Oracle Academy Use Only

Copyright 2005, Oracle. Todos los derechos reservados.

Objetivos

Copyright 2005, Oracle. Todos los derechos reservados.

Objetivos Esta leccin es el punto de inicio para conocer la seguridad de Oracle. En la siguiente documentacin encontrar informacin adicional: Oracle Database Concepts 10g Release 2 (10.2) Oracle Database Administrators Guide 10g Release 2 (10.2) Oracle Database Security Guide 10g Release 2 (10.2) En los siguientes cursos encontrar formacin adicional: Base de Datos Oracle 10g: Taller de Administracin II (D17092GC30) Oracle Database 10g: Security (D17499GC10)

Base de Datos Oracle 10g: Taller de Administracin I 10-2

Oracle Internal & Oracle Academy Use Only

Al finalizar esta leccin, debera estar capacitado para lo siguiente: Describir sus responsabilidades de DBA en cuanto a seguridad Aplicar el principio de privilegio ms bajo Activar la auditora de base de datos estndar Especificar opciones de auditora Revisar informacin de auditora Mantener la pista de auditora

Requisitos de Seguridad de la Industria


Legal:

> Requisitos Privilegio ms Bajo Auditora Basada en Valores Auditora Detallada DBA Actualiz. Seguridad

Auditora

Copyright 2005, Oracle. Todos los derechos reservados.

Requisitos de Seguridad de la Industria Hasta hace poco la preocupacin por los requisitos de seguridad era un problema de naturaleza individual. A menos que se manejaran datos militares o gubernamentales, existan pocos requisitos legales. Esto est cambiando con rapidez. Se han aprobado varias leyes para reforzar la privacidad y la precisin de los datos. Junto con estas leyes, hay un requisito para auditar las medidas de seguridad utilizadas. Legal: Cada una de las leyes enumeradas aqu tiene algunos requisitos especficos. Esta lista es representativa de muchas otras leyes que se estn aprobando en todo el mundo. Por supuesto, las leyes de seguridad varan de un lugar a otro. Sarbanes-Oxley Act (SOX) requiere que las compaas pblicas refuercen y documenten los controles internos para impedir que nadie pueda cometer actos fraudulentos que puedan comprometer la posicin financiera de una organizacin o la precisin de sus datos financieros. El director ejecutivo y el director financiero deben dar fe de la competencia de los controles internos y de la precisin del informe financiero. Estos directores estn sujetos a multas y al encarcelamiento por informes fraudulentos. Los detalles de SOX incluyen requisitos para proporcionar la informacin que se utiliza para generar los informes y los controles internos que se usan para garantizar la integridad de la informacin financiera.

Base de Datos Oracle 10g: Taller de Administracin I 10-3

Oracle Internal & Oracle Academy Use Only

Sarbanes-Oxley Act (SOX) Health Information Portability and Accountability Act (HIPAA) California Breach Law UK Data Protection Act

Requisitos de Seguridad de la Industria (continuacin) Health Information Portability and Accountability Act (HIPAA) est destinada a proteger la informacin sanitaria identificable de manera personal frente a su publicacin o uso incorrecto. Las entidades que retienen esa informacin deben proporcionar pistas de auditora de todas las personas que accedan a estos datos. UK Data Protection Act est destinada a proteger la privacidad individual mediante el acceso restringido a datos identificables de manera individual. Contiene ocho puntos, uno de los cuales requiere que los datos se conserven en un lugar seguro. Otras leyes: - Family Educational Rights and Privacy Act (FERPA) aborda la informacin sanitaria y personal que conservan las escuelas. - California Breach Law requiere que una organizacin que posee variada informacin de identidad personal (PII) (por ejemplo, tarjeta de crdito, permiso de conducir y nmeros de identificacin gubernamentales) proteja esa informacin. Si la informacin se puede ver comprometida, la organizacin tiene que notificarlo a todos los individuos implicados. Hay dos leyes, CA-SB-1386 y CA-AB-1950, que se aplican a las organizaciones que poseen PII. - Federal Information Security Management Act (FISMA) est creando estndares y guas de seguridad mediante documentos de Federal Information Processing Standard (FIPS) que gestiona National Institute of Standards (NIST). Estos estndares se aplican a organizaciones que procesan informacin para el gobierno de Estados Unidos. Auditora: Muchas de estas leyes incluyen estipulaciones que requieren que los planes de seguridad (protocolos internos) se auditen peridicamente. Los requisitos de SOX son poco claros y estn sujetos a la interpretacin de los directivos de la organizacin. Los detalles de implementacin pueden variar ampliamente, en funcin del nivel de detalles que requieran los directivos. Al ser tan poco claro el SOX, aunque las penas son severas, resulta importante proteger a su compaa. El costo de las medidas de seguridad se debe equilibrar con respecto al riesgo. Nadie le certificar que est totalmente seguro. Una buena solucin es el consenso de la industria. Si cumple con las prcticas de seguridad mnimas acordadas y ha aplicado la debida diligencia, es posible que est a salvo de las consecuencias penales ms duras de la ley. Algunos recursos buenos para las prcticas de los estndares de la industria son SysAdmin, Audit, Network, Security (SANS) Institute, CERT/CC aplicados por la Carnegie Mellon University para el Ministerio de Defensa y el estndar de certificacin ISO-17799: http://www.sans.org/index.php http://www.cert.org/nav/index.html http://www.iso17799software.com/ El estndar de certificacin ISO-17799 es un estndar internacional de prcticas de seguridad. Incluye prcticas recomendadas, certificacin y valoracin de riesgos. Aborda un rango amplio de problemas e incluye polticas escritas previamente.

Base de Datos Oracle 10g: Taller de Administracin I 10-4

Oracle Internal & Oracle Academy Use Only

Separacin de Responsabilidades
Se debe confiar en los usuarios con privilegios de DBA. Considere lo siguiente:
Abuso de confianza Las pistas de auditora protegen la posicin protegida

Copyright 2005, Oracle. Todos los derechos reservados.

Separacin de Responsabilidades stos son los principales requisitos necesarios para satisfacer la separacin de las tareas. Se debe confiar en los DBA: Es difcil limitar a un DBA. Para hacer su trabajo, el DBA requiere privilegios de alto nivel. Un DBA posee una posicin de confianza y se debe investigar a fondo. Incluso un DBA protegido debe tener responsabilidad. Considere lo siguiente: Abuso de confianza: Un DBA puede utilizar de manera incorrecta las contraseas cifradas de la vista DBA_USERS. Las pistas de auditora protegen la posicin protegida: Cuando la auditora se implementa con cuidado y se siguen las directrices, la pista de auditora puede mostrar que una persona especfica no ha violado los procedimientos o causado un acto perjudicial. Si un usuario no autorizado intenta que las sospechas recaigan sobre un usuario protegido, una pista de auditora bien diseada detectar el engao.

Base de Datos Oracle 10g: Taller de Administracin I 10-5

Oracle Internal & Oracle Academy Use Only

Se deben compartir las responsabilidades de DBA. No se deben compartir nunca las cuentas. El DBA y el Administrador del Sistema tienen que ser personas diferentes. Responsabilidades separadas del operador y del DBA.

Seguridad de la Base de Datos

Copyright 2005, Oracle. Todos los derechos reservados.

Seguridad de la Base de Datos La base de datos Oracle 10g proporciona el mejor marco de la industria para un sistema seguro. Sin embargo para que ese marco sea eficaz, el administrador de la base de datos debe realizar las prcticas recomendadas y controlar continuamente la actividad de la base de datos. Restriccin de Acceso a los Datos y los Servicios Todos los usuarios no deben tener acceso a todos los datos. En funcin de lo que se almacene en la base de datos, los requisitos del negocio, las expectativas de los clientes y cada vez ms las restricciones legales pueden exigir un acceso restringido. Se debe proteger la informacin de tarjetas de crdito, los datos mdicos, la informacin de identidad, etc. contra el acceso no autorizado. La base de datos Oracle proporciona controles de autorizacin muy detallados para limitar el acceso a la base de datos. La restriccin de acceso debe incluir la aplicacin del principio de privilegio ms bajo.

Base de Datos Oracle 10g: Taller de Administracin I 10-6

Oracle Internal & Oracle Academy Use Only

Un sistema seguro garantiza la confidencialidad de los datos que contiene. Existen varios aspectos referentes a la seguridad: Restriccin de acceso a los datos y los servicios Autenticacin de usuarios Control de actividades sospechosas

Seguridad de la Base de Datos (continuacin) Autenticacin de Usuarios Para forzar los controles de acceso en los datos confidenciales, el sistema debe primero saber quin est intentando acceder a los datos. Una autenticacin con riesgos puede hacer que todas las dems precauciones de seguridad resulten intiles. La forma ms bsica de autenticacin de usuarios es instando a los usuarios a proporcionar algo que conocen, por ejemplo, una contrasea. Al garantizar que las contraseas siguen reglas simples, se puede aumentar en gran medida la seguridad del sistema. Los mtodos de autenticacin ms potentes incluyen solicitar a los usuarios que proporcionen algo, como por ejemplo un certificado de infraestructura de clave pblica (PKI, Public Key Infrastructure) o un elemento. Una forma de autenticacin an ms potente consiste en identificar a los usuarios mediante una caracterstica biomtrica nica como, por ejemplo, una huella dactilar, un escner de retina, moldes de estructuras seas, etc. La base de datos Oracle soporta tcnicas de autenticacin avanzadas como la identificacin basada en elementos, en biometra y en certificados mediante Advanced Security Option. Las cuentas de usuario que no estn en uso se deben bloquear para evitar intentos de vulnerar la autenticacin. Control de Actividades Sospechosas Incluso los usuarios autorizados y autenticados pueden a veces poner en peligro el sistema. La identificacin de actividades de la base de datos poco comunes (como, por ejemplo, que un empleado empiece de pronto a consultar mucha informacin de tarjetas de crdito, resultados de investigaciones u otra informacin confidencial) puede ser el primer paso para detectar el robo de informacin. La base de datos Oracle proporciona un amplio juego de herramientas de auditora para realizar un seguimiento de la actividad de los usuarios e identificar tendencias sospechosas.

Base de Datos Oracle 10g: Taller de Administracin I 10-7

Oracle Internal & Oracle Academy Use Only

Principio de Privilegio ms Bajo


Requisitos > Privilegio ms Bajo Auditora Basada en Valores Auditora Detallada DBA Actualiz. Seguridad

Limitacin del acceso de los usuarios a nicamente los objetos de la base de datos necesarios para que hagan su trabajo.
Copyright 2005, Oracle. Todos los derechos reservados.

Principio de Privilegio ms Bajo Aplique el principio de privilegio ms bajo empezando por los niveles ms bajos y contine en cada nivel. Siempre hay nuevas vulnerabilidades de seguridad que no se pueden anticipar. Al aplicar este principio, la posibilidad de que esto ocurra se reduce y el dao se puede contener. Instalacin slo del software necesario en la mquina: Al reducir el nmero de paquetes de software, se reduce el mantenimiento, las actualizaciones, la posibilidad de agujeros de seguridad y los conflictos de software. Activacin nicamente de los servicios necesarios en la mquina: Un nmero de servicios reducido implica menos puertos abiertos y menos vectores de ataque. Otorgamiento de acceso al sistema operativo y a la base de datos nicamente a aquellos usuarios que lo necesitan: A menor nmero de usuarios menos contraseas y cuentas. De esta forma se reduce la posibilidad de cuentas abiertas o anticuadas. Un nmero de cuentas reducido facilita al administrador la tarea de mantener las cuentas actualizadas. Limitacin del acceso a la cuenta raz o de administrador: La cuenta de administrador se debe guardar y auditar con cuidado y nunca se debe compartir. Limitacin del acceso a las cuentas SYSDBA y SYSOPER: Los usuarios que necesitan acceso a estos roles deben tener su propia cuenta y se deben auditar. Limitacin del acceso de los usuarios a nicamente los objetos de la base de datos necesarios para que hagan su trabajo: Los usuarios que tienen acceso a ms objetos y servicios de los que necesitan tienen una oportunidad para causar dao.
Base de Datos Oracle 10g: Taller de Administracin I 10-8

Oracle Internal & Oracle Academy Use Only

Instalacin slo del software necesario en la mquina. Activacin nicamente de los servicios necesarios en la mquina. Otorgamiento de acceso al sistema operativo y a la base de datos nicamente a aquellos usuarios que lo necesitan. Limitacin del acceso a la cuenta raz o de administrador. Limitacin del acceso a las cuentas SYSDBA y SYSOPER.

Aplicacin del Principio de Privilegio Ms Bajo


Proteccin del diccionario de datos:


O7_DICTIONARY_ACCESSIBILITY=FALSE

Revocacin de privilegios innecesarios de PUBLIC:

Restriccin de los directorios a los que pueden acceder los usuarios. Limitacin de usuarios con privilegios administrativos. Restriccin de la autenticacin de la base de datos remota:
REMOTE_OS_AUTHENT=FALSE

Copyright 2005, Oracle. Todos los derechos reservados.

Aplicacin del Principio de Privilegio Ms Bajo El principio de privilegio ms bajo significa que se debe dar a un usuario slo aquellos privilegios que sean necesarios para realizar de forma eficaz una tarea. De esta forma se reducen las posibilidades de que los usuarios modifiquen o visualicen los datos, tanto de forma accidental como no autorizada, para los que no tienen privilegios de modificacin o visualizacin. Proteccin del diccionario de datos: El parmetro O7_DICTIONARY_ACCESSIBILITY se define por defecto en FALSE. No permita que se cambie este valor sin un buen motivo ya que impide a los usuarios con privilegios del sistema ANY TABLE acceder a las tablas base del diccionario de datos. Tambin garantiza que el usuario SYS se puede conectar slo como SYSDBA. Revocacin de privilegios innecesarios de PUBLIC: Los siguientes paquetes son muy tiles para aplicaciones que los necesitan, pero requieren una configuracin correcta para utilizarlos de forma segura. Revoque el privilegio EXECUTE de PUBLIC y otrguelo a los roles cuando sea necesario para los siguientes paquetes: UTL_SMTP, UTL_TCP, UTL_HTTP y UTL_FILE.

Base de Datos Oracle 10g: Taller de Administracin I 10-9

Oracle Internal & Oracle Academy Use Only

REVOKE EXECUTE ON UTL_SMTP, UTL_TCP, UTL_HTTP, UTL_FILE FROM PUBLIC;

Limitacin de usuarios con privilegios administrativos: No proporcione a los usuarios de base de datos ms privilegios de los necesarios. No otorgue el rol DBA a usuarios que no sean administradores. Para implementar el privilegio ms bajo, restrinja los siguientes tipos de privilegios: Otorgamientos de privilegios de sistema y de objeto Conexiones a la base de datos con privilegios SYS, como SYSDBA y SYSOPER Otros privilegios de tipo DBA, como DROP ANY TABLE Restriccin de la autenticacin de la base de datos remota: El parmetro REMOTE_OS_AUTHENT se define en FALSE por defecto. No se debe cambiar a menos que se pueda confiar en todos los clientes para autenticar de manera adecuada a los usuarios. En el proceso de autenticacin remota: El usuario de base de datos se autentica de forma externa El sistema remoto autentica el usuario El usuario se conecta a la base de datos sin ninguna otra autenticacin

Base de Datos Oracle 10g: Taller de Administracin I 10-10

Oracle Internal & Oracle Academy Use Only

Aplicacin del Principio de Privilegio Ms Bajo (continuacin) Entre los paquetes ms potentes que se podran utilizar de forma incorrecta se incluyen: UTL_SMTP: Permite que se enven mensajes de correo electrnico arbitrarios mediante el uso de la base de datos como servidor de correo de Protocolo Simple de Transferencia de Correo (SMTP). Al otorgar este paquete a PUBLIC, se puede permitir el intercambio no autorizado de mensajes de correo. UTL_TCP: Permite al servidor de base de datos establecer conexiones de red salientes con cualquier servicio de red de recepcin o en espera. Por lo tanto, se pueden enviar datos arbitrarios entre el servidor de base de datos y cualquier servido de red en espera. UTL_HTTP: Permite al servidor de base de datos solicitar y recuperar datos a travs de HTTP. Al otorgar este paquete a PUBLIC, se puede permitir el envo de datos a travs de pantallas HTML a direcciones Web no autorizadas. UTL_FILE: Si se configura incorrectamente, permite el acceso de nivel de texto a cualquier archivo del sistema operativo de host. Incluso cuando se configura correctamente, este paquete no distingue entre las aplicaciones que realizan llamadas, cuyo resultado es que una aplicacin con acceso a UTL_FILE puede escribir datos arbitrarios en la misma ubicacin en la que escribe otra aplicacin. Restriccin de acceso a directorios del sistema operativo: El objeto DIRECTORY de la base de datos permite a los DBA asignar directorios a rutas de acceso del sistema operativo y otorgar privilegios sobre esos directorios a usuarios individuales.

Control de Actividades Sospechosas


El control o la auditora debe ser una parte integral de los procedimientos de seguridad. Revise lo siguiente: Auditora obligatoria Auditora de la base de datos estndar Auditora basada en valores Auditora detallada (FGA) Auditora de DBA

Requisitos Privilegio ms Bajo > Auditora Basada en Valores Auditora Detallada DBA Actualiz. Seguridad

Copyright 2005, Oracle. Todos los derechos reservados.

Control de Actividades Sospechosas La auditora, que consiste en la captura y el almacenamiento de informacin sobre lo que sucede en el sistema, aumenta la cantidad de trabajo que debe realizar el sistema. La auditora se debe centrar para que slo se capturen los eventos que sean de inters. Una auditora bien centrada tiene un impacto mnimo en el rendimiento del sistema. Una auditora centrada incorrectamente puede afectar de forma significativa al rendimiento. Auditora obligatoria: Todas las bases de datos Oracle auditan algunas acciones independientemente de otros parmetros u opciones de auditora. El motivo de los logs de auditora obligatoria es que la base de datos necesita registrar algunas actividades, como el inicio y cierre del sistema. Auditora de la base de datos estndar: Se define a nivel del sistema al utilizar el parmetro de inicializacin AUDIT_TRAIL. Tras activar la auditora, seleccione los objetos y privilegios que desee auditar. Auditora basada en valores: Ampla la auditora de la base de datos estndar con la captura no slo de que el evento auditado se ha producido, sino de los valores reales que se insertaron, actualizaron o suprimieron. La auditora basada en valores se implementa mediante disparadores de base de datos. Auditora detallada (FGA): FGA ampla la auditora de la base de datos estndar con la captura de la sentencia SQL real emitida en lugar de tan slo el evento producido. Auditora de DBA: Separa las tareas de auditora entre el DBA y el auditor o administrador de la seguridad que controla las actividades del DBA en una pista de auditora del sistema operativo.
Base de Datos Oracle 10g: Taller de Administracin I 10-11

Oracle Internal & Oracle Academy Use Only

Auditora de la Base de Datos Estndar


1 Activar auditora
de base de datos. DBA Archivo de parmetros El usuario ejecuta un comando.

Especificar opciones de auditora. Base de datos

Opciones de auditora

3 informacin
de auditora. Pista de auditora Pista de auditora XML o sistema operativo

Revisar

Generar pista de auditora.

4 Mantener pista
de auditora.

Copyright 2005, Oracle. Todos los derechos reservados.

Auditora de la Base de Datos Estndar Despus de haber activado la auditora de la base de datos y haber especificado las opciones de auditora (los eventos de conexin, el ejercicio de privilegios del sistema y de objeto o el uso de sentencias SQL), la base de datos inicia la recopilacin de informacin de auditora. Si se define AUDIT_TRAIL en OS, los registros de auditora se almacenan en el sistema de auditora del sistema operativo. En un entorno de Windows, ste es el log de eventos. En un entorno de UNIX o Linux, los registros de auditora se almacenan en un archivo. La ubicacin de dicho archivo se especifica con el parmetro AUDIT_FILE_DEST. Si el parmetro AUDIT_TRAIL se define en DB, podr revisar los registros de auditora en la vista DBA_AUDIT_TRAIL, que forma parte del esquema SYS. Si AUDIT_TRAIL se define en XML o XML,EXTENDED, los registros de auditora se escriben en archivos XML en el directorio hacia el que apunta el parmetro AUDIT_FILE_DEST. La vista V$XML_AUDIT_TRAIL permite visualizar todos los archivos XML de este directorio. El mantenimiento de la pista de auditora es una tarea administrativa importante. En funcin del enfoque de las opciones de auditora, la pista de auditora puede aumentar muy rpidamente. Si no se mantiene correctamente, la pista de auditora puede consumir tanto espacio que afectar al rendimiento del sistema.

Base de Datos Oracle 10g: Taller de Administracin I 10-12

Oracle Internal & Oracle Academy Use Only

Proceso de servidor

Activacin de Auditora

ALTER SYSTEM SET audit_trail=XML SCOPE=SPFILE;

Reiniciar la base de datos tras modificar un parmetro de inicializacin esttica.


Copyright 2005, Oracle. Todos los derechos reservados.

Activacin de Auditora Debe activar la auditora de la base de datos antes de especificar valores de auditora.

Base de Datos Oracle 10g: Taller de Administracin I 10-13

Oracle Internal & Oracle Academy Use Only

Pistas de Auditora Uniformes


Utilizar AUDIT_TRAIL para activar la auditora de la base de datos
AUDIT_TRAIL=DB,EXTENDED STATEMENTID, ENTRYID

EXTENDED_TIMESTAMP, PROXY_SESSIONID, GLOBAL_UID, INSTANCE_NUMBER, OS_PROCESS, TRANSACTIONID, SCN, SQL_BIND, SQL_TEXT


DBA_COMMON_AUDIT_TRAIL
Copyright 2005, Oracle. Todos los derechos reservados.

Pistas de Auditora Uniformes Para utilizar la auditora de la base de datos, primero debe definir que el parmetro no dinmico AUDIT_TRAIL apunte a una ubicacin de almacenamiento para los registros de auditora. De esta forma se activa la auditora de la base de datos. La base de datos Oracle 10g realiza el seguimiento de los mismos campos en las auditoras estndar y detallada. De este modo, se facilita el anlisis de las actividades de la base de datos. Para llevar a cabo este proceso, tanto la pista de auditora estndar como la pista de auditora detallada disponen de atributos para complementarse entre s. Entre otros datos, la auditora estndar recopila la siguiente informacin adicional: El nmero de cambio del sistema (SCN), que registra todos los cambios realizados en el sistema. El texto SQL exacto ejecutado por el usuario y las variables ligadas usadas con el texto SQL. Estas columnas slo aparecen si se especifica AUDIT_TRAIL=DB,EXTENDED en el archivo de parmetros de inicializacin. Entre otros datos, la auditora detallada recopila la siguiente informacin adicional: El nmero de serie de cada registro de auditora. El nmero de sentencia que enlaza varias entradas de auditora originadas a partir de una sola sentencia.

Base de Datos Oracle 10g: Taller de Administracin I 10-14

Oracle Internal & Oracle Academy Use Only

DBA_AUDIT_TRAIL

DBA_FGA_AUDIT_TRAIL

Pistas de Auditora Uniformes (continuacin) Los atributos comunes incluyen: El registro de hora global segn la zona horaria universal coordinada (UTC). Este campo resulta de utilidad para controlar todos los servidores de ubicaciones y zonas horarias distintas. El nmero de instancia nico para cada instancia de Real Application Clusters (RAC). El identificador de transaccin que ayuda a agrupar los registros de auditora de una nica transaccin. La vista DBA_COMMON_AUDIT_TRAIL combina los registros log de auditora estndar y detallada.

Base de Datos Oracle 10g: Taller de Administracin I 10-15

Oracle Internal & Oracle Academy Use Only

Pgina de Auditora de Enterprise Manager

Copyright 2005, Oracle. Todos los derechos reservados.

Pgina de Auditora de Enterprise Manager Para llegar a la pgina de auditora desde la pgina inicial de Database Control, haga clic en el separador Administration y, a continuacin, en el enlace Audit Settings de la regin Users & Privileges. La pgina de auditora contiene las siguientes regiones: Configuration: Muestra los valores actuales de los parmetros de configuracin y contiene enlaces para modificar esos valores. Audit Trails: Proporciona un acceso sencillo para auditar informacin que se ha recopilado. Utilice estas pginas con separadores para definir opciones de auditora o anular su definicin: Audited Privileges: Muestra los privilegios que se estn auditando. Audited Objects: Muestra los objetos que se estn auditando. Audited Statements: Muestra las sentencias que se estn auditando.

Base de Datos Oracle 10g: Taller de Administracin I 10-16

Oracle Internal & Oracle Academy Use Only

Especificacin de Opciones de Auditora

Auditora de sentencias SQL:


AUDIT table;

AUDIT select any table, create any trigger; AUDIT select any table BY hr BY SESSION;

Auditora de privilegios de objeto (no centrada y centrada):


AUDIT ALL on hr.employees; AUDIT UPDATE,DELETE on hr.employees BY ACCESS;

Copyright 2005, Oracle. Todos los derechos reservados.

Especificacin de Opciones de Auditora Auditora de sentencias SQL: La sentencia mostrada en la diapositiva puede auditar cualquier sentencia de lenguaje de definicin de datos (DDL) que afecte a una tabla, incluidas CREATE TABLE, DROP TABLE, TRUNCATE TABLE, etc. La auditora de sentencias SQL se puede centrar por usuario o por el resultado de correcto/fallo.
SQL> AUDIT TABLE BY hr WHENEVER NOT SUCCESSFUL;

Auditora de privilegios del sistema: Se puede utilizar para auditar el ejercicio de cualquier privilegio del sistema (como DROP ANY TABLE). Se puede centrar por usuario o por el resultado de correcto o fallo. Por defecto, la auditora es BY ACCESS. Cada vez que se ejercita un privilegio del sistema auditado se genera un registro de auditora. Puede agrupar esos registros con la clusula BY SESSION de manera que slo se genere un registro por sesin. (De esta forma, si un usuario actualiza 100.000 registros de una tabla que pertenece a otro usuario, slo recopilar un nico registro de auditora.) Puede utilizar la clusula BY SESSION para limitar el impacto de la auditora de privilegios del sistema en el rendimiento y el almacenamiento. Auditora de privilegios de objeto: Se puede utilizar para auditar acciones en las tablas, vistas, procedimientos, secuencias, directorios y tipos de dato definidos por el usuario. Este tipo de auditora se puede centrar en el resultado de correcto o fallo y agrupar por sesin o por acceso. A diferencia de la auditora de privilegios del sistema, la agrupacin por defecto es por sesin. Por este motivo, debe especificar implcitamente BY ACCESS si desea que se genere un registro de pista de auditora independiente para cada accin.
Base de Datos Oracle 10g: Taller de Administracin I 10-17

Oracle Internal & Oracle Academy Use Only

Auditora de privilegios del sistema (no centrada y centrada):

Uso y Mantenimiento de la Informacin de Auditora

Copyright 2005, Oracle. Todos los derechos reservados.

Uso y Mantenimiento de la Informacin de Auditora Prctica recomendada: Puesto que la auditora agrega una carga al sistema, desactvela siempre que no vaya a utilizarla.

Base de Datos Oracle 10g: Taller de Administracin I 10-18

Oracle Internal & Oracle Academy Use Only

Desactivar las opciones de auditora si no se van a utilizar.

Auditora Basada en Valores

Requisitos Privilegio ms Bajo Auditora > Basada en Valores Auditora Detallada DBA Actualiz. Seguridad

Un usuario realiza un cambio.

Se arranca el disparador.

El disparador crea el registro de auditora.

Se realiza el cambio del usuario.

Se inserta el registro de auditora en una tabla de pista de auditora.

Copyright 2005, Oracle. Todos los derechos reservados.

Auditora Basada en Valores La auditora de la base de datos registra las inserciones, las actualizaciones y las supresiones que se han producido en los objetos auditados, pero no captura los valores reales que han cambiado. La auditora basada en valores ampla la auditora de la base de datos con la captura de los valores reales que se han cambiado. La auditora basada en valores aprovecha disparadores de base de datos (construcciones PL/SQL controladas por eventos). Cuando un usuario inserta, actualiza o suprime datos de una tabla con el disparador adecuado conectado, este ltimo funciona en segundo plano para copiar informacin de auditora en una tabla designada para contener dicha informacin. La auditora basada en valores tiende a reducir el rendimiento ms que la auditora de la base de datos estndar, porque el cdigo del disparador de auditora se debe ejecutar cada vez que se produce la operacin de insercin, actualizacin o supresin. El grado de reduccin depende de la eficacia del cdigo del disparador. La auditora basada en valores se debe utilizar slo en situaciones en las que la informacin capturada por la auditora de la base de datos estndar sea insuficiente.

Base de Datos Oracle 10g: Taller de Administracin I 10-19

Oracle Internal & Oracle Academy Use Only

Auditora Basada en Valores (continuacin) La clave de la auditora basada en valores es el disparador de auditora. A continuacin se muestra un disparador de auditora tpico.
CREATE OR REPLACE TRIGGER system.hrsalary_audit AFTER UPDATE OF salary ON hr.employees REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW BEGIN IF :old.salary != :new.salary THEN INSERT INTO system.audit_employees VALUES (sys_context('userenv','os_user'), sysdate, sys_context('userenv','ip_address'), :new.employee_id || ' salary changed from '||:old.salary|| ' to '||:new.salary); END IF; END; /

Este disparador centra la auditora en la captura de cambios en la columna de salario de la tabla hr.employees. Al actualizar una fila, el disparador comprueba la columna de salario. Si el salario antiguo no es igual que el nuevo, el disparador inserta un registro de auditora en la tabla audit_employees (creada mediante una operacin independiente en el esquema SYSTEM). El registro de auditora incluye el usuario, la direccin IP desde la que se ha realizado el cambio, la clave primaria que identifica el registro que se ha cambiado y los valores de salario reales que se han cambiado. Tambin se pueden utilizar disparadores de base de datos para capturar informacin sobre las conexiones de usuario en casos en los que la auditora de la base de datos estndar no recopile datos suficientes. Con los disparadores de conexin, el administrador puede capturar datos que identifiquen al usuario que se est conectando a la base de datos. Se incluyen estos ejemplos: Direccin IP de la persona que se conecta Primeros 48 caracteres del nombre del programa que se ha utilizado para conectar a la instancia Nombre del terminal que se ha utilizado para conectar a la instancia Para obtener una lista completa de los parmetros de usuario, consulte la seccin titulada SYS_CONTEXT en Oracle Database SQL Reference.

Base de Datos Oracle 10g: Taller de Administracin I 10-20

Oracle Internal & Oracle Academy Use Only

Auditora Detallada

Requisitos Privilegio ms Bajo Auditora Basada en Valores > Auditora Detallada DBA Actualiz. Seguridad

Controla el acceso a datos segn el contenido Audita SELECT, INSERT, UPDATE, DELETE y MERGE Se puede enlazar a una tabla o vista, a una o ms columnas Puede arrancar un procedimiento Se administra con el paquete DBMS_FGA
Poltica: SELECT name, FROM department_id =
Copyright 2005, Oracle. Todos los derechos reservados.

employees

Auditora Detallada La auditora de la base de datos registra que se ha producido una operacin, pero no captura informacin sobre la sentencia que caus la operacin. La auditora detallada (FGA) ampla dicha funcin para permitir la captura de las sentencias SQL reales que consultan o manipulan los datos. FGA tambin permite que la auditora se centre de forma ms restringida que la auditora de la base de datos estndar o basada en valores. Las opciones de auditora FGA se pueden centrar en columnas individuales de una tabla o vista e incluso pueden ser condicionales para que slo se capturen auditoras si se cumplen determinadas especificaciones definidas por el administrador. Las polticas de FGA soportan ms de una columna relevante. Por defecto, se audita cualquiera de esas columnas que est presente en la sentencia SQL. DBMS_FGA.ALL_COLUMNS y DBMS_FGA.ANY_COLUMNS permiten realizar la auditora segn se utilice o no alguna de las columnas relevantes (o todas ellas) en la sentencia. Utilice el paquete PL/SQL DBMS_FGA para crear una poltica de auditora en la tabla o vista de destino. Si una de las filas devueltas por un bloque de consulta coincide con la columna auditada y la condicin de auditora especificada, un evento de auditora hace que se cree y almacene un registro de auditora en la pista de auditora. Opcionalmente, el evento de auditora tambin puede ejecutar un procedimiento. FGA centra automticamente la auditora en el nivel de sentencia, de forma que una sentencia SELECT que devuelve miles de filas genere un nico registro de auditora.
Base de Datos Oracle 10g: Taller de Administracin I 10-21

Oracle Internal & Oracle Academy Use Only

Poltica de FGA
Define: Criterios de auditora Accin de auditora Se crea con DBMS_FGA .ADD_POLICY
SELECT name, job_id FROM employees; SELECT name, salary FROM employees WHERE department_id = 10; dbms_fga.add_policy ( object_schema => 'HR', object_name => 'EMPLOYEES', policy_name => 'audit_emps_salary', audit_condition=> 'department_id=10', audit_column => 'SALARY', handler_schema => 'secure', handler_module => 'log_emps_salary', enable => TRUE, statement_types => 'SELECT' );

SECURE.LOG_ EMPS_SALARY

employees

Copyright 2005, Oracle. Todos los derechos reservados.

Poltica de FGA El ejemplo de la diapositiva muestra una poltica de FGA creada con el procedimiento DBMS_FGA.ADD_POLICY. El procedimiento acepta los siguientes argumentos: Nombre de Poltica Asigne a cada poltica de FGA un nombre cuando la cree. En el ejemplo de la diapositiva se asigna a la poltica el nombre AUDIT_EMPS_SALARY mediante el siguiente argumento:
policy_name => 'audit_emps_salary'

Condicin de Auditora La condicin de auditora es un predicado de SQL que define cundo se debe arrancar el evento de auditora. En el ejemplo de la diapositiva, se auditan todas las filas del departamento 10 mediante el siguiente argumento de condicin:
audit_condition => 'department_id = 10

Base de Datos Oracle 10g: Taller de Administracin I 10-22

Oracle Internal & Oracle Academy Use Only

Poltica de FGA (continuacin) Columna de Auditora La columna de auditora define los datos que se estn auditando. Se produce un evento de auditora si se incluye esta columna en la sentencia SELECT o si la condicin de auditora permite la seleccin. En el ejemplo de la diapositiva se auditan dos columnas mediante el siguiente argumento:
audit_column => 'SALARY,COMMISION_PCT'

Este argumento es opcional. Si no se especifica, slo el argumento AUDIT_CONDITION determina si se debe producir un evento de auditora. Objeto El objeto es la tabla o vista que se est auditando. Se transfiere como dos argumentos: El esquema que contiene el objeto El nombre del objeto En el ejemplo de la diapositiva se audita la tabla hr.employees mediante los siguientes argumentos:
object_schema => 'hr' object_name => 'employees'

Manejador Un manejador de eventos opcional es un procedimiento PL/SQL que define cualquier accin adicional que se debe llevar a cabo durante la auditora. Por ejemplo, el manejador de eventos puede enviar una pgina de alerta al administrador. Si no se define, se inserta una entrada de evento de auditora en la pista de auditora. Si se define un manejador de eventos de auditora, se inserta la entrada de auditora en la pista de auditora y se ejecuta el manejador de eventos de auditora. La entrada de evento de auditora incluye la poltica de FGA que provoc el evento, el usuario que ejecut la sentencia SQL y la sentencia SQL junto con sus variables ligadas. El manejador de eventos se transfiere como dos argumentos: El esquema que contiene la unidad de programa PL/SQL El nombre de la unidad de programa PL/SQL En el ejemplo de la diapositiva se ejecuta el procedimiento SECURE.LOG_EMPS_SALARY mediante los siguientes argumentos: handler_schema =>
'secure' handler_module => 'log_emps_salary'

Por defecto, las pistas de auditora siempre escriben el texto SQL y la informacin de enlace SQL en los LOB. Se puede cambiar el valor por defecto (por ejemplo, si el sistema experimenta una degradacin de rendimiento). Estado El estado indica si la poltica de FGA est activada. En el ejemplo de la diapositiva, el siguiente argumento activa la poltica:
enable => TRUE

Base de Datos Oracle 10g: Taller de Administracin I 10-23

Oracle Internal & Oracle Academy Use Only

Sentencia DML Auditada: Consideraciones


Se auditan los registros si se satisface el predicado de FGA y si se hace referencia a las columnas relevantes. Se auditan las sentencias DELETE independientemente de las columnas especificadas. Se auditan las sentencias MERGE con las sentencias generadas INSERT o UPDATE subyacentes.
UPDATE hr.employees SET salary = 10 WHERE commission_pct = 90; UPDATE hr.employees SET salary = 10 WHERE employee_id = 111;

Copyright 2005, Oracle. Todos los derechos reservados.

Sentencia DML Auditada: Consideraciones Con una poltica de FGA definida para las sentencias DML, se audita una sentencia DML si se estn manipulando las filas de datos (las nuevas y las antiguas) para cumplir con los criterios del predicado de la poltica. Sin embargo, si tambin se especifican las columnas relevantes en la definicin de la poltica, se audita la sentencia cuando los datos cumplen con el predicado de la poltica de FGA y cuando la sentencia hace referencia a las columnas relevantes definidas. Con las sentencias DELETE, la especificacin de las columnas relevantes durante la definicin de la poltica no resulta muy til ya que una sentencia DELETE toca todas las columnas de una tabla. Por esta razn, siempre se auditan las sentencias DELETE independientemente de las columnas relevantes. FGA soporta las sentencias MERGE. Las sentencias INSERT o UPDATE subyacentes se auditan si cumplen cualquiera de las polticas de FGA INSERT o UPDATE. Mediante la poltica de FGA definida anteriormente, se audita la primera sentencia pero no la segunda.

Base de Datos Oracle 10g: Taller de Administracin I 10-24

Oracle Internal & Oracle Academy Use Only

Instrucciones de FGA
Para auditar todas las sentencias, utilice una condicin null. Los nombres de poltica deben ser nicos. La tabla o vista auditada ya debe existir cuando cree la poltica. Si la sintaxis de la condicin de auditora no es vlida, se produce el error ORA-28112 cuando se accede al objeto auditado. Si la columna auditada no existe en la tabla, no se audita ninguna fila. Si el manejador de eventos no existe, no se devuelve ningn error y el registro de auditora se crea de todos modos.
Copyright 2005, Oracle. Todos los derechos reservados.

Instrucciones de FGA Con las sentencias SELECT, FGA captura la propia sentencia y no las filas reales. Sin embargo, cuando se combina FGA con consultas de flashback, se pueden reconstruir las filas tal y como existan en ese punto concreto. Para obtener ms informacin sobre las consultas de flashback, consulte la leccin titulada Realizacin de Flashback. Para obtener ms informacin sobre el paquete DBMS_FGA, consulte Oracle Database, PL/SQL Packages and Types Reference.

Base de Datos Oracle 10g: Taller de Administracin I 10-25

Oracle Internal & Oracle Academy Use Only

Auditora de DBA

Copyright 2005, Oracle. Todos los derechos reservados.

Auditora de DBA Los usuarios SYSDBA y SYSOPER tienen privilegios para iniciar y cerrar la base de datos. Puesto que pueden realizar cambios mientras la base de datos est cerrada, la pista de auditora para estos privilegios se debe almacenar fuera de la base de datos. La base de datos Oracle captura de manera automtica los eventos de conexin de los usuarios SYSDBA y SYSOPER. Esto proporciona una forma valiosa para realizar un seguimiento de acciones SYSDBA y SYSOPER autorizadas y no autorizadas, si bien slo resulta til si se revisa la pista de auditora del sistema operativo. La base de datos Oracle no captura nada que no sean eventos de conexin a menos que se active especficamente la auditora. Active la auditora de usuarios SYSDBA y SYSOPER mediante la definicin del parmetro de inicializacin: audit_sys_operations=TRUE (El valor por defecto es FALSE.) Si se auditan las operaciones SYS, el parmetro de inicializacin audit_file_dest controla la ubicacin de almacenamiento de los registros de auditora. En una plataforma Windows, la pista de auditora toma por defecto el registro de eventos de Windows. En plataformas UNIX o Linux, los registros de auditora se almacenan en $ORACLE_HOME/rdbms/audit.

Base de Datos Oracle 10g: Taller de Administracin I 10-26

Oracle Internal & Oracle Academy Use Only

Los usuarios con privilegios SYSDBA o SYSOPER pueden conectarse cuando la base de datos est cerrada. La pista de auditora se debe almacenar fuera de la base de datos. La conexin como SYSDBA o SYSOPER siempre se audita. Puede activar la auditora adicional de acciones de SYSDBA o SYSOPER con audit_sys_operations. Puede controlar la pista de auditora con audit_file_dest.

Requisitos Privilegio ms Bajo Auditora Basada en Valores Auditora Detallada > DBA Actualiz. Seguridad

Mantenimiento de la Pista de Auditora

Copyright 2005, Oracle. Todos los derechos reservados.

Mantenimiento de la Pista de Auditora Es necesario mantener cada tipo de pista de auditora. El mantenimiento bsico debe incluir la revisin de los registros de auditora y la eliminacin de los registros antiguos en la base de datos o el sistema operativo. Las pistas de auditora pueden crecer de tamao hasta llenar todo el almacenamiento disponible. Si el sistema de archivos est completo, el sistema puede fallar o provocar problemas de rendimiento. Si la pista de auditora de la base de datos llena el tablespace, no se completarn las acciones auditadas. Si la pista de auditora llena el tablespace del sistema, se ver afectado el rendimiento de otras operaciones antes de que se paren las operaciones de auditora. La pista de auditora estndar se almacena en la tabla AUD$. La pista de auditora para FGA es la tabla FGA_LOG$. Estas dos tablas se crean por defecto en el tablespace SYSTEM. Puede mover estas tablas a otro tablespace mediante las utilidades de exportacin e importacin. Nota: El movimiento de las tablas de auditora fuera del tablespace SYSTEM no est soportado. Los registros de auditora se pueden perder durante el proceso de eliminacin de registros en las tablas de auditora. Prctica recomendada: Utilice una exportacin basada en un registro de hora y suprima las filas de la pista de auditora que tengan el mismo registro de hora.

Base de Datos Oracle 10g: Taller de Administracin I 10-27

Oracle Internal & Oracle Academy Use Only

Se debe mantener la pista de auditora. Siga estas recomendaciones: Revise y almacene los registros antiguos. Evite los problemas de almacenamiento. Evite la prdida de registros.

Actualizaciones de Seguridad

Oracle publica alertas de seguridad en la direccin Web de Oracle Technology Network en:

Requisitos Privilegio ms Bajo Auditora Basada en Valores Auditora Detallada DBA > Actualiz. Seguridad

http://www.oracle.com/technology/deploy/security/alerts.htm

Copyright 2005, Oracle. Todos los derechos reservados.

Actualizaciones de Seguridad Las alertas de seguridad de Oracle contienen una breve descripcin de la vulnerabilidad, una evaluacin del riesgo y del grado de exposicin asociados a la vulnerabilidad, as como soluciones alternativas o parches que se pueden aplicar. Con Enterprise Manager, puede gestionar los parches. Oracle incluye una confirmacin del individuo u organizacin que notific la vulnerabilidad. Las alertas de seguridad se publican en la direccin Web de Oracle Technology Network y en OracleMetaLink (MetaLink). Aunque las alertas de seguridad se dan a conocer pblicamente a cualquier persona que est interesada en ellas, slo los clientes con un nmero de identificacin de soporte al cliente (Customer Support Identification o CSI) actual pueden descargar parches. Oracle agradece su cooperacin en el mantenimiento de la seguridad de sus productos a travs de notificaciones rpidas, completas y confidenciales de posibles vulnerabilidades de seguridad. Si descubre una vulnerabilidad de seguridad con cualquier producto Oracle, notifquenoslo enviando una solicitud de servicio a travs de MetaLink o un mensaje de correo electrnico a secalert_us@oracle.com.

Base de Datos Oracle 10g: Taller de Administracin I 10-28

Oracle Internal & Oracle Academy Use Only

Los administradores y desarrolladores de la base de datos Oracle tambin pueden suscribirse para recibir notificaciones de las alertas de seguridad crticas a travs de correo electrnico haciendo clic en el enlace Subscribe to Oracle Critical Patch Update and Security Alert notifications.

Aplicacin de Parches de Seguridad


Copyright 2005, Oracle. Todos los derechos reservados.

Aplicacin de Parches de Seguridad Proceso de Actualizacin de Parches Crticos (CPU) Oracle inici el proceso CPU en enero de 2005. El proceso agrupaba los parches crticos de forma trimestral. Este programa sustituye las versiones de parches de alerta de seguridad. Estos parches son acumulativos e incluyen los parches de requisitos ms solicitados y necesarios. La versin de parches trimestral se suministra con una matriz de valoracin de riesgos para que pueda determinar en su ubicacin el impacto y los riesgos de seguridad. Consulte la nota de MetaLink: 290738.1 Oracle Critical Patch Update Program General FAQ. Se debe suscribir a MetaLink para recibir estas actualizaciones. Aplicacin de Todos los Parches de Seguridad y Soluciones Alternativas Aplique siempre todos los parches de seguridad relevantes y actuales para el sistema operativo en el que reside la base de datos y el software de Oracle y para todas las opciones y componentes instalados. Contacto con el Equipo de Productos de Seguridad de Oracle Si cree que ha encontrado una vulnerabilidad de seguridad en el software de Oracle, siga las instrucciones proporcionadas en el enlace Security Alerts en http://otn.oracle.com o en http://www.oracle.com/technology/deploy/security/alerts.htm.

Base de Datos Oracle 10g: Taller de Administracin I 10-29

Oracle Internal & Oracle Academy Use Only

Utilice el proceso de actualizacin de parches crticos. Aplique todos los parches de seguridad y soluciones alternativas. Pngase en contacto con el equipo de productos de seguridad de Oracle.

Resumen

Copyright 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g: Taller de Administracin I 10-30

Oracle Internal & Oracle Academy Use Only

En esta leccin, debe haber aprendido lo siguiente: Describir sus responsabilidades de DBA en cuanto a seguridad Aplicar el principio de privilegio ms bajo Activar la auditora de base de datos estndar Especificar opciones de auditora Revisar informacin de auditora Mantener la pista de auditora

Visin General de la Prctica: Implementacin de Seguridad de la Base de Datos Oracle


En esta prctica se abordan los siguientes temas: Activacin de la auditora de base de datos estndar Especificacin de las opciones de auditora para la tabla HR.JOBS Actualizacin de la tabla Revisin de la informacin de auditora Mantenimiento de la pista de auditora

Copyright 2005, Oracle. Todos los derechos reservados

Base de Datos Oracle 10g: Taller de Administracin I 10-31

Oracle Internal & Oracle Academy Use Only

También podría gustarte