Base de Datos Oracle 10g Taller de Administracion I

234
Base de Datos Oracle 10g: Taller de Administración I Volumen I Guía del Alumno D17090CS30 Edición 3.0 Noviembre de 2005 D50253 ®

description

Base de datos oracle 10g Taller de administracion I

Transcript of Base de Datos Oracle 10g Taller de Administracion I

Page 1: Base de Datos Oracle 10g Taller de Administracion I

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

Volumen I • Guía del Alumno

D17090CS30

Edición 3.0

Noviembre de 2005

D50253

®

Page 2: Base de Datos Oracle 10g Taller de Administracion I

Copyright © 2005, Oracle. Todos los derechos reservados.

Renuncia

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

La información contenida en este documento está sujeta a cambio sin previo aviso. Si detecta cualquier problema en el documento, le agradeceremos que nos lo comunique por escrito a: Oracle University, 500 Oracle Parkway, Redwood Shores, California 94065 USA. Oracle Corporation no garantiza que este documento estéexento de errores.

Restricted Rights Notice

Si esta documentación se entrega al Gobierno de los EE.UU. o a cualquier entidad que la utilice en nombre del Gobierno de los EE.UU., se aplicará la siguiente advertencia:

U.S. GOVERNMENT RIGHTSThe U.S. Government’s rights to use, modify, reproduce, release, perform, display, or disclose these training materials are restricted by the terms of the applicable Oracle license agreement and/or the applicable U.S. Government contract.

Aviso de Marca Comercial

Oracle, JD Edwards y PeopleSoft son marcas comerciales registradas de Oracle Corporation y/o sus subsidiarias. Todos los demás nombres pueden ser marcas comerciales de sus respectivos propietarios.

AutoresTom BestM.J. Billings

Colaboradores y Revisores TécnicosAnthony WoodellBarry TruteCelia AntonioChristine JealDonna KeeslingHoward BradleyJames SpillerJanet SternJean-Francois VerrierJoel GoodmanJohn HibbardLarry BaumannMagnus IsakssonM.J. BryksaPaul NeedhamPierre LabrousseRaza SiddiquiSandra CheeversStefan LindbladStella KisterSteve FriedbergSteven KaramSushma JagannathTammy Bednar

RedactoresNavratan SinghNita PavitranRaj Kumar

Diseñadores GráficosSatish BettegowdaSteve Elwood

EditorJoseph Fernandez

Page 3: Base de Datos Oracle 10g Taller de Administracion I

Prefacio

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

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

Contenido

iii

Page 4: Base de Datos Oracle 10g Taller de Administracion I

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

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

iv

Page 5: Base de Datos Oracle 10g Taller de Administracion I

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

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

de Bases de Datos 5-30

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

v

Page 6: Base de Datos Oracle 10g Taller de Administracion I

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

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

vi

Page 7: Base de Datos Oracle 10g Taller de Administracion I

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

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

vii

Page 8: Base de Datos Oracle 10g Taller de Administracion I

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

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

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

viii

Page 9: Base de Datos Oracle 10g Taller de Administracion I

Mantenimiento de la Pista de Auditoría 10-27Actualizaciones de Seguridad 10-28Aplicación de Parches de Seguridad 10-29Resumen 10-30Visión General de la Práctica: Implementación de Seguridad de la Base de Datos Oracle 10-31

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

12 Mantenimiento ProactivoObjetivos 12-2Mantenimiento Proactivo 12-3Introducción a la Terminología 12-4

ix

Page 10: Base de Datos Oracle 10g Taller de Administracion I

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

13 Gestión de RendimientoObjetivos 13-2Control del Rendimiento 13-3Control del Rendimiento: Top Sessions 13-7Control del Rendimiento: Top Services 13-8Asesor de Ajustes SQL: Visión General 13-9Recomendaciones y Opciones del Asesor de Ajustes SQL 13-10Uso del Asesor de Ajustes SQL 13-11Uso del Asesor de Ajustes SQL: Ejemplo 13-12Asesor de Ajustes SQL: Estadísticas SQL 13-13Asesor de Ajustes SQL: Identificación de SQL Duplicados 13-14Uso del Asesor de Acceso SQL 13-15Gestión de los Componentes de la Memoria 13-17Activación de la Gestión Automática de Memoria Compartida (ASMM) 13-18Definición Manual de la Gestión de Memoria Compartida 13-20

x

Page 11: Base de Datos Oracle 10g Taller de Administracion I

Uso del Asesor de Memoria 13-21Estadísticas de Rendimiento Dinámicas 13-22Vistas de Solución de Problemas y de Ajustes 13-24Objetos No Válidos o No Utilizables 13-25Resumen 13-27Visión General de la Práctica: Control y Mejora del Rendimiento 13-28

14 Conceptos de Copia de Seguridad y RecuperaciónObjetivos 14-2Parte de su Trabajo 14-3Categorías de Fallos 14-4Fallo de Sentencia 14-5Fallo de Proceso de Usuario 14-6Fallo de Red 14-7Error del Usuario 14-8Fallo de la Instancia 14-10Procesos en Segundo Plano y Recuperación: Punto de Control (CKPT) 14-11Procesos en Segundo Plano y Recuperación: Archivos Redo Log y Escritor de Log 14-13Procesos en Segundo Plano y Recuperación: Proceso de Archivado (ARCn) 14-14Recuperación de Instancias 14-15Fases de la Recuperación de Instancias 14-16Ajuste de la Recuperación de Instancias 14-17Uso del Asesor de MTTR 14-18Fallo del Medio Físico 14-19Configuración de Recuperabilidad 14-20Archivos de Control 14-21Archivos Redo Log 14-22Multiplexión del Redo Log 14-23Archivos Archive Log 14-24Archivo Archive Log: Nomenclatura y Destinos 14-25Modo ARCHIVELOG 14-27Resumen 14-28Visión General de la Práctica: Configuración de Recuperabilidad 14-29

15 Realización de Copias de Seguridad de Bases de DatosObjetivos 15-2Soluciones de Copia de Seguridad: Visión General 15-3Oracle Secure Backup 15-4Copia de Seguridad Gestionada por Usuario 15-5Terminología 15-6Recovery Manager (RMAN) 15-10

xi

Page 12: Base de Datos Oracle 10g Taller de Administracion I

Configuración de Valores de Copia de Seguridad 15-11Planificación de Copias de Seguridad: Estrategia 15-14Planificación de Copias de Seguridad: Options 15-15Planificación de Copias de Seguridad: Settings 15-16Planificación de Copias de Seguridad: Schedule 15-17Planificación de Copias de Seguridad: Review 15-18Copia de Seguridad del Archivo de Control en un Archivo de Rastreo 15-19Gestión de Copias de Seguridad 15-21Área de Recuperación de Flash 15-22Resumen 15-23Visión General de la Práctica: Creación de Copias de Seguridad de Bases de Datos 15-24

16 Recuperación de Bases de DatosObjetivos 16-2Apertura de una Base de Datos 16-3Cambio del Estado de la Instancia 16-5Mantenimiento de una Base de Datos Abierta 16-6Pérdida de un Archivo de Control 16-7Pérdida de un Archivo Redo Log 16-8Pérdida de un Archivo de Datos en Modo NOARCHIVELOG 16-9Pérdida de un Archivo de Datos No Crítico en Modo ARCHIVELOG 16-10Pérdida de un Archivo de Datos Crítico del Sistema en Modo ARCHIVELOG 16-11Resumen 16-12Visión General de la Práctica: Recuperación de Bases de Datos 16-13

17 Realización de FlashbackObjetivos 17-2Tecnología de Flashback: Ventajas 17-3Cuándo Utilizar la Tecnología de Flashback 17-4Realización de Flashback en Cualquier Error 17-5Flashback de Base de Datos: Visión General 17-6Flashback de Base de Datos: Reducción del Tiempo de Restauración 17-7Flashback de Base de Datos: Consideraciones 17-8Flashback de Base de Datos: Limitaciones 17-9Activación de la Función de Flashback de Base de Datos 17-10Flashback de Tabla: Visión General 17-11Flashback de Tabla 17-12Activación del Movimiento de Filas en una Tabla 17-13Realización de Flashback de Tabla 17-14Flashback de Tabla: Consideraciones 17-15Flashback de Borrado: Visión General 17-17

xii

Page 13: Base de Datos Oracle 10g Taller de Administracion I

Flashback de Tablas Borradas mediante Enterprise Manager 17-18Flashback de Borrado: Consideraciones 17-19Acceso al Tiempo de Flashback 17-20Consulta de Flashback: Visión General 17-21Consulta de Flashback: Ejemplo 17-22Consulta de Flashback de Versiones: Visión General 17-23Consulta de Flashback de Versiones mediante Enterprise Manager 17-24Consulta de Flashback de Versiones: Consideraciones 17-25Consulta de Flashback de Transacciones: Visión General 17-26Consulta de Flashback de Transacciones mediante Enterprise Manager 17-27Consulta de Flashback de Transacciones: Consideraciones 17-28Resumen 17-29Visión General de la Práctica: Uso de Flashback 17-30

18 Movimiento de DatosObjetivos 18-2Movimiento de Datos: Arquitectura General 18-3Objeto de Directorio: Visión General 18-4Creación de Objetos de Directorio 18-5SQL*Loader: Visión General 18-6Carga de Datos con SQL*Loader 18-8Archivo de Control de SQL*Loader 18-9Métodos de Carga 18-11Pump de Datos: Visión General 18-13Pump de Datos: Ventajas 18-15Exportación e Importación de Pump de Datos: Visión General 18-17Utilidad Pump de Datos: Interfaces y Modos 18-18Selección de Objetos Detallada 18-19Función Avanzada: Creación de Ejemplos 18-20Opciones de Exportación: Archivos 18-21Ubicaciones de los Archivos de Pump de Datos 18-22Planificación y Ejecución de un Trabajo 18-24Nomenclatura y Tamaño de los Archivos de Pump de Datos 18-25Importación de Pump de Datos 18-26Importación de Pump de Datos: Transformaciones 18-27Pump de Datos: Consideración del Rendimiento 18-29Parámetros de Inicialización de Rendimiento 18-30Rutas de Acceso de Pump de Datos: Consideraciones 18-31Uso de Enterprise Manager para Controlar Trabajos de Pump de Datos 18-32Relleno de Tabla Externa 18-33

xiii

Page 14: Base de Datos Oracle 10g Taller de Administracion I

Uso de Tablas Externas 18-34Relleno de Tabla Externa mediante ORACLE_DATAPUMP 18-35Relleno de Tabla Externa mediante ORACLE_LOADER 18-36Diccionario de Datos 18-37Resumen 18-38Visión General de la Práctica: Movimiento de Datos 18-39

Apéndice A: Prácticas

Apéndice B: Soluciones

Apéndice C: Comandos Básicos de Linux y vi

Apéndice D: Sintaxis de Sentencias SQL

Apéndice E: Acrónimos y Términos

Apéndice F: Siguientes Pasos para Continuar con la Formación

Índice

xiv

Page 15: Base de Datos Oracle 10g Taller de Administracion I

Prefacio

Page 16: Base de Datos Oracle 10g Taller de Administracion I

Prefacio - 2

Page 17: Base de Datos Oracle 10g Taller de Administracion I

Prefacio - 3

Perfil

Cualificación Necesaria para el CursoAntes de empezar este curso, debe contar con las siguientes cualificaciones:

• Experiencia laboral con SQL

Organización del CursoBase de Datos Oracle 10g: Taller de Administración I es un curso dirigido por un instructor que incluye teoría y ejercicios prácticos. Las demostraciones en línea y las sesiones de prácticas escritas sirven para reforzar los conceptos y las habilidades presentados.

Próximos Cursos Sugeridos Base de Datos Oracle 10g: Taller de Administración II (D17092GC30)

Page 18: Base de Datos Oracle 10g Taller de Administracion I

Prefacio - 4

Publicaciones Relacionadas

Publicaciones de OracleTítulo Número de Artículo Oracle Database 2 Day DBA 10g Release 2 (10.2) B14196-01Oracle Database Administrator's Guide 10g Release 2 (10.2) B14231-01Oracle Database Backup and Recovery Basics 10g Release 2 (10.2) B14192-01Oracle Database Concepts 10g Release 2 (10.2) B14220-01Oracle Database Licensing Information 10g Release 2 (10.2) B14199-01Oracle Database Net Services Administrator's Guide 10g Release 2 (10.2) B14212-01Oracle Database Net Services Reference 10g Release 2 (10.2) B14213-01Oracle Database New Features Guide 10g Release 2 (10.2) B14214-01Oracle Database Performance Tuning Guide 10g Release 2 (10.2) B14211-01Oracle Database PL/SQL Packages and Types Reference 10g Release 2 (10.2) B14258-01Oracle Database PL/SQL User's Guide and Reference 10g Release 2 (10.2) B14261-01Oracle Database Recovery Manager Quick Start Guide 10g Release 2 (10.2) B14193-01Oracle Database Recovery Manager Reference 10g Release 2 (10.2) B14194-01Oracle Database Security Guide 10g Release 2 (10.2) B14266-01Oracle Database SQL Quick Reference 10g Release 2 (10.2) B14195-01Oracle Database SQL Reference 10g Release 2 (10.2) B14200-01

Publicaciones Adicionales• Boletines de las versiones del sistema• Guías de instalación y del usuario• Archivos léame• Artículos del grupo internacional de usuarios de Oracle (International Oracle User’s Group, IOUG)• Oracle Magazine

Page 19: Base de Datos Oracle 10g Taller de Administracion I

Prefacio - 5

Convenciones TipográficasConvenciones Tipográficas en el Texto

Convención Elemento Ejemplo Negrita Palabras y frases

resaltadas en contenido Web sólo

Para navegar dentro de esta aplicación, no haga clic en los botones Atrás y Adelante.

Negrita y cursiva

Término del glosario (si existe uno)

El algoritmo inserta la nueva clave.

Corchetes Nombres de teclas Pulse [Intro].

Mayúsculas y minúsculas

Botones, casillas de control, disparadores de aplicación, ventanas

Haga clic en el botón Executable. Active la casilla de control Can’t Delete Card. Asigne un disparador When-Validate-Item al bloque ORD. Abra la ventana Master Schedule.

Paréntesis angulares

Rutas de acceso de menús

Seleccione File > Save.

Comas Secuencias de teclas Pulse y suelte las siguientes teclas de una en una: [Alt], [F], [D]

Courier new, distinción entre mayúsculas y minúsculas (el valor por defecto es minúsculas)

Salida de código, nombres de directorios, nombres de archivos, contraseñas, nombres de rutas de acceso, entrada de usuario, nombres de usuario

Salida de código: debug.set ('I', 300); Directorio: bin (DOS), $FMHOME (UNIX) Nombre de archivo: Localice el archivo init.ora. Contraseña: Utilice tiger como contraseña. Nombre de ruta de acceso: Abra c:\my_docs\projects. Entradas del usuario: Introduzca 300. Nombre de usuario: Conéctese como HR.

Mayúscula inicial

Etiquetas de los gráficos(a menos que el término sea un nombre propio)

Dirección del cliente (salvo Oracle Payables)

Cursiva Palabras y frases resaltadas, títulos de manuales y cursos, variables

No guarde los cambios en la base de datos. Para obtener más información, consulte Oracle Database SQL Reference 10g Release 1(10.1). Introduzca [email protected], donde user_id es el nombre del usuario.

Page 20: Base de Datos Oracle 10g Taller de Administracion I

Prefacio - 6

Convenciones Tipográficas (continuación)Convenciones Tipográficas en el Texto (continuación)

Convenciones Tipográficas en el Código

Convención Elemento Ejemplo

Comillas Elementos de la interfaz con nombres extensos que sólo llevan mayúscula inicial; títulos de lecciones y capítulos en referencias cruzadas

Haga clic en “Include a reusable module component” y, luego, en Finish. Este tema se trata en la lección titulada, “Trabajar con Objetos”.

Mayúsculas Nombres de columna SQL, comandos, funciones, esquemas, nombres de tabla, nombres de disparadores de base de datos

Utilice el comando SELECT para ver la información almacenada en la columna LAST_NAME de la tabla EMPLOYEES.

Convención Elemento Ejemplo

Minúsculas Nombres de columna, nombres de tabla, nombres de disparadores de base de datos

SELECT last_name FROM employees; CREATE OR REPLACE TRIGGER secure_employees

Contraseñas CREATE USER scott IDENTIFIED BY tiger;

Objetos PL/SQL items.DELETE(3);

Cursivas minúsculas

Variables de sintaxis

CREATE ROLE role

Mayúsculas Funciones y comandos SQL

SELECT first_name FROM employees;

Page 21: Base de Datos Oracle 10g Taller de Administracion I

Prefacio - 7

Convenciones Tipográficas (continuación)Convenciones Tipográficas en las Rutas de Acceso de NavegaciónEn este curso se utilizan rutas de acceso de navegación simplificadas, como el ejemplo siguiente, para guiarle a través 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.3. (B) Haga clic en el botón Approve.Notación:

(N) = Navegador (I) = Icono(M) = Menú (H) = Enlace de hipertexto(S) = Separador (B) = Botón

Page 22: Base de Datos Oracle 10g Taller de Administracion I

Prefacio - 8

Page 23: Base de Datos Oracle 10g Taller de Administracion I

Copyright © 2005, Oracle. Todos los derechos reservados.

Introducción

Page 24: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Objetivos del Curso

Al finalizar este curso, debería estar capacitado para lo siguiente:• Instalar, crear y administrar la base de datos

Oracle 10g• Configurar la base de datos para una aplicación• Utilizar procedimientos de control básicos• Implementar una estrategia de copia de seguridad

y recuperación• Mover datos entre bases de datos y archivos

Objetivos del CursoEn este curso instalará el software Oracle Database 10g Enterprise Edition, creará una nueva base de datos y aprenderá a administrar dicha base de datos.También configurará la base de datos para dar soporte a una aplicación y realizará tareas como la creación de usuarios, definición de estructuras de almacenamiento y configuración de la seguridad. Este curso utiliza una aplicación ficticia. Sin embargo, realizará todas las tareas principales necesarias para una aplicación real.La administración de la base de datos no termina tras haberla configurado. También aprenderá a proteger la base de datos diseñando una estrategia de copia de seguridad y recuperación y a controlarla para garantizar que funciona correctamente.

Page 25: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Planificación Sugerida

1. Introducción2. Instalación3. Creación de Base de Datos4. Instancia

5. Almacenamiento6. Usuarios7. Esquema8. Datos y Simultaneidad

9. Deshacer10. Seguridad11. Red12. Mantenimiento Proactivo

13. Rendimiento14. Conceptos de Copia de

Seguridad y Recuperación15. Copia de Seguridad

16. Recuperación17. Flashback18. Movimiento de Datos

Page 26: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Objetivos

Al finalizar esta lección, debería estar capacitado para lo siguiente:• Describir los objetivos del curso• Explicar la arquitectura de la base de datos Oracle 10g

Page 27: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Productos y Servicios Oracle

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

Productos Oracle• Bases de datos Oracle: La base de datos Oracle es la primera base de datos diseñada para

Enterprise Grid Computing (el modo más flexible y rentable de gestionar información 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 electrónico, 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 organización.

• Oracle Collaboration Suite: Oracle Collaboration Suite es un sistema integrado único para todos los datos de comunicaciones de la organización: voz, correo electrónico, fax, dispositivo móvil, información de agenda y archivos.

• Oracle Developer Suite: Oracle Development Suite es un completo entorno integrado que combina herramientas de desarrollo de aplicaciones y de análisis 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 apéndice titulado “Siguientes Pasos para Continuar con la Formación”.

Page 28: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Base de Datos Oracle 10g:“g” Significa Grid

• Global Grid Forum (GGF)• Infraestructura de grid de Oracle:

– Bajo costo– Alta calidad de servicio– Fácil de gestionar

AutomaticStorage

Management

RealApplication

Clusters

OracleStreams

EnterpriseManager

Grid Control

Grid dealmacenamiento

Grid debase de datos

Grid deaplicación

Control degrids

Base de Datos Oracle 10g: “g” Significa GridGlobal Grid Forum (GGF) es un organismo que desarrolla estándares para Grid Computing. Está compuesto por un juego de comités y grupos de trabajo que se centran en diversos aspectos de Grid Computing. Los comités y grupos de trabajo están compuestos por participantes procedentes del mundo académico, de la comunidad investigadora y (cada vez más) de compañías comerciales. Puede visitar el sitio Web de GGF en la dirección 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 computación de mainframe ya que todos sus componentes están en cluster. Aunque, a diferencia de los mainframes y los grandes servidores de multiproceso simétrico (SMP) de UNIX, los grid pueden incorporar tecnologías de sistemas abiertos, como los procesadores Intel y el sistema operativo Linux, con un costo muy bajo.La tecnología de Grid Computing de Oracle incluye:

• Automatic Storage Management (ASM)• Real Application Clusters (RAC)• Oracle Streams• Enterprise Manager Grid Control

Page 29: Base de Datos Oracle 10g Taller de Administracion I

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

Base de Datos Oracle 10g: “g” Significa Grid (continuación)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) más elevado con los mínimos costos de gestión. Conforme se agregan o borran discos, ASM vuelve a distribuir los datos de manera automática. (No es necesario disponer de un gestor de volúmenes lógicos para gestionar el sistema de archivos.) La duplicación opcional aumenta la disponibilidad de los datos y es posible agregar o borrar discos en línea. Para obtener más información, consulte la lección titulada “Gestión de Estructuras de Almacenamiento de Bases de Datos”.Oracle Real Application Clusters ejecuta y escala todas las cargas de trabajo de aplicación 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 recuperación. Está disponible en todas las plataformas que soporta la base de datos Oracle 10g.

• Gestión automática de cargas de trabajo: Se pueden definir reglas para asignar automáticamente recursos de procesamiento a cada servicio durante las operaciones normales y en respuesta a fallos. Estas reglas se pueden modificar de manera dinámica para satisfacer las cambiantes necesidades de negocio. Esta asignación dinámica de recursos dentro de un grid de base de datos es exclusiva de Oracle RAC.

• Notificación automática de eventos a la capa media: Cuando cambia una configuración de cluster, la capa media puede adaptarse inmediatamente a la operación 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 automáticamente para manejar estos eventos.

Oracle Streams proporciona un marco unificado para compartir información, combinar la cola de mensajes, replicar datos, notificar eventos, cargar el almacén de datos y publicar y suscribir la funcionalidad en una tecnología única. Oracle Streams puede mantener sincronizadas dos o más copias de origen de datos cuando se apliquen actualizaciones en cualquiera de los sitios. Puede, de manera automática, capturar los cambios en las bases de datos, propagar esos cambios a los nodos suscritos, aplicarlos y detectar y resolver los conflictos de actualización de datos. Las aplicaciones pueden utilizar directamente Oracle Streams como una función de cola de mensajes o flujo de trabajo, permitiendo la comunicación entre las aplicaciones del grid.Enterprise Manager Grid Control gestiona las operaciones de todo el grid que incluyen la gestión de toda la pila de software, el provisionamiento de usuarios, la clonación de bases de datos y la gestión 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 lógicas ú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.

Page 30: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Arquitectura de la Base de Datos Oracle

Un servidor de Oracle:• Es un sistema de gestión de bases de datos que

proporciona un enfoque abierto, completo e integrado a la gestión de información

• Consta de una instancia Oracle y una base de datos Oracle

Arquitectura de la Base de Datos OracleEl servidor de Oracle es la clave para la gestión de información. 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 simultánea 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 recuperación ante fallos.

Page 31: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Estructuras de Bases de Datos

Estructuras de almacenamiento

Estructuras de memoria

Estructuras de proceso

Instancia

Área Global del Sistema (SGA)

Procesos en segundo plano

Archivos de base de datos

Estructuras de bases de datos- Memoria- Proceso- Almacenamiento

Estructuras de Bases de DatosCada base de datos Oracle en ejecución 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 combinación de SGA y los procesos de Oracle se denomina instancia de Oracle.Después 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 simultáneamente en la misma computadora, accediendo cada una de ellas a su propia base de datos física.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.

Page 32: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Estructuras de Memoria de Oracle

Pool JavaCaché de

buffers de la base de datos

Buffer deredo log

Pool compartido Pool grande

SGA

Pool de Streams

Proceso deservidor

1PGA

Proceso deservidor

2PGA

Proceso en segundo

planoPGA

Estructuras de bases de datos > Memoria

ProcesoAlmacenamiento

Estructuras de Memoria de OracleLas estructuras de memoria básicas 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 información 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 información de redo (utilizada para la recuperación de instancias) hasta que se pueda escribir en los archivos redo log físicos 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 recuperación y copia de seguridad de Oracle y procesos de E/S del servidor.

Page 33: Base de Datos Oracle 10g Taller de Administracion I

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

Estructuras de Memoria de Oracle (continuación)• Pool Java: Se utiliza para todos los códigos y datos Java específicos de la sesión 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 región de la memoria que contiene datos e información 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 sólo mediante código de Oracle que actúa en su nombre. Con la infraestructura de SGA dinámica, el tamaño 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 parámetros de inicialización para crear y configurar las estructuras de memoria. Por ejemplo, el parámetro SGA_TARGET especifica la cantidad total de espacio disponible en SGA. Si define SGA_TARGET en 0, se desactivará la gestión automática de memoria compartida.

Page 34: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Estructuras de Proceso

• Proceso de usuario: Se inicia en el momento en que un usuario de base de datos solicita una conexión al servidor de Oracle

• Proceso de servidor: Conecta a la instancia de Oracle y se inicia cuando un usuario establece una sesión

• Procesos en segundo plano: Se inician al iniciar una instancia de Oracle

InstanciaSGA

Procesosen segundo plano

Procesode

servidor

PGA

Proceso de usuario

Estructuras de bases de datos

Memoria > Proceso

Almacenamiento

Estructuras de ProcesoAl llamar a un programa de aplicación o herramienta de Oracle, como Enterprise Manager, el servidor de Oracle crea un proceso de servidor para ejecutar los comandos que emita la aplicación. El servidor de Oracle también crea un juego de procesos en segundo plano para una instancia que interactúan entre sí y con el sistema operativo para gestionar las estructuras de memoria, realizar una E/S asíncrona para escribir datos en disco y llevar a cabo otras tareasnecesarias. El que estén presentes unos procesos en segundo plano u otros depende de las funciones que se estén utilizando en la base de datos.

Page 35: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Gestión de Instancias de Oracle

Monitordel sistema

(SMON)

Escritorde la base de datos(DBWn)

Escritor de log

(LGWR)

Control deprocesos(PMON)

Proceso de archivado

(ARCn)

SGA

Pool Java

Pool compartido Pool grandePool

de Streams

Caché de buffersde la base de datos

Buffer deredo log

Punto de control

(CKPT)

Archivosde control

Archivosde datos

Archivosredo log

Archivosarchive log

Gestión de Instancias de OracleUn 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 ejecución de una instancia. Los procesos en segundo plano más comunes son los siguientes:

• Monitor del sistema (SMON): Realiza la recuperación de fallos cuando la instancia se inicia después 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 más 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.

Page 36: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

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

Buffers:• Asignados• Limpios• Libres o no

utilizados• Sucios

DBWn

Procesode

servidor

SGA

Caché de buffersde la base de datos

Archivos de datos

Proceso de Servidor y Caché de Buffers de la Base de DatosCuando 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 requerirán lecturas físicas. 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 demás 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 instantánea de lectura consistente (CR) de un bloque.

• Libre o no utilizado: El buffer está vacío 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.

Page 37: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Estructura de Base de Datos Física

Archivos redo log en línea

Archivo de contraseñas

Archivo de parámetros Archivos archive log

Archivos de control Archivos de datos

Archivos log de alertas y de rastreo

Archivos de copia de seguridad

Estructuras de bases de datos

Memoria Proceso

> Almacenamiento

Estructura de Base de Datos FísicaLos archivos que constituyen una base de datos Oracle están organizados del siguiente modo:

• Archivos de control: Contienen datos sobre la propia base de datos (es decir, información sobre la estructura de la base de datos física). Estos archivos son críticos 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 aplicación o de usuario de la base de datos.• Archivos redo log en línea: Permiten la recuperación 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 información de dichos archivos.

Los siguientes archivos adicionales son importantes para la correcta ejecución de la base de datos:• Archivo de parámetros: Se utiliza para definir el modo de configurar la instancia cuando se

inicie.• Archivo de contraseñas: 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 recuperación de la base de datos.

Normalmente restaura un archivo de copia de seguridad cuando un fallo del medio físico o un error del usuario ha dañado o suprimido el archivo original.

Page 38: Base de Datos Oracle 10g Taller de Administracion I

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

Estructura de Base de Datos Física (continuación)• 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 recuperación de archivos de datos restaurados.

• Archivos de rastreo: Cada proceso de servidor y en segundo plano puede escribir en unarchivo de rastreo asociado. Cuando un proceso detecta un error interno, vuelca información sobre el error en su archivo de rastreo. Parte de la información escrita en un archivo de rastreo va destinada al administrador de la base de datos, mientras que otra información es para los Servicios de Soporte Oracle.

• Archivos log de alertas: Son archivos de rastreo especiales. También se conocen como logs de alertas. El log de alertas de una base de datos es un log cronológico de mensajes y errores. Oracle recomienda revisar estos archivos.

Page 39: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Tablespaces y Archivos de Datos

• Los tablespaces constan de uno o más archivos de datos.• Los archivos de datos pertenecen a un solo tablespace.

Tablespace USERS

Archivo de datos 1

Archivo de datos 2

Tablespaces y Archivos de DatosUna base de datos se divide en unidades lógicas de almacenamiento denominadas tablespaces, que se pueden utilizar para agrupar estructuras lógicas relacionadas. Cada base de datos estádividida lógicamente en uno o más tablespaces. Se crean explícitamente uno o más archivos de datos para cada tablespace con el fin de almacenar físicamente los datos de todas las estructuras lógicas de un tablespace.Nota: También pueden crear tablespaces de archivo grande, que son tablespaces con un único archivo de datos aunque de gran tamaño (hasta 4 mil millones de bloques de datos). Los tablespaces de archivo pequeño tradicionales (utilizados por defecto) pueden contener varios archivos de datos, pero los archivos no pueden ser tan grandes. Para obtener más información sobre los tablespaces de archivo grande, consulte Database Administrator’s Guide.

Page 40: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Tablespaces SYSTEM y SYSAUX

• Los tablespaces SYSTEM y SYSAUX son tablespaces obligatorios.

• Se crean en el momento de la creación de la base de datos.

• Deben estar en línea.• 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).

Tablespaces SYSTEM y SYSAUX Cada base de datos Oracle contiene un tablespace SYSTEM y un tablespace SYSAUX. Se crean automáticamente al mismo tiempo que la base de datos. El valor por defecto del sistema es crear un tablespace de archivo pequeño. También se pueden crear tablespaces de archivo grande, lo que permite a la base de datos Oracle gestionar archivos de enorme tamaño (de hasta 8 exabytes).Un tablespace puede estar en línea (accesible) o fuera de línea (no accesible). El tablespace SYSTEM siempre está en línea 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 SYSAUXalmacena componentes de base de datos y debe estar en línea para el correcto funcionamiento de todos los componentes de base de datos.

Page 41: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Segmentos, Extensiones y Bloques

• Los segmentos existen en un tablespace.• Los segmentos están formados por una recopilación de

extensiones.• Las extensiones son un conjunto de bloques de datos.• Los bloques de datos están asignados a bloques de

disco.

Segmento Extensiones Bloques de datos

Bloques de disco

Segmentos, Extensiones y BloquesLos objetos de base de datos, como tablas e índices, se almacenan en los tablespaces como segmentos. Cada segmento contiene una o más extensiones. Una extensión consta de bloques de datos contiguos, lo que significa que cada extensión sólo puede existir en un archivo de datos. Los bloques de datos son la unidad más pequeña 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 dirección física de los datos de la base de datos. Esto también indica que un archivo de datos se puede segmentar o duplicar en varios discos.El tamaño del bloque de datos se puede definir en el momento de la creación de la base de datos. El tamaño por defecto de 8 KB es adecuado para la mayoría de las bases de datos. Si la base de datos da soporte a una aplicación de almacén de datos con tablas e índices grandes, un tamaño de bloque mayor puede ser útil. Si la base de datos da soporte a una aplicación transaccional en la que la lectura y escritura se realizan aleatoriamente, puede ser útil especificar un tamaño de bloque menor. El tamaño de bloque máximo depende del sistema operativo. El tamaño de bloque mínimo de Oracle es de 2 KB y se utiliza pocas veces (si se llega a usar).Puede tener tablespaces con distintos tamaños de bloque. Sin embargo, se deben utilizar sólo para tablespaces transportables. Para más información, consulte Database Administrator’s Guide.

Page 42: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Estructuras de Bases de Datos Físicas y Lógicas

Base de datos

Lógica Física

Tablespace Archivo de datos

Bloque del sistema operativo

Segmento

Extensión

Bloque de datos de Oracle

Esquema

Estructuras de Bases de Datos Físicas y LógicasUna base de datos Oracle es una recopilación de datos que se trata como una unidad. El objetivo general de una base de datos es almacenar y recuperar la información relacionada. La base de datos tiene estructuras lógicas y físicas. TablespacesUna base de datos se divide en unidades lógicas de almacenamiento denominadas tablespaces, que agrupan estructuras lógicas relacionadas. Por ejemplo, los tablespaces suelen agrupar todos los objetos de una aplicación para simplificar algunas operaciones administrativas. Puede tener un tablespace para los datos de la aplicación y otro adicional para los índices de la aplicación.Bases de Datos, Tablespaces y Archivos de DatosLa relación 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 lógica en uno o más tablespaces. Se crean explícitamente uno o más archivos de datos para cada tablespace con el fin de almacenarfísicamente los datos de todas las estructuras lógicas de un tablespace. Si se trata de un tablespace TEMPORARY, en lugar de un archivo de datos, el tablespace tendrá un archivo temporal.

Page 43: Base de Datos Oracle 10g Taller de Administracion I

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

Estructuras de Bases de Datos Físicas y Lógicas (continuación)EsquemasUn esquema es una recopilación de objetos de base de datos propiedad de un usuario de la basede datos. Los objetos de esquema son estructuras lógicas 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, sinónimos, índices, clusters y enlaces de base de datos. En general, los objetos de esquema incluyen todo lo que la aplicación cree en la base de datos.Bloques de DatosAl nivel más detallado de granularidad, los datos de una base de datos Oracle se almacenan en bloques de datos. Un bloque de datos corresponde a un número concreto de bytes de espacio de la base de datos física en el disco. Se especifica un tamaño 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.ExtensionesAl nivel siguiente del espacio de la base de datos lógica se denomina extensión. Una extensión es un número específico de bloques de datos contiguos (obtenidos en una única asignación) que se utilizan para almacenar un tipo determinado de información.SegmentosAl nivel de almacenamiento de la base de datos lógica por encima de una extensión se denomina segmento. Un segmento es un juego de extensiones asignadas para una determinada estructura lógica. 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 partición 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 partición tiene un segmento de índice.

• Segmentos de deshacer: El administrador de la base de datos crea un tablespace UNDOpara almacenar temporalmente información de deshacer. La información de un segmento de deshacer se utiliza para generar información de base de datos de lectura consistente y, durante la recuperación de la base de datos, para realizar una operación 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 ejecución. Cuando la sentencia termina la ejecución, 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 dinámicamente. Cuando las extensiones existentes de un segmento están completas, se agregan extensiones adicionales. Debido a que las extensiones se asignan según sea necesario, las extensiones de un segmento pueden o no ser contiguas en el disco.

Page 44: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Ejemplos del Curso: Esquema HR

REGIONSREGION_ID (PK)REGION_NAME

COUNTRIESCOUNTRY_ID (PK)COUNTRY_NAMEREGION_ID (FK)

LOCATIONSLOCATION_ID (PK)STREET_ADDRESSPOSTAL_CODECITYSTATE_PROVINCECOUNTRY_ID (FK)

DEPARTMENTSDEPARTMENT_ID (PK)DEPARTMENT_NAMEMANAGER_IDLOCATION_ID (FK)

JOBSJOB_ID (PK)JOB_TITLEMIN_SALARYMAX_SALARY

EMPLOYEESEMPLOYEE_ID (PK)FIRST_NAMELAST_NAMEEMAILPHONE_NUMBERHIRE_DATEJOB_ID (FK)SALARYCOMMISION_PCTMANAGER_ID (FK)DEPARTMENT_ID (FK)

JOB_HISTORYEMPLOYEE_ID (PK)START_DATE (PK)END_DATEJOB_ID (FK)DEPARTMENT_ID (FK)

REGIONS

COUNTRIES

LOCATIONS

DEPARTMENTS

JOBS

EMPLOYEES

JOB_HISTORY

Ejemplos del Curso: Esquema HRLos ejemplos utilizados en este curso pertenecen una aplicación de recursos humanos (HR), que se puede crear como parte de la base de datos inicial. A continuación, se muestran algunas reglas principales de negocio de la aplicación HR:

• Cada departamento puede ser el empleador de uno o más empleados. Cada empleado se puede asignar a un único departamento.

• Cada puesto debe ser para uno o más empleados. Cada empleado debe estar asignado a un único puesto simultáneamente.

• Cuando un empleado cambia su departamento o puesto, un registro de la tabla JOB_HISTORY registra las fechas de inicio y de finalización de las asignaciones pasadas.

• Los registros de JOB_HISTORY se identifican mediante una clave primaria compuesta (PK): las columnas EMPLOYEE_ID y START_DATE.

Notación: PK = Clave primaria, FK = Clave ajenaLas líneas sólidas representan las restricciones obligatorias de clave ajena y las líneas discontinuas las opcionales. La tabla EMPLOYEES también tiene una restricción de clave ajena consigo misma. Ésta es una implementación 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.

Page 45: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

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:– Proceso de usuario y proceso del servidor– Procesos en segundo plano: SMON, PMON, DBWn,

CKPT, LGWR, ARCn, etc.• Estructuras de almacenamiento:

– Lógicas: Base de datos, esquema, tablespace, segmento, extensión y bloque Oracle

– Físicas: Archivos para datos, parámetros, redo y bloque del sistema operativo

Arquitectura de Base de Datos: Resumen de Componentes EstructuralesEn esta lección, 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á información más detallada.

Page 46: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Resumen

En esta lección, debe haber aprendido lo siguiente:• Instalar, crear y administrar la base de datos

Oracle 10g• Configurar la base de datos para una aplicación• Utilizar procedimientos de control básicos• Implementar una estrategia de copia de seguridad

y recuperación• Mover datos entre bases de datos y archivos

Page 47: Base de Datos Oracle 10g Taller de Administracion I

Copyright © 2005, Oracle. Todos los derechos reservados.

Instalación del Software de la Base de Datos Oracle

Page 48: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Objetivos

Al finalizar esta lección, debería estar capacitado para lo siguiente:• Describir su rol como administrador de base de

datos (DBA) y explicar las tareas y herramientas típicas

• Planificar una instalación de base de datos Oracle

• Utilizar la Arquitectura Flexible Óptima (OFA)

• Instalar el software de Oracle mediante Oracle Universal Installer (OUI)

Page 49: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Tareas de un Administrador de la Base de Datos Oracle

Un enfoque prioritario para diseñar, implementar y mantener una base de datos Oracle implica las siguientes tareas: 1. Evaluar el hardware del servidor de bases de datos2. Instalar el software de Oracle3. Planificar la estrategia de base de datos y de seguridad4. Crear, migrar y abrir la base de datos5. Realizar una copia de seguridad de la base de datos6. Inscribir los usuarios del sistema y planificar su acceso a

la Red de Oracle7. Implementar el diseño de la base de datos8. Recuperarse de fallos de la base de datos9. Controlar el rendimiento de la base de datos

Tareas de un Administrador de la Base de Datos OracleUn administrador de la base de datos (DBA) suele ser responsable de la instalación del software de Oracle y de la creación de la base de datos. Como DBA, puede que sea responsable de la creación de las estructuras de almacenamiento de la base de datos como, por ejemplo, los tablespaces. Además, puede crear el esquema o juego de objetos para incluir los datos de la aplicación.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. También puede consultar la guía Oracle Database Administrator’s Guide si precisa más información acerca de cada una de las tareas indicadas en la diapositiva.En esta lección, se centrará en la instalación. Para realizar esta tarea principal, tenga en cuenta las siguientes subtareas:

• Comprender qué lugar ocupa el proceso de instalación en la arquitectura técnica global de una organización.

• Revisar (y actualizar) los planes de capacidad.• Seleccionar el software de base de datos (versión y opciones necesarias).• Asegurarse de que se cumplen los requisitos del sistema para todos los elementos

seleccionados.

Page 50: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Herramientas Utilizadas para Administrar Bases de Datos Oracle

• Oracle Universal Installer• Asistente de Configuración de Bases de Datos• Asistente de Actualización 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 línea de comandos

Herramientas Utilizadas para Administrar Bases de Datos OracleSe pueden utilizar las siguientes herramientas para la instalación y actualización:

• Oracle Universal Installer (OUI): Oracle Universal Installer instala el software y las opciones de Oracle. Puede iniciar automáticamente el Asistente de Configuración de Bases de Datos (DBCA) para crear una base de datos.

• Asistente de Configuración 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 Actualización de Bases de Datos (DBUA): Esta herramienta le guía por los pasos necesarios para actualizar su base de datos existente a una nueva versión de Oracle.

• Oracle Net Manager: Se utiliza para configurar la conectividad de red de sus aplicaciones y bases de datos Oracle.

Page 51: Base de Datos Oracle 10g Taller de Administracion I

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

Herramientas Utilizadas para Administrar Bases de Datos Oracle (continuación)Las siguientes herramientas se utilizan para gestionar su instancia y base de datos Oracle:

• Oracle Enterprise Manager (EM): EM combina una consola gráfica, agentes, servicios comunes y herramientas para proporcionar una plataforma de gestión del sistema completa e integrada para la gestión de productos Oracle. Después 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. Además de proporcionar una interfaz de usuario basada en Web para ejecutar comandos SQL, interactúa 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 están basadas en Web.

• SQL*Plus: SQL*Plus es la interfaz estándar de línea 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 solución completa para cubrir las necesidades de copia de seguridad, restauración y recuperación de toda la base de datos o de archivos específicos de ésta.

• Oracle Secure Backup facilita la gestión de las copias de seguridad en cintas en Oracle Ecosystem, lo que incluye lo siguiente:

- Protección de la base de datos Oracle en cintas mediante la integración con Recovery Manager

- Soporte completo de Oracle Real Application Clusters (RAC)- Administración central de clientes distribuidos y servidores de medios físicos,

incluidos Oracle Application Server, Oracle Collaboration Suite y binarios y directorio raíz 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 línea 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

Page 52: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Instalación: 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– 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

recuperación de flash (opcional)

• Sistema operativo: Consulte la documentación.

Instalación: Requisitos del Sistema• La instalación estándar puede llevarse a cabo en una computadora con 1 GB de RAM y

1,5 GB de espacio de intercambio o mayor. • En función del nivel de actividad de la máquina en la que realice la instalación del software

de la base de datos Oracle, la instalación estándar terminará en 20 minutos o menos.• Éstos son algunos detalles de la instalación:

- La base de datos Oracle 10g sólo incluye una plantilla de base de datos inicial.- Se eliminan los archivos duplicados.- Hay un gran número de otros productos y demostraciones que se instalan desde CD

adicionales.Los requisitos de hardware que aparecen en la diapositiva son requisitos mínimos en todas las plataformas. Es posible que la instalación tenga requisitos adicionales (sobre todo en cuanto a espacio en disco).Nota: Un tipo de instalación Enterprise Edition que incluye una base de datos inicial estándar se denomina “instalación estándar”.

Page 53: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Comprobación 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• Parámetros del núcleo y del sistema• Permisos del servidor X• Intercambio suficiente• Directorio ORACLE_HOME no vacío

Comprobación de los Requisitos del SistemaLa instalación de la base de datos Oracle 10g automatiza la mayoría de las comprobaciones de requisitos:

• Se comprueba el espacio temporal adecuado. Se determinan cuáles son los requisitos mínimos de espacio temporal para la instalación y configuración y esos requisitos se validan durante el proceso de instalación.

• No se pueden llevar a cabo instalaciones de 64 bits en directorios raíz 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 están certificados.

• El proceso de instalación comprueba si se han instalado todos los parches necesarios delsistema operativo.

• El proceso de instalación comprueba si se han definido correctamente todos los parámetros necesarios del núcleo y del sistema operativo.

• El proceso de instalación 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 instalación verifica que el sistema tiene definido el espacio de intercambio suficiente.

• El proceso de instalación verifica que el directorio raíz de Oracle en el que se va a realizar la nueva instalación está vacío o que es una de las diversas versiones soportadas sobre las que se puede instalar la base de datos Oracle 10g y que están registradas en el inventario de Oracle.

Page 54: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Arquitectura Flexible Óptima (OFA)

OFA está diseñada 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 fragmentación del espacio libre

Arquitectura Flexible Óptima (OFA)OFA es un método 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 configuración fácil de administrar que permita una flexibilidad máxima para bases de datos de alto rendimiento y en crecimiento. Los métodos aquí descritos son los fundamentos de OFA. OFA está diseñada 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 realización de copias de seguridad del software y de los datos, que a menudo son vulnerables a la corrupción 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 fragmentación del espacio libre en el diccionario de datos, aislar otra

fragmentación y minimizar la contención de recursosPara obtener más información sobre los objetivos y la implementación de OFA, consulte Oracle Installation Guide for UNIX Systems.

Page 55: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso de la Arquitectura Flexible Óptima

• Nomenclatura de puntos de montaje:– /u01– /disk01

• Nomenclatura de directorios:– /u01/app/oracle– /u01/app/applmgr

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

Uso de la Arquitectura Flexible ÓptimaEn el núcleo de OFA hay un esquema de nomenclatura que ofrece un estándar para aplicarlo a los puntos de montaje (que son con frecuencia los discos físicos), 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 número de dos dígitos) utilizada para diferenciar cada punto de montaje. Algunos ejemplos de puntos de montaje son /u01 y /u02.Sintaxis de directorios raíz: Asigne un nombre a todos los directorios raíz utilizando la sintaxis /pm/h/u, donde pm es un nombre de punto de montaje, h un nombre de directorio estándar y ues el nombre del propietario del directorio. Algunos ejemplos de directorios raíz compatibles con OFA son los siguientes:

/u01/app/oracle/u01/home/oracle

Sintaxis de directorios de software: Almacene cada versión del software de Oracle en un directorio que coincida con el patrón: /pm/h/u/product/v. Aquí, product es un literal y ves una variable para el número de versión. Esta sintaxis ayuda a activar la función OFA de varias versiones del software de aplicaciones que se ejecutan simultáneamente. De modo que una instalación compatible con OFA de la base de datos Oracle 10g versión 10.2.0 aparecería del siguiente modo:

/u01/app/oracle/product/10.2.0

Page 56: Base de Datos Oracle 10g Taller de Administracion I

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

Uso de la Arquitectura Flexible Óptima (continuación)Sintaxis de la nomenclatura de subdirectorios: Para facilitar la organización de datos administrativos, debe almacenar archivos de administración específicos de la base de datos en subdirectorios que coincidan con el patrón: /h/admin/d/a/. Donde h es el directorio raíz 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 administración de la base de datos. A continuación se incluye una lista de estos subdirectorios de archivos de administración:• adhoc: Archivos de comandos SQL ad-hoc para una base de datos determinada• arch: Archivos redo log archivados• adump: Archivos de auditoría (defina el parámetro de inicialización AUDIT_FILE_DEST

en el directorio adump; limpie este subdirectorio periódicamente.)• 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 exportación de la base de datos• Logbook: Archivos que registran el estado y el historial de la base de datos• Pfile: Archivos de parámetros de instancias• udump: Archivos de rastreo de SQL del usuario

Sintaxis de la nomenclatura de archivos: La siguiente regla de nomenclatura para archivos de base de datos garantiza que se puedan identificar fácilmente:

• 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 parámetro de inicialización, DB_NAME (nombre de la base de datos)• t: Nombre de un tablespace de Oracle• n: Cadena de dos dígitos

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/.

Page 57: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Definición 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 (ORCLpor defecto)

• NLS_LANG: Configuración del idioma, territorio y juego de caracteres del cliente

Definición de Variables de EntornoHay muchas variables de entorno de Oracle y las que se mencionan son muy importantes para una instalación 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 instalación 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 números y letras que debe comenzar por una letra. Oracle Corporation sugiere que se utilice un máximo de ocho caracteres para los identificadores del sistema.

Page 58: Base de Datos Oracle 10g Taller de Administracion I

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

Definición de Variables de Entorno (continuación)• NLS_LANG: Especifica los valores iniciales de soporte de idioma nacional (NLS) para una

sesión en formato idioma_territorio.juego de caracteres. Por ejemplo, el valor:

AMERICAN_DENMARK.WE8MSWIN1252

De este modo se define la sesión para que utilice el idioma AMERICAN para los mensajes, la secuencia de ordenación alfabética y los nombres de días y de meses de Oracle. El territorio es DENMARK, que define el formato de hora y fecha y las convenciones numéricas y monetarias. El juego de caracteres WE8MSWIN1252 indica a la Red de Oracle que convierta la información 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 sesión actual mediante:

select * from nls_session_parameters;

Para obtener más información sobre los idiomas, los territorios, los juegos de caracteres yel soporte de idiomas válidos, consulte Globalization Support Guide. Nota: Una instalación 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 instalación por defecto de Windows con teclados no americanos obtendráel valor no americano en la configuración de NLS_LANG. A su vez, la variable de sesión 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.

Page 59: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Oracle Universal Installer (OUI)

Oracle Universal Installer (OUI)Oracle Universal Installer (OUI) es una aplicación 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 lógica compleja en un único paquete. El sistema de instalación se puede transportar fácilmente por todas las plataformas activadas para Java y los problemas específicos de las plataformas se pueden encapsular a partir del proceso de instalación global. OUI proporciona las siguientes capacidades para tratar la gestión y distribución del software:

• Resolución de dependencia automática y manejo de lógica compleja• Instalación desde Web• Instalaciones de componentes y de series• Desinstalación implícita• Soporte para varios directorios raíz de Oracle• Soporte de globalización o NLS• Soporte para instalaciones distribuidas• Instalaciones “silenciosas” desatendidas que utilizan archivos de respuesta

En Windows: Inserte el medio físico de instalación de la base de datos Oracle, acceda al directorio client y haga clic dos veces en setup.exe para iniciar OUI. Después de la página Welcome, seleccione el tipo de instalación: Instant Client, Administrator, Runtime o Custom.

Page 60: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Instalación del Software de Oracle

Instalación del Software de OraclePuede utilizar OUI para instalar el software de Oracle de la siguiente forma:

1. Conéctese a la computadora como miembro del grupo administrativo con autorización para instalar el software de Oracle y para crear y gestionar la base de datos.

2. Inserte el CD de distribución de la base de datos en la unidad de CD, o acceda a la ubicación de almacenamiento en zona intermedia de la base de datos Oracle.

3. Inicie OUI. En una ventana XTerm en Linux, introduzca ./runInstaller. Aparecerála página Oracle Universal Installer.

4. Navegue por las páginas de OUI y especifique los valores previos de instalación en función de su plan de instalación.

5. Con la información inicial, OUI ejecuta las comprobaciones de requisitos.

Page 61: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Opciones de Configuración de Base de Datos

Opciones de Configuración de Base de DatosEl proceso de instalación continúa:

6. Navegue por las páginas de OUI y especifique las opciones de configuración de la base de datos. OUI muestra un resumen de las opciones de instalación.

7. Haga clic en Install para iniciar la instalación del software de Oracle.Si selecciona crear una base de datos inicial como parte de la instalación, OUI llamará a los siguientes asistentes de configuración:

• Asistente de Configuración de Red de Oracle: Este asistente configura los componentes de red básicos durante la instalación, entre los que se incluyen:

- Nombres de listener y direcciones de protocolo- Métodos de nomenclatura que el cliente utilizará para resolver los identificadores de

conexión a los descriptores de conexión- Nombres del servicio de red en un archivo tnsnames.ora- Uso del servidor de directorios

• Asistente de Configuración de Bases de Datos (DBCA) Oracle: Crea la base de datos inicial seleccionada. Cuando termine este asistente de configuración, puede desbloquear cuentas y cambiar contraseñas.

• Asistente de Configuración 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.

Page 62: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Ejecución de Archivos de Comandos de Configuración

Ejecución de Archivos de Comandos de ConfiguraciónEl proceso de instalación continúa:

8. Cuando se le indique durante una instalación de Linux o UNIX, ejecute archivos de comandos de configuración adicionales como usuario root. En una ventana XTerm, introduzca:$ su# password: oracle <contraseña raíz, 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 instalación de Linux o UNIX. Cuando terminen los archivos de comandos, salga de todas las cuentas y ventanas relacionadas para que termine la instalación.

Page 63: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Fin de la Instalación

Fin de la Instalación10. Cuando termine el proceso de instalación, anote las direcciones URL para uso futuro.

Page 64: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Opciones Avanzadas de Instalación

• Opciones de almacenamiento de base de datos:– Archivo del sistema– Gestión Automática de Almacenamiento– Dispositivos raw

• Opciones de gestión de base de datos:– Enterprise Manager Grid Control– Enterprise Manager Database Control

• Opciones de copia de seguridad y recuperación de base de datos

• Opciones de notificación de correo electrónico• Cluster Ready Services• Clonación

Opciones Avanzadas de Instalación• Con OUI, se pueden crear configuraciones que utilicen la Gestión Automática de

Almacenamiento.• Puede instalar y configurar el marco de Enterprise Manager (EM). Oracle Enterprise

Manager Database Control se instala en el mismo directorio raíz de Oracle que la base de datos y se configura para ejecutarse en una instancia autónoma de OC4J. Debe realizar una instalación independiente para obtener funciones de gestión 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 instalación, puede configurar Enterprise Manager para que envíe alertas por correo electrónico a la dirección de correo que especifique. Estas alertas pueden incluir problemas, como que el espacio en disco esté llegando a un límite crítico o que una base de datos se haya cerrado de manera inesperada.

• La instalación de la base de datos Oracle 10g soporta funciones de RAC, especialmente la instalación de Cluster Ready Services (CRS).

• Los directorios raíz de Oracle se pueden clonar mediante la herramienta Enterprise Configuration Management. Esta herramienta permite a los usuarios crear solicitudes de clonación y, a continuación, planificarlas y procesarlas. Esta herramienta está disponible a través de EM Grid Control.

Page 65: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Opción de Instalación: Modo Silencioso

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.

Opción de Instalación: Modo SilenciosoPara 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 más 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 instalación, 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 continuación, 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 ubicación del archivo.

4. Ejecute OUI en modo silencioso o suprimido. 5. Si ha terminado una instalación de sólo software, ejecute el Asistente de Configuración de

Red (NetCA) y el Asistente de Configuración de Bases de Datos (DBCA) de Oracle en modo silencioso o no interactivo, si resulta necesario.

Para obtener más información, consulte la Oracle Database Installation Guide específica de su sistema operativo.

Page 66: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Resumen

En esta lección, debe haber aprendido lo siguiente:• Describir su rol como DBA y explicar las tareas y

herramientas• Planificar su instalación, empezando por la

documentación adecuada• Realizar tareas previas a la instalación, como la

comprobación de los requisitos del sistema• Instalar el software mediante OUI

Page 67: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Visión General de la Práctica: Instalación del Software de Oracle

En esta práctica se aborda la instalación del software de Oracle mediante el uso de Oracle Universal Installer.Nota: La realización de esta práctica es crítica para todas las sesiones prácticas posteriores.

Page 68: Base de Datos Oracle 10g Taller de Administracion I
Page 69: Base de Datos Oracle 10g Taller de Administracion I

Copyright © 2005, Oracle. Todos los derechos reservados.

Creación de una Base de Datos Oracle

Page 70: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Objetivos

Al finalizar esta lección, debería estar capacitado para lo siguiente:• Crear una base de datos con el Asistente de

Configuración de Bases de Datos (DBCA)• Crear una plantilla de diseño de bases de datos

con DBCA• Generar archivos de comandos de creación de

bases de datos con DBCA

Page 71: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Planificación de la Base de Datos

Como DBA, debe planificar:• La estructura de almacenamiento lógica de la base de

datos y su implementación física:– ¿Cuántas unidades de disco tiene designadas para

este fin?– ¿Cuántos archivos de datos va a necesitar? (Plan de

crecimiento)– ¿Cuántos tablespaces utilizará?– ¿Qué tipo de información se va a almacenar?– ¿Existen requisitos de almacenamiento especiales de

tipo o tamaño?• El diseño general de la base de datos• Una estrategia de copia de seguridad para

la base de datos

Planificación de la Base de DatosEs importante planificar el modo en que la estructura de almacenamiento lógica afectará al rendimiento del sistema y a las diferentes operaciones de gestión de base de datos. Por ejemplo, antes de crear los tablespaces de la base de datos, debe saber cuántos archivos de datos compondrán cada tablespace, qué tipo de información se almacenará en ellos y en qué unidades de disco se almacenarán físicamente los archivos de datos. Al planificar el almacenamientológico 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 tamaño.En entornos distribuidos de base de datos, esta etapa de planificación es extremadamente importante. La ubicación física de los datos a los que se accede con más frecuencia afecta considerablemente al rendimiento de la aplicación.Durante la etapa de planificación, desarrolle una estrategia de copia de seguridad para la base de datos. Puede modificar la estructura de almacenamiento lógica o el diseño de la base de datos para mejorar la eficacia de las copias de seguridad. Las estrategias de copia de seguridad se describen en una lección posterior.Éstos son los tipos de preguntas y consideraciones a los que se enfrentará como DBA y este curso (en su totalidad) se ha diseñado para ayudarle a resolverlas.

Page 72: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Bases de Datos: Ejemplos

• Almacén de Datos:– Datos de marketing e investigación– Pagos de impuestos estatales o regionales– Licencias de profesionales (doctores, enfermeras, etc.)

• Procesamiento de Transacciones:– Sistema de registro de compra para almacén– Transacciones de cajero automático

• Uso General:– Sistema de facturación al por menor, por ejemplo,

de una empresa de diseño de software o de una guardería

Bases de Datos: EjemplosCada tipo diferente de base de datos tiene sus propios requisitos de almacenamiento e instancia específicos. Su software de base de datos Oracle incluye plantillas para la creación de estos tipos de bases de datos. Las características de estos ejemplos son las siguientes:

• Almacén de Datos: Almacena datos durante largos períodos de tiempo y permite recuperarlos en operaciones de lectura.

• Procesamiento de Transacciones: Incluye numerosas transacciones, aunque normalmente son pequeñas.

• Uso General: Funciona con transacciones y las almacena durante un período de tiempo medio.

Page 73: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Asistente de Configuración de Bases de Datos (DBCA)

Asistente de Configuración de Bases de Datos (DBCA)El Asistente de Configuración de Bases de Datos (DBCA) se puede utilizar para crear, cambiarla configuración o suprimir una base de datos. También 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 acción a veces se denomina “clonación de bases de datos”.Para llamar a DBCA, realice los siguientes pasos:

1. Conéctese a la computadora como miembro del grupo administrativo con autorización 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 opción de ayudarle con diversas operaciones como, por ejemplo, la creación de una base de datos.

Page 74: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso de DBCA para Crear una Base de Datos

Uso de DBCA para Crear una Base de DatosDBCA se puede utilizar para crear una base de datos de la siguiente forma:

1. Seleccione Create a Database en la página DBCA Operations para llamar a un asistente que le permita configurar y crear una base de datos.El asistente le pedirá que facilite la información de configuración que se describe en los pasos siguientes. En la mayoría de las páginas, 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 creación de la base de datos. Hay plantillas para las bases de datos de almacén 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 configuración de cada tipo de base de datos.Para entornos más complejos, puede que desee seleccionar la opción Custom Database.

Page 75: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso de DBCA para Crear una Base de Datos3

4

Uso de DBCA para Crear una Base de Datos (continuación)3. Identificación 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 gestión: Utilice esta página 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.

Page 76: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso de DBCA para Crear una Base de Datos

5

6

7

Uso de DBCA para Crear una Base de Datos (continuación)5. Credenciales de la base de datos: Utilice este página para especificar las contraseñas de las

cuentas administrativas, como SYS y SYSTEM. En la clase, utilice oracle como contraseña 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 función de los objetos de base de datos en lugar de los nombres de archivos. Para obtener más información, consulte la lección titulada “Gestión de Estructuras de Almacenamiento de Bases de Datos”.

Page 77: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso de DBCA para Crear una Base de Datos

8

9

Uso de DBCA para Crear una Base de Datos (continuación)8. Configuración de recuperación: Si es necesario, especifique un área de recuperación de

flash (Specify Flash Recovery Area) y active el proceso de archivado (Enable Archiving).9. Contenido de la base de datos: Estas páginas ofrecen opciones para seleccionar

componentes, como Sample Schemas, y para usar archivos de comandos personalizados.

Page 78: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso de DBCA para Crear una Base de Datos

A

B

10

Uso de DBCA para Crear una Base de Datos (continuación)10. Parámetros de inicialización: Los separadores de esta página ofrecen acceso a páginas que

le permiten cambiar los valores de los parámetros de inicialización por defecto: - Memory: Utilice esta página para definir los parámetros de inicialización que

controlan el uso de la memoria. Utilice la asignación de memoria (A) Typical o (B) Custom.

- Sizing: Para especificar un tamaño de bloque, introduzca el tamaño en bytes o acepte el valor por defecto.

- Character Sets: Utilice esta página para especificar los juegos de caracteres de la base de datos.Práctica 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 tecnologías Web así como numerosos idiomas hablados.

- Connection Mode: Seleccione Dedicated Server Mode o Shared Server Mode. Para obtener más información, consulte la lección titulada “Configuración del Entorno de Red de Oracle”.

Nota: Hay diversos parámetros de inicialización definidos para toda la existencia de una base de datos, como los parámetros DB_BLOCK_SIZE y CHARACTER_SET.

Page 79: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso de DBCA para Crear una Base de Datos11

12

Uso de DBCA para Crear una Base de Datos (continuación)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 definición de la base de datos como archivo HTML para facilitar su consulta.

12. Opciones de creación: Aquí dispone de las opciones para crear la base de datos en este momento, guardar la definición 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 continuación los archivos de comandos en el directorio de destino y, por último, crea la base de datos.

Page 80: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Password Management

A

B

C

Password ManagementCuando termine DBCA, anote la siguiente información para referencia futura:

• Ubicación de los archivos log de instalación (A)• Nombre de la base de datos global (B)• Identificador del sistema (SID) (B)• Ubicación y nombre del archivo de parámetros de servidor (B)• Dirección URL de Enterprise Manager (C)

Haga clic en Password Management para desbloquear las cuentas de la base de datos que piensa utilizar. Proporcione una contraseña cuando desbloquee una cuenta.

Page 81: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Creación de una Plantilla de Diseño de Bases de Datos

Creación de una Plantilla de Diseño de Bases de DatosUna plantilla es una definición 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 creación de base de datos, puede hacerlo en cualquier momento con DBCA. Dispone de tres métodos para crear una plantilla:

• A partir de una plantilla existente• A partir de una base de datos existente (sólo la estructura)• A partir de una base de datos existente (estructura y datos)

DBCA le guía por los pasos necesarios para crear una plantilla de diseño de bases de datos.

Page 82: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso de DBCA para Suprimir una Base de Datos

3

1

2

Uso de DBCA para Suprimir una Base de DatosPara 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 página Welcome. Para suprimir la base de datos, realice los siguientes pasos:

1. En la página 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 supresión.

Page 83: Base de Datos Oracle 10g Taller de Administracion I

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

Uso de DBCA para Suprimir una Base de Datos (continuación)El borrado de una base de datos conlleva la eliminación de sus archivos de datos, archivos redo log, archivos de control y archivos de parámetros de inicialización. 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 sería un ejemplo de esta sentencia:DROP DATABASE ;

La sentencia DROP DATABASE no tiene ningún 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 suprimirán los archivos especiales de disco raw.

Page 84: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Resumen

En esta lección debe haber aprendido a utilizar DBCA para:• Crear una base de datos• Crear una plantilla de diseño de bases de datos • Generar archivos de comandos de creación de

base de datos

Page 85: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Visión General de la Práctica: Uso de DBCA

En esta práctica se abordan los siguientes temas:• Creación de la base de datos ORCL mediante

DBCA• Desbloqueo del esquema HR

Nota: La creación de la base de datos y el desbloqueo del esquema HR son críticos para todas las sesiones prácticas posteriores.Opcional:• Creación de la plantilla de diseño de la base de

datos ORCL mediante DBCA• Creación de archivos de comandos de creación de

bases de datos con DBCA

Page 86: Base de Datos Oracle 10g Taller de Administracion I
Page 87: Base de Datos Oracle 10g Taller de Administracion I

Copyright © 2005, Oracle. Todos los derechos reservados.

Gestión de la Instancia de Oracle

Page 88: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Objetivos

Al finalizar esta lección, debería 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 parámetros de inicialización 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 dinámico

Page 89: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Marco de Gestión

Los tres componentes del marco de gestiónde la base de datos Oracle 10g son:• Instancia de la base de datos• Listener• Interfaz de gestión

– Database Control– Agente de gestión (al utilizar Grid Control)

ListenerDatabase Control

Agente de gestión

Interfaz de gestión

o bien

> ComponentesSQL*PlusParámetros Inic.Inicio de BDCierre de BDLog de AlertasVistas Rend.

Marco de GestiónHay tres componentes principales del marco de gestión 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 gestión. Puede ser un agente de gestión que se ejecute en el servidor de base

de datos (que se conecte a Oracle Enterprise Manager Grid Control) o la versión autónoma de Oracle Enterprise Manager Database Control. También se denomina Consola de Base de Datos.

Cada uno de estos componentes se debe iniciar explícitamente 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 gestión. Una vez que esté activada, la interfaz de gestión se puede utilizar para iniciar los demás componentes.

Page 90: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Inicio y Parada de Database Control

$ emctl start dbconsoleTZ set to US/PacificOracle Enterprise Manager 10g Database Control Release 10.2.0.1.0Copyright (c) 2005, 2003 Oracle Corporation. All rights reserved.http://edrsr9p1.us.oracle.com:1158/em/console/aboutApplicationStarting 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/sysman/log

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

Inicio y Parada de Database ControlOracle proporciona una consola de gestión autónoma denominada Database Control para bases de datos que no están conectadas al marco de Grid Control. Cada una de las bases de datos que se gestiona con Database Control tiene una instalación independiente de Database Control, y desde un Database Control cualquiera sólo se puede gestionar una base de datos. Antes de utilizar Database Control, asegúrese 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 automáticamente cuando se inicia o se para el proceso dbconsole.

Page 91: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Oracle Enterprise Manager

Oracle Enterprise ManagerAl instalar una base de datos Oracle, Oracle Universal Installer también 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 páginas para la tarea actual. Puede acceder a enlaces en la mayoría de las situaciones, siempre que haya información más específica sobre el contenido de una página. Aunque en ocasiones es posible que desee escribir y ejecutar comandos creados personalmente, Enterprise Manager proporciona una interfaz gráfica para realizar casi cualquier tarea que tenga que realizar como administrador de base de datos (DBA). La visualización de resúmenes de alertas y gráficos de rendimiento, la creación y modificación de objetos y la realización de copias de seguridad y recuperación son algunas de las operaciones que puede realizar con Enterprise Manager.

Page 92: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Acceso a Oracle Enterprise Manager

Acceso a Oracle Enterprise ManagerAbra el explorador Web y escriba la siguiente dirección URL:

http://nombre_host:número_puerto/emSi la base de datos está:

• Activa: Enterprise Manager muestra la página de conexión a Database Control. Conéctese a la base de datos con un nombre de usuario que tenga autorización para acceder a Database Control. En principio será SYS, SYSMAN o SYSTEM. Utilice la contraseña que ha especificado para la cuenta durante la instalación de la base de datos. En la opción Connect As, seleccione SYSDBA o SYSOPER para conectarse a la base de datos con privilegios especiales de administración de base de datos.

• Caída: Enterprise Manager muestra la página Startup/Shutdown y Perform Recovery. Si éste es el caso, haga clic en el botón Startup/Shutdown. A continuación, se le pide que introduzca los nombres de usuario y contraseñas de conexión del host y de la base de datos destino.

Nota: Si tiene problemas para iniciar Enterprise Manager, asegúrese de que se ha iniciado un listener.

Page 93: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Página Inicial de la Base de Datos

Páginas de propiedades

Página Inicial de la Base de DatosEn la página inicial de la base de datos se muestra el estado actual de la base de datos al presentar una serie de métricas que ilustran el estado general de la base de datos. Con las páginas de propiedades, que también se conocen como separadores, puede acceder a las páginas Performance, Administration y Maintenance para gestionar la base de datos. En la página 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, versión de la base de datos, ubicación del directorio raíz de Oracle, opciones de recuperación del medio físico y otros datos relevantes acerca de la instancia.

• Disponibilidad de la instancia actual.• Alertas pendientes.• Información sobre el rendimiento de la sesión y de SQL.• Métricas de uso de espacio clave.• Enlaces de despliegue (por ejemplo, LISTENER_<nombre_host>) para proporcionar

niveles superiores de detalle.

Page 94: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso de SQL*Plus e iSQL*Pluspara Acceder a las

Bases de DatosSQL*Plus e iSQL*Plus proporcionan interfaces adicionales a la base de datos para:• Realizar operaciones de gestión de la base de

datos• Ejecutar comandos SQL para consultar, insertar,

actualizar y suprimir datos en la base de datos

Componentes> SQL*Plus

Parámetros Inic.Inicio de BDCierre de BDLog de AlertasVistas Rend.

Uso de SQL*Plus e iSQL*Plus para Acceder a las Bases de DatosAdemás 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 gestión de la base de datos así como seleccionar, insertar, actualizar o suprimir datos en la base de datos.

Page 95: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso de iSQL*Plus

1

2

3

Uso de iSQL*PlusiSQL*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/isqlplusEl número 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.

Page 96: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Configuración de iSQL*Pluspara 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 usuario2. 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 -shellJAZN> adduser "iSQL*Plus DBA" username password JAZN> grantrole webDba "iSQL*Plus DBA" username

Configuración de iSQL*Plus para el Acceso de SYSDBA y SYSOPERCuando aparezca la página iSQL*Plus Connection Role, observe que los roles SYSOPER y SYSDBA necesitan una configuración y una autenticación 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

Page 97: Base de Datos Oracle 10g Taller de Administracion I

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

Configuración de iSQL*Plus para el Acceso de SYSDBA y SYSOPER (continuación)3. Cree un usuario y seleccione un nombre de usuario y contraseña:

JAZN> adduser "iSQL*Plus DBA" username password 4. Otorgue el rol webDba al usuario:

JAZN> grantrole webDba "iSQL*Plus DBA" username5. Salga del shell de JAZN:

JAZN> exit

Page 98: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso de SQL*Plus

SQL*Plus:• Es una herramienta de línea 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 2005Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options

SQL> SELECT last_name FROM employees;

LAST_NAME-------------------------AbelAndeAtkinson

Uso de SQL*PlusPuede utilizar la interfaz de línea 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 administración 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 línea de comandos, introduzca el comando SQL*Plus con el formato:

$ sqlplus /nolog3. Introduzca connect seguido del usuario que desea utilizar para conectarse.4. Cuando se le indique, introduzca la contraseña del usuario.

SQL*Plus se inicia y se conecta a la base de datos por defecto.

Page 99: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

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 2005Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options

SQL>COUNT(*)

----------107

SQL>107 rows updated.SQL>Commit complete.SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options[oracle@EDRSR9P1 oracle]$

# Name of this file: batch_sqlplus.sh# Count employees and give raise.sqlplus hr/hr <<EOFselect count(*) from employees;update employees set salary = salary*1.10;commit;quitEOFexit

Salida

Llamada a SQL*Plus desde un Archivo de Comandos del ShellPara 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 parámetros.En este ejemplo, se ejecutan las sentencias SELECT, UPATE y COMMIT, antes de que SQL*Plus devuelva el control al sistema operativo.

Page 100: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Llamada a un Archivo de Comandos SQL desde SQL*Plus

$ sqlplus hr/hr @script.sql

SQL*Plus: Release 10.2.0.1.0 - Production on Mon May 25 12:57:02 2005Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith 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 Release10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options$

select * from departments where location_id = 1400;quit

script.sql

Salida

Llamada a un Archivo de Comandos SQL desde SQL*PlusPuede llamar a un archivo de comandos SQL existente desde SQL*Plus. Puede hacerlo en la línea de comandos cuando llame por primera vez a SQL*Plus, como se muestra en la diapositiva. También se puede hacer desde una sesión de SQL*Plus, sólo tiene que utilizar el operador “@”. Por ejemplo, aquí se ejecuta el archivo de comandos desde una sesión ya establecida de SQL*Plus:

SQL> @script.sql

Page 101: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

spfileorcl.ora

Archivos de Parámetros de Inicialización

ComponentesSQL*Plus

> Parámetros Inic.Inicio de BDCierre de BDLog de AlertasVistas Rend.

Archivos de Parámetros de InicializaciónAl iniciar la instancia, se lee un archivo de parámetros de inicialización. Hay dos tipos de archivos de parámetros:

• Archivo de parámetros del servidor: Es el tipo preferido de archivo de parámetros de inicialización. 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 parámetros del servidor (SPFILE). El nombre por defecto de este archivo, que se busca automáticamente al inicio, es spfile<SID>.ora.

• Archivo de parámetros de inicialización de texto: Este tipo de archivo de parámetros de inicialización lo puede leer el servidor de la base de datos, pero no puede escribir en él. Los valores de los parámetros de inicialización 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 automáticamente al inicio si no se encuentra SPFILE, es init<SID>.ora.

Se recomienda crear un SPFILE como medio dinámico de mantener los parámetros de inicialización. El uso de un SPFILE permite almacenar y gestionar los parámetros de inicialización de forma persistente en un archivo de disco del lado del servidor.

Page 102: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Simplified Initialization Parameters

DB_CACHE_SIZEDB_FILE_MULTIBLOCK_READ_COUNTSHARED_POOL_SIZE…

Avanzados

CONTROL_FILESDB_BLOCK_SIZEPROCESSESUNDO_MANAGEMENT…

Básicos

Parámetros de Inicialización SimplificadosLos parámetros de inicialización se dividen en dos grupos: básicos y avanzados.En la mayoría de los casos es necesario configurar y ajustar sólo los 32 parámetros básicos para obtener un rendimiento razonable en la base de datos. En muy pocas ocasiones será necesario modificar los parámetros avanzados para obtener un rendimiento óptimo.Los parámetros básicos son los que se definen para mantener una buena ejecución de la base de datos. El resto de los parámetros se consideran avanzados.Los ejemplos de parámetros básicos incluyen nombres de directorio o “destinos” de tipos de archivos específicos: 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.Parámetros de Inicialización: EjemplosEl parámetro CONTROL_FILES especifica uno o más nombres de archivo de control. Oracle recomienda multiplexar y duplicar los archivos de control. El rango de valores de este parámetro oscila entre 1 y 8 nombres de archivo (con nombres de ruta de acceso). El rango por defecto depende del sistema operativo.

Page 103: Base de Datos Oracle 10g Taller de Administracion I

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

Parámetros de Inicialización Simplificados (continuación)Parámetros de Inicialización: Ejemplos (continuación)El parámetro DB_BLOCK_SIZE especifica el tamaño (en bytes) de un bloque de base de datos Oracle. Este valor se define durante la creación 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 parámetro DB_CACHE_SIZE especifica el tamaño de la caché de buffer del bloque estándar. Rango de valores: Al menos 16 MB. Valor por defecto: 48 MBEl parámetro DB_FILE_MULTIBLOCK_READ_COUNT especifica el número máximo de bloques leídos durante una operación de entrada/salida (E/S) que implica una exploración secuencial completa. Rango de valores: Depende del sistema operativo. Valor por defecto: 8.El parámetro DB_FILES especifica el número máximo 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 parámetro 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 parámetro en un valor positivo antes de activar la definición automática de las áreas de trabajo. Esta memoria no reside en el Área Global del Sistema (SGA). La base de datos utiliza este parámetro como cantidad de destino de la memoria PGA que se va a utilizar. Al definir este parámetro, 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 más la letra K, M o G para identificar este límite en kilobytes, megabytes o gigabytes. El valor mínimo es 10M y el máximo 400G. Valor por defecto: “Not Specified”, que significa que el ajuste automático de las áreas de trabajo se ha desactivado completamente.El parámetro PROCESSES especifica el número máximo 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 parámetro PARALLEL_MAX_SERVERS.El parámetro SHARED_POOL_SIZE especifica el tamaño del pool compartido en bytes. El pool compartido contiene objetos como cursores compartidos, procedimientos almacenados, estructuras de control y buffers de mensajes de ejecución 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 parámetro UNDO_MANAGEMENT especifica qué modo debe utilizar el sistema para la gestión 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 parámetro 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.

Page 104: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Visualización y Modificaciónde Parámetros de Inicialización

Visualización y Modificación de Parámetros de InicializaciónPuede utilizar Enterprise Manager para visualizar y modificar parámetros de inicialización si hace clic en All Initialization Parameters en la región Database Configuration de la página con separadores Database Administration.

Page 105: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Inicio y Cierre de laBase de Datos

o bien

ComponentesSQL*PlusParámetros Inic.

> Inicio de BDCierre de BDLog de AlertasVistas Rend.

Inicio y Cierre de la Base de DatosAl hacer clic en la opción 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 continuación, 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 utilizarán para el inicio o el cierre.

Page 106: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Inicio de una Instancia de Base de Datos Oracle

Inicio de una Instancia de Base de Datos OracleSi la base de datos no se ha iniciado al acceder a la página 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.

Page 107: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Inicio de una Instancia de Base de Datos Oracle: NOMOUNT

OPEN

MOUNT

NOMOUNT

SHUTDOWN

Se inicia la instancia

STARTUP

Inicio de una Instancia de Base de Datos Oracle: NOMOUNTAl 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 sólo se inicia en modo NOMOUNT durante la creación de la base de datos, durante la nueva creación de archivos de control o en algunos supuestos de copia de seguridad y recuperación.El inicio de una instancia incluye las siguientes tareas:

• Búsqueda en <oracle_home>/database de un archivo con un nombre específico 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 parámetros de inicialización de la instancia. Al especificar el parámetro PFILE con STARTUP se sustituye el comportamiento por defecto.

• Asignación 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).

Page 108: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Inicio de una Instancia de Base de Datos Oracle: MOUNT

OPEN

MOUNT

NOMOUNT

SHUTDOWN

El archivo de control se abre para esta instancia

Se inicia la instancia

STARTUP

Inicio de una Instancia de Base de Datos Oracle: MOUNTEl montaje de una base de datos incluye las siguientes tareas:

• Asociación de una base de datos con una instancia iniciada previamente• Búsqueda y apertura de los archivos de control especificados en el archivo de parámetros• Lectura de los archivos de control para obtener los nombres y los estados de los archivos de

datos y los archivos redo log en línea. Sin embargo, en esta fase no se realizan comprobaciones para verificar la existencia de los archivos de datos y los archivos redo log en línea

Parar realizar operaciones de mantenimiento específicas, 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)

• Activación y desactivación de opciones de archivado de archivos redo log en línea• Realización de una recuperación 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.

Page 109: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Inicio de una Instancia de Base de Datos Oracle: OPEN

OPEN

MOUNT

NOMOUNT

SHUTDOWN

Todos los archivos se abren como se describe en el archivo de control de esta instancia

El archivo de control se abre para esta instancia

Se inicia la instancia

STARTUP

Inicio de una Instancia de Base de Datos Oracle: OPENLa operación 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 válido 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 línea• Apertura de los archivos redo log en línea

Si alguno de los archivos de datos o archivos redo log en línea 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 línea 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 recuperación de la instancia.Puede iniciar una instancia de la base de datos en modo restringido para que esté disponible sólo a los usuarios que tienen privilegios administrativos. Para iniciar una instancia en modo restringido, seleccione la opción “Restrict access to database” en la página Advanced Startup Options.

Page 110: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Cierre de una Instancia deBase de Datos Oracle

ComponentesSQL*PlusParámetros Inic.Inicio de BD

> Cierre de BDLog de AlertasVistas Rend.

Cierre de una Instancia de Base de Datos OracleSi ya se ha iniciado la instancia cuando accede a la página Enterprise Manager Database Control, puede hacer clic en el botón Shutdown para cerrar la instancia. Si a continuación hace clic en el botón Advanced Options, puede seleccionar el modo de cierre: Normal, Transactional, Immediate o Abort.

Page 111: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Modos de Cierre

A

No

No

No

No

T

No

No

I

No

No

No

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

N

No

Modo de cierre:• A = ABORT• I = IMMEDIATE• T = TRANSACTIONAL• N = NORMAL

Modos de CierreLos modos de cierre se ajustan progresivamente a la actividad actual según el siguiente orden:• ABORT: Realiza la cantidad mínima de trabajo antes del cierre. Puesto que esta opción

necesita recuperación antes del inicio, utilícela sólo 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 situación inminente, como el aviso de un corte del suministro eléctrico en unos segundos.

• IMMEDIATE: Es la opción que más 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 método más rápido y que NORMAL es el más lento.

Page 112: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Opciones de SHUTDOWN

Durante

SHUTDOWNNORMALo bien

SHUTDOWNTRANSACTIONAL

o bienSHUTDOWNIMMEDIATE

Base de datos consistente(base de datos limpia)

Durante el descenso:• Se realiza un

rollback de loscambios sin confirmar paraIMMEDIATE

• La caché de buffers de la base de datos se escribe en los archivos de datos

• Se liberan los recursos

Durante el ascenso:• No hay

recuperación de instancias

Opciones de SHUTDOWNSHUTDOWN NORMALEl modo de cierre por defecto es normal. El cierre normal de la base de datos continúa 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 recuperación de instancias.

SHUTDOWN TRANSACTIONALUn cierre transaccional impide que los clientes pierdan los datos, incluyendo los resultados de su actividad actual. El cierre transaccional de la base de datos continúa con las condiciones siguientes:

• Ningún cliente puede iniciar una nueva transacción en esta instancia en particular.• Un cliente se desconecta cuando el cliente finaliza la transacción en curso.• Cuando han finalizado todas las transacciones, se produce inmediatamente un cierre.• El siguiente inicio no necesita recuperación de instancias.

Page 113: Base de Datos Oracle 10g Taller de Administracion I

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

Opciones de SHUTDOWN (continuación)SHUTDOWN IMMEDIATE

El cierre inmediato de la base de datos continúa 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 están 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 recuperación de instancias.

Page 114: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Opciones de SHUTDOWN

Durante

SHUTDOWN ABORTo bien

Fallo de la instanciao bien

STARTUP FORCE

Base de datos inconsistente(base de datos sucia)

Durante el descenso:• Los buffers

modificadosno se escriben en los archivos de datos

• No se realiza un rollback de los cambios sin confirmar

Durante el ascenso:• Los archivos

redo log en línea se utilizan para volver a aplicar los cambios

• Los segmentos de deshacer se utilizan para realizar un rollback de los cambios sin confirmar

• Se liberan los recursos

Opciones de SHUTDOWN (continuación)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 continúa 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 están 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 recuperación de instancias, lo que se produce

automáticamente.Nota: No se recomienda realizar una copia de seguridad de una base de datos con estado inconsistente.

Page 115: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso de SQL*Plus para el Inicio y el Cierre

[oracle@EDRSR9P1 oracle]$ sqlplus dba1/oracle as sysdba

SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> startupORACLE instance started.

Total System Global Area 285212672 bytesFixed Size 1218472 bytesVariable Size 250177624 bytesDatabase Buffers 33554432 bytesRedo Buffers 262144 bytesDatabase mounted.Database opened.SQL>

Uso de SQL*Plus para el Inicio y el CierreTambién puede utilizar SQL*Plus para iniciar, cerrar o cambiar el estado de la base de datos. Para usar SQL*Plus en estas tareas, conéctese como SYSDBA o SYSOPER. A continuación, utilice los comandos equivalentes de la función 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 específico.

Page 116: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Visualización del Log de Alertas

Página Inicial de la Base de Datos > Región Related Links > Alert Log Content

ComponentesSQL*PlusParámetros Inic.Inicio de BDCierre de BD

> Log de AlertasVistas Rend.

Visualización del Log de AlertasCada 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 parámetro de inicialización background_dump_dest. El archivo de alertas de una base de datos es un log cronológico de mensajes y errores, incluidos los siguientes:

• Cualquier parámetro de inicialización no por defecto utilizado en el inicio• Todos los errores internos (ORA-600), errores de corrupción 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 actualización automática de una vista materializadaEnterprise Manager controla el archivo log de alertas y notifica los errores críticos. También puede consultar el log para ver errores no críticos y mensajes informativos. El archivo puede crecer hasta alcanzar un tamaño difícil 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.

Page 117: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Visualización del Historial de Alertas

Visualización del Historial de AlertasEn la página 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 crítico de una métrica controlada, o puede ser un destino que ya no está disponible.

Page 118: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Vistas de Rendimiento Dinámico

Las vistas de rendimiento dinámico proporcionan acceso a información sobre las condiciones y estados cambiantes en la base de datos.

Datos de sesión

Eventos de espera

Asignaciones de memoria

SQL en ejecución

Uso de UNDO

Cursores abiertos

Uso de redo log

Etc.

Instancia de Oracle

ComponentesSQL*PlusParámetros Inic.Inicio de BDCierre de BDLog de Alertas

> Vistas Rend.

Vistas de Rendimiento DinámicoLa base de datos Oracle también mantiene un juego de datos más dinámico en cuanto al funcionamiento y rendimiento de la instancia de base de datos. Estas vistas de rendimiento dinámico 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 dinámico incluyen información sobre lo siguiente:

• Sesiones• Estados de archivo• Progreso de trabajos y tareas• Bloqueos• Estado de copia de seguridad• Asignación y uso de la memoria• Parámetros del sistema y de sesión• Ejecución de SQL• Estadísticas y métrica

Nota: Las vistas DICT y DICT_COLUMNS también contienen los nombres de estas vistas de rendimiento dinámico.

Page 119: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Vistas de Rendimiento Dinámico:Ejemplos de Uso

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

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

SQL> SELECT sid, ctime FROM v$lock WHERE block > 0;

a

b

c

Vistas de Rendimiento Dinámico: Ejemplos de UsoEnterprise 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. ¿Cuáles son las sentencias SQL y su número 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 día?c. ¿Cuáles son los identificadores de sesión de las sesiones que actualmente retienen un

bloqueo que está bloqueando a otro usuario y cuánto tiempo se ha retenido ese bloqueo?

Page 120: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Vistas de Rendimiento Dinámico: 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 dinámicos.

Vistas de Rendimiento Dinámico: ConsideracionesAlgunas vistas dinámicas 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 están 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.

Page 121: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Resumen

En esta lección, 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 parámetros de inicialización 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 dinámico

Page 122: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Visión General de la Práctica: Gestión de la Instancia de Oracle

En esta práctica se abordan los siguientes temas:• Navegación por Enterprise Manager • Visualización y modificación de parámetros de

inicialización• Parada e inicio de la instancia de base de datos• Visualización del log de alertas• Conexión a la base de datos mediante el uso de

SQL*Plus e iSQL*Plus

Page 123: Base de Datos Oracle 10g Taller de Administracion I

Copyright © 2005, Oracle. Todos los derechos reservados.

Gestión de Estructuras de Almacenamiento de Bases de Datos

Page 124: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Objetivos

Al finalizar esta lección, debería estar capacitado para lo siguiente:• Describir cómo se almacenan en bloques los datos

de fila de tabla• Definir el objetivo de tablespaces y archivos de datos• Crear y gestionar tablespaces• Obtener información de tablespaces• Describir las funcionalidades y conceptos principales

de Gestión Automática de Almacenamiento (ASM)

Page 125: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Estructuras de Almacenamiento

Base de datos

Tablespace

Segmento

Extensión

Bloque de datosde Oracle

Lógicas Físicas

Bloque delsistema operativo

Archivo del sistema operativo

Estructuras de AlmacenamientoUna base de datos se divide en unidades lógicas de almacenamiento denominadas tablespaces. Cada tablespace se compone de muchos bloques lógicos de datos de Oracle. El parámetro DB_BLOCK_SIZE especifica el tamaño que tiene un bloque lógico. El rango de tamaño de un bloque lógico es de 2 KB a 32 KB. El tamaño por defecto es 8 KB. Un número determinado de bloques lógicos contiguos constituye una extensión. Un juego de extensiones que se asignan según una estructura lógica concreta constituye un segmento. Un bloque de datos de Oracle representa la unidad más pequeña de E/S lógica.

Page 126: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Almacenamiento de Datos de Tabla

Tablespace

Tabla A Tabla B

SegmentoSegmento

Filas

Columnas

Tabla

Bloques

Parte de una fila Extensión

Almacenamiento de Datos de TablaAl crear una tabla, se crea un segmento para contener los datos. Un tablespace contiene una recopilación de segmentos. Desde el punto de vista lógico, 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 situación se produce cuando una fila insertada es demasiado grande para caber en un solo bloque o cuando una actualización hace que el espacio actual de una fila existente se quede pequeño.

Page 127: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Anatomía de un Bloque de Base de Datos

Cabecera de bloque

Espacio libre

Datos de fila

Crecimiento

Bloque de Base de Datos: ContenidoLos 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 dirección de bloque de datos, el directorio de la tabla, el directorio de la fila y las ranuras de transacción 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 más entradas de fila o cuando se necesitan más ranuras de transacción 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.

Page 128: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Tablespaces y Archivos de Datos

La base de datos Oracle almacena datos de forma lógica en tablespaces y de forma física en archivos de datos.• Tablespaces:

– Sólo pueden pertenecer a una base de datos– Constan de uno o más archivos de datos– Se dividen en unidades lógicas de almacenamiento

• Archivos de datos:– Pueden pertenecer sólo a un

tablespace y una base de datos– Son un repositorio para datos

de objetos de esquema

Base de datosTablespace

Archivos de datos

Tablespaces y Archivos de DatosLas bases de datos, tablespaces y archivos de datos están estrechamente relacionados pero presentan importantes diferencias:

• Una base de datos Oracle consta de una o más unidades lógicas 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 más archivos denominados archivos de datos, que son estructuras físicas 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 más simple tendría 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.

Page 129: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Oracle Managed Files (OMF)Especificar operaciones de archivos en función de los objetos de base de datos en lugar de los nombres de archivos.

Define la ubicación para las copias de seguridad de RMAN

DB_RECOVERY_FILE_DEST

Define la ubicación para la creación de archivos de control y archivos redo log

DB_CREATE_ONLINE_LOG_DEST_n

Define la ubicación del directorio del sistema de archivos por defecto para los archivos de datos y los archivos temporales

DB_CREATE_FILE_DEST

DescripciónParámetro

Ejemplo: SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST = '/u01/oradata'; SQL> CREATE TABLESPACE tbs_1;

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 función 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 estándar para crear y suprimir archivos según 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 parámetros, la base de datos no lo crea. El directorio debe tener también 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 cláusula DATAFILEse puede omitir de una sentencia CREATE TABLESPACE. El archivo de datos se crea en la ubicación especificada por DB_CREATE_FILE_DEST.

Page 130: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Gestión 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 asignación de extensiones.– Estos tablespaces sólo se soportan para compatibilidad

con versiones anteriores.

Gestión de Espacio en TablespacesLos tablespaces asignan espacio en extensiones. Los tablespaces se pueden crear para utilizar uno de los dos siguientes métodos de realización de seguimiento de espacio libre o usado:

• Tablespaces gestionados localmente: Las extensiones se gestionan en el tablespace a través de bitmaps. Cada bit del bitmap corresponde a un bloque o grupo de bloques. Cuando una extensión 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 asignación de una extensión. Este método se utiliza para obtener la compatibilidad con versiones anteriores; se recomienda usar tablespaces gestionados localmente.

Page 131: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Exploración de la Estructura de Almacenamiento

Haga clic en los enlaces para visualizar información detallada.

Exploración de la Estructura de AlmacenamientoLas estructuras de datos lógicos se almacenan en los archivos físicos de la base de datos. Enterprise Manager permite visualizar las estructuras lógicas de la base de datos fácilmente. Si desea obtener información detallada sobre cada una de las estructuras, puede hacer clic en los enlaces de la región Storage de la página Administration.

Page 132: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Creación de un Nuevo Tablespace

Creación de un Nuevo TablespacePara crear un tablespace, realice los siguientes pasos:

1. Haga clic en el separador Administration y, a continuación, 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 continuación el tablespace existente y elija Create Like en el menú Actions. Haga clic en Go.Aparecerá la página 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 más activa las extensiones y es necesario tener acceso al diccionario de datos para realizar un seguimiento de las mismas. Los tablespaces gestionados por diccionario están 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.

Page 133: Base de Datos Oracle 10g Taller de Administracion I

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

Creación de un Nuevo Tablespace (continuación)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 región Datafiles de la página, 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 Gestión Automática de Almacenamiento (ASM) de Oracle u otros gestores de volúmenes lógicos soportan la segmentación o la matriz redundante de discos independientes (RAID), además de volúmenes lógicos extensibles dinámicamente.

8. En la página Add Datafiles, introduzca un nombre de archivo. Acepte el valor por defecto para File Directory e introduzca un tamaño de archivo.

9. En la región Storage, puede seleccionar “Automatically extend datafile when full (AUTOEXTEND)” y, a continuación, especificar una cantidad en el campo Increment. Esto hace que el archivo de datos se amplíe automáticamente cada vez que se quede sin espacio. Por supuesto, está limitado por el medio físico en el que reside. Deje el valor Maximum File Size definido en Unlimited. Haga clic en OK. Volverá a la página Create Tablespace.

10. Haga clic en el separador Storage. Aparecerá la página Edit Tablespace.11. Acepte todos los valores por defecto de la página Storage.

Nota: Estos pasos están destinados a mostrar cómo crear rápidamente un tablespace para la mayoría de situaciones. Puede que necesite cambiar algunas opciones en función de sus requisitos concretos.

Page 134: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Almacenamiento de Tablespaces Gestionados Localmente

Almacenamiento de Tablespaces Gestionados LocalmenteLas extensiones de un tablespace gestionado localmente se pueden asignar de uno de los dos modos siguientes:

• Automatic: También denominado asignación automática, especifica que los tamaños de las extensiones del tablespace los gestiona el sistema. No puede especificar un tamaño de extensión. No puede especificar Automatic para un tablespace temporal.

• Uniform: Especifica que el tablespace está gestionado con extensiones uniformes con un tamaño especificado. El tamaño 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 gestión 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 más 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 más automática y, por este motivo, este método de gestión de espacio se denomina gestión automática de espacio de segmento (ASSM).

Page 135: Base de Datos Oracle 10g Taller de Administracion I

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

Almacenamiento de Tablespaces Gestionados Localmente (continuación)• Manual: Especifica que desea utilizar listas de bloques libres para la gestión de espacio

libre en segmentos. Las listas de bloques libres son listas de bloques de datos que tienen espacio disponible para la inserción de filas. Esta forma de gestión de espacio en segmentos se denomina gestión manual de espacio de segmento debido a la necesidad de especificar y ajustar los parámetros 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 LocalmenteLos tablespaces gestionados localmente presentan las siguientes ventajas sobre los gestionados por diccionario:

• La gestión local evita operaciones recursivas de gestión de espacio. Esto sucede en los tablespaces gestionados por diccionario si el consumo o la liberación de espacio en una extensión da como resultado otra operación 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 contención en estas tablas.

• La gestión local de extensiones realiza automáticamente un seguimiento del espacio libre adyacente, que elimina la necesidad de fusionar extensiones libres.

• El sistema puede determinar automáticamente los tamaños de las extensiones gestionadas localmente.

• Los cambios en los bitmaps de extensiones no generan información de deshacer porque no actualizan tablas del diccionario de datos (excepto en casos especiales como, por ejemplo, información 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 más información sobre el uso de este procedimiento, consulte PL/SQL Packages and Types Referencey Database Administrator’s Guide.Enable loggingLos cambios que se realizan en los objetos en el tablespace se escriben en el redo log. Si el registro no está activado, la creación 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 pérdida 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 más información sobre la cláusula de registro, consulte la guía Oracle DatabaseSQL Reference.Block InformationEsta región muestra el tamaño de bloque que se utiliza para el tablespace que se está creando. Aquí se muestra como un valor de sólo lectura. Si define alguno de los parámetros alternativos de inicialización para el tamaño de bloque (DB_nK_CACHE_SIZE), aparecerían aquí otros valores en forma de opciones. Para obtener más información sobre cómo definir otros tamaños de bloque, consulte Oracle Database Administrator’s Guide.

Page 136: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Tablespaces en la Base de Datos Preconfigurada

• SYSTEM• SYSAUX• TEMP

• UNDOTBS1• USERS• EXAMPLE

Tablespaces en la Base de Datos PreconfiguradaLos 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 información administrativa sobre la base de datos. Todos ellos están incluidos en el esquema SYS y sólo 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 gráfico de tarta del contenido de este tablespace. Para ello, haga clic en Tablespaces en la página Administration. Seleccione SYSAUX y haga clic en Edit. Después, haga clic en el separador Occupants. Una vez concluida la creación, se puede controlar el uso del espacio de cada ocupante del tablespace SYSAUXmediante 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.

Page 137: Base de Datos Oracle 10g Taller de Administracion I

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

Tablespaces en la Base de Datos Preconfigurada (continuación)• TEMP: El tablespace temporal se utiliza cuando se ejecuta una sentencia SQL que necesita

la creación de segmentos temporales (como grandes ordenaciones o la creación de un índice). De la misma forma que a cada usuario se le asigna un tablespace por defecto para almacenar objetos de datos creados, también se le asigna un tablespace temporal. La práctica recomendada es definir un tablespace temporal por defecto para la base de datos que se asignará a cada usuario recién 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 ningún 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 información de deshacer. Si una base de datos utiliza Gestión Automática de Deshacer (AUM), debe tener exactamente un tablespace de deshacer activo en cualquier momento. Este tablespace se genera durante la creación 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 común para los ejemplos. La documentación y los cursos de Oracle contienen ejemplos basados en los esquemas de ejemplo.

Nota: Para simplificar la administración es normal tener un tablespace sólo para índices.

Page 138: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Modificación de un Tablespace

Modificación de un TablespaceDespués 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 sólo lectura de

transición. En este estado, se pueden realizar las transacciones existentes (de confirmación o de rollback), pero no se permiten otras operaciones de lenguaje de manipulación de datos (DML) en los objetos del tablespace. El tablespace está online mientras tiene el estado de sólo lectura. No puede hacer que el tablespace SYSTEM o SYSAUX sea de sólo lectura.

Page 139: Base de Datos Oracle 10g Taller de Administracion I

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

Modificación de un Tablespace (continuación)• 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 condición 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 más archivos del tablespace. La base de datos Oracle pone offline los archivos de datos (los que aún no lo estén), al establecer a la vez un punto de control en los mismos. Si no hay ningún archivo offline, pero utiliza la cláusula temporal, la recuperación del medio físico no es necesaria para volver a poner el tablespace online. Sin embargo, si uno o más archivos del tablespace están offline debido a errores de escritura y pone el tablespace offline temporalmente, el tablespace necesita la recuperación 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 recuperación del medio físico 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.

Cambio del tamaño: Puede agregar espacio a un tablespace existente, ya sea agregándole archivos de datos o cambiando el tamaño de un archivo de datos existente.

• Para agregar un nuevo archivo de datos al tablespace, haga clic en Add y rellene la información sobre el archivo de datos en la página Add Datafile.

• Para cambiar el tamaño de un archivo de datos existente, selecciónelo en la región Datafiles de la página Edit Tablespace haciendo clic en el nombre del archivo de datos, o bien seleccione el archivo de datos y haga clic en Edit. A continuación, en la página Edit Datafile puede cambiar el tamaño del archivo de datos. Puede aumentar o reducir el tamaño del tablespace. Sin embargo, no puede hacer que un archivo de datos sea más pequeño 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.

Page 140: Base de Datos Oracle 10g Taller de Administracion I

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

Modificación de un Tablespace (continuación)Thresholds: Haga clic en Thresholds para cambiar el punto en el que se alcanza un nivel crítico 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 opción 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.

Page 141: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Acciones con Tablespaces

Acciones con TablespacesMediante el menú Actions puede realizar varias tareas con los tablespaces. Seleccione un tablespace y, a continuación, la acción 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 definición de datos (DLL) que crea el

tablespace. A continuación se puede copiar y pegar en un archivo de texto para su uso como archivo de comandos o con fines de documentación.

• Make Locally Managed: Convierte el tablespace en gestionado localmente si, en la actualidad, el tablespace está gestionado por diccionario. Esta conversión 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 opción aparece sólo si el tablespace no es ya de sólo lectura.

• Make Writable: Permite iniciar DML y otras actividades de escritura en objetos del tablespace. Esta opción aparece sólo si, actualmente, no se puede escribir en el tablespace.

Page 142: Base de Datos Oracle 10g Taller de Administracion I

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

Acciones con Tablespaces (continuación)• Place Online: Pone online un tablespace que actualmente está offline• Reorganize: Inicia el asistente de reorganización, 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 recuperación en función del nivel de fragmentación 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 información sobre todos los segmentos del tablespace, incluido un mapa gráfico 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.

Page 143: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Borrado de Tablespaces

Borrado de TablespacesPuede 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.

Page 144: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Visualización de Información de Tablespaces

Visualización de Información de TablespacesHaga clic en View para ver información sobre el tablespace seleccionado. En la página View Tablespace, también puede hacer clic en Edit para modificar el tablespace.También se puede obtener información de tablespaces y archivos de datos consultando lo siguiente:

• Información de tablespaces:- DBA_TABLESPACES- V$TABLESPACE

• Información de archivos de datos:- DBA_DATA_FILES- V$DATAFILE

• Información de archivos temporales:- DBA_TEMP_FILES- V$TEMPFILE

Page 145: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Recopilación de Información de Almacenamiento

Recopilación de Información de AlmacenamientoPara visualizar y modificar información del tablespace en EM, seleccione Administration > Tablespaces. Utilice los botones o la lista desplegable Actions para navegar hasta su destino.

Page 146: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Visualización de Contenido de Tablespaces

12061_1_sel_ts_3

Visualización de Contenido de TablespacesEn la página Show Tablespace Contents se muestra información detallada sobre el tablespace, incluida una lista de los segmentos del tablespace, el tipo de cada segmento, el tamaño de segmento y el número 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 región 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 gráfica, amplíe "Extent map" y mueva el cursor sobre cada extensión. Aparece la siguiente información:

• Nombre del segmento al que pertenece la extensión• Identificador de extensión• Identificador de bloque• Tamaño de la extensión en bloques• Archivo de datos en el que está almacenada la extensión

Page 147: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Ampliación de la Base de DatosPuede ampliar la base de datos de las siguientes formas:• Creando un nuevo tablespace• Agregando un archivo de datos a un tablespace

existente• Aumentando el tamaño de un archivo de datos• Manteniendo el crecimiento dinámico de un archivo

de datos

SYSTEM tablespace

INVENTORY tablespace

Database

Ampliación de la Base de DatosEstas actividades se pueden realizar mediante Enterprise Manager o mediante sentencias SQL. Al final, el tamaño de la base de datos se puede describir como la suma de todos sus tablespaces.

Page 148: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

¿Qué es Gestión Automática de Almacenamiento?

Gestión Automática de Almacenamiento• Es un sistema de archivos de

cluster portable y de alto rendimiento

• Gestiona archivos de la base de datos Oracle

• Distribuye los datos entre los discos para equilibrar la carga

• Duplica datos• Resuelve muchos retos

de gestión de almacenamiento

ASM

Sistemade archivosGestor de volúmenes

Aplicación

Base de datos

Sistema operativo

¿Qué es Gestión Automática de Almacenamiento?ASM proporciona una integración vertical del sistema de archivos y del gestor de volúmenes creado de forma específica para los archivos de las bases de datos Oracle. Además de gestionar máquinas de multiproceso simétrico (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 dinámicos ya que les permite aumentar el tamaño de las bases de datos sin tener que cerrarlas a la hora de ajustar la asignación 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 gestión de datos se realiza seleccionando las características de fiabilidad y rendimiento deseadas para las clases de datos en lugar de hacerlo archivo por archivo con la intervención 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 más grandes (y en mayor número) con mayor eficiencia.

Page 149: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

ASM: Funciones Clave y Ventajas

ASM• Segmenta los archivos, pero no los volúmenes

lógicos• Permite la reconfiguración y nuevo equilibrio

dinámico de discos online• Permite ajustar la velocidad de nuevo equilibrio• Proporciona redundancia por cada archivo• Sólo soporta archivos de bases de datos Oracle• Detecta los clusters• Se instala automáticamente

ASM: Funciones Clave y VentajasASM 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 técnica de índice para realizar el seguimiento de la colocación de cada extensión. Cuando varía 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 operación de nuevo equilibrio para hacer que termine antes o reducirla para disminuir el impacto en el subsistema de E/S. ASM proporciona protección de duplicación sin necesidad de adquirir un gestor de volúmenes lógicos de otro fabricante. Una ventaja exclusiva de ASM radica en que la duplicación se aplica por archivo, no por volumen. Por lo tanto, un mismo grupo de discos puede contener una combinación 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 volúmenes lógicos de cluster o de un sistema de archivos de cluster.

Page 150: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

ASM: Conceptos

Base de datos

Tablespace

Segmento

Extensión

Bloque de datosde Oracle

Archivo de datos

Bloquefísico

Disco de ASM

Archivo de ASM

Unidad de asignación

Archivo del sistema de

archivoso

dispositivo raw

Grupo dediscos de ASM

ASM: ConceptosASM 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 jerarquía la ocupan los grupos de discos de ASM. Todos los archivos de ASM están 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 están particionados en unidades de asignación de un megabyte. La unidad de asignación constituye el espacio de disco contiguo más pequeño que asigna ASM. ASM no permite dividir un bloque de Oracle en unidades de asignación.Nota: El gráfico sólo 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.

Page 151: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Resumen

En esta lección, debe haber aprendido lo siguiente:• Describir cómo se almacenan en bloques los datos

de fila de tabla• Definir el objetivo de tablespaces y archivos de

datos• Crear y gestionar tablespaces• Obtener información de tablespaces• Describir las funcionalidades y conceptos

principales de Gestión Automática de Almacenamiento (ASM)

Page 152: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Visión General de la Práctica:Gestión de Estructuras de Almacenamiento de

Bases de Datos

En esta práctica se abordan los siguientes temas:• Creación de tablespaces• Recopilación de información sobre tablespaces

Page 153: Base de Datos Oracle 10g Taller de Administracion I

Copyright © 2005, Oracle. Todos los derechos reservados.

Administración de Seguridad del Usuario

Page 154: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Objetivos

Al finalizar esta lección, debería 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 estándar de seguridad de contraseña

– Controlar el uso de recursos por los usuarios

ObjetivosLos siguientes términos están relacionados con la administración de usuarios de base de datos y le ayudarán 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 contraseña es una autenticación 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 límites 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 métodos mediante el cual puede controlar el uso de recursos por parte de los usuarios.

Page 155: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Cuentas de Usuario de Base de Datos

Cada cuenta de usuario de base de datos tiene lo siguiente:• Nombre de usuario único• Método de autenticación• Tablespace por defecto• Tablespace temporal• Perfil de usuario• Grupo de consumidores• Estado de bloqueo

> UsuarioAutenticaciónPrivilegioRolPerfilSeguridad con ContraseñaCuota

Cuentas de Usuario de Base de DatosPara acceder a la base de datos, un usuario debe especificar una cuenta de usuario de base de datos válida y autenticarse correctamente según los requisitos de dicha cuenta de usuario. Cada usuario de base de datos tiene su propia cuenta de base de datos. Esta es la práctica recomendada por Oracle para evitar posibles agujeros en la seguridad y proporcionar datos significativos para ciertas actividades de auditoría. Sin embargo, en algunos casos, los usuarios comparten una cuenta de base de datos común. 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.

• Método de autenticación: El método de autenticación más común es una contraseña, pero la base de datos Oracle 10g soporta otros métodos de autenticación, entre los que se incluyen la autenticación biométrica, mediante certificado y mediante elemento.

• Tablespace por defecto: Éste es el lugar en el que el usuario creará objetos si no especifica ningún 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.

Page 156: Base de Datos Oracle 10g Taller de Administracion I

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

Cuentas de Usuario de Base de Datos (continuación)• 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 contraseña asignadas al

usuario.• Grupo de consumidores: Es una opción utilizada por el gestor de recursos.• Estado de bloqueo: Los usuarios sólo pueden acceder a las cuentas “desbloqueadas”.

Page 157: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

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

automática (AWR)• La cuenta SYSTEM tiene otorgado el rol DBA. • Estas cuentas no se utilizan para operaciones

rutinarias.

Cuentas Predefinidas: SYS y SYSTEMLas cuentas SYS y SYSTEM tienen otorgado por defecto el rol de administrador de base de datos (DBA).La cuenta SYS tiene además todos los privilegios con la opción ADMIN OPTION y es propietaria del diccionario de datos. Para conectarse a la cuenta SYS es necesario utilizar la cláusula ASSYSDBA. Cualquier usuario al que se le otorgue el privilegio SYSDBA puede conectarse a la cuenta SYS mediante la cláusula AS SYSDBA. Sólo 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.Práctica recomendada: Debido a la aplicación del principio de privilegio más 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 método permite aplicar el principio de privilegio más 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.

Page 158: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Creación de un Usuario

Seleccionar Administration > Schema > Users & Privileges > Users y, a continuación, hacer clic en el botón Create.

Creación de un UsuarioEn Enterprise Manager, puede gestionar la lista de usuarios de base de datos que pueden acceder a la base de datos actual mediante la página Users. Puede utilizar esta página 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 botón Create.Proporcione la información necesaria. Los elementos obligatorios, como Name, aparecen marcados con un asterisco.Las siguientes páginas le proporcionan más información sobre la autenticación. Los perfiles se tratarán más adelante en esta lección.Asigne un tablespace por defecto y un tablespace temporal a cada usuario. De esta forma puede controlar dónde se crean sus objetos, en el caso de que los usuarios no especifiquen un tablespace durante la creación 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.

Page 159: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Autenticación de Usuarios

• Password• External• Global

Usuario> Autenticación

PrivilegioRolPerfilSeguridad con ContraseñaCuota

Autenticación de UsuariosLa autenticación significa verificar la identidad de alguien (un usuario, dispositivo u otra entidad) que desea utilizar datos, recursos o aplicaciones. La validación de dicha identidad establece una relación de confianza para una mayor interacción. La autenticación también permite establecer responsabilidades al posibilitar el enlace de acceso y acciones con identidades concretas. Tras la autenticación, los procesos de autorización pueden permitir o limitar los niveles de acceso y acción permitidos para dicha entidad.Al crear un usuario, debe decidir la técnica de autenticación que se va a utilizar y que se podrámodificar posteriormente.Password: También denominada autenticación por la base de datos Oracle. Cree cada usuario con una contraseña asociada que se debe proporcionar cuando el usuario intente establecer una conexión. Al configurar una contraseña, puede establecer que venza inmediatamente, lo que obliga al usuario a cambiar la contraseña después de la primera conexión. Si decide utilizar el vencimiento de contraseñas de usuario, asegúrese de que los usuarios pueden cambiar la contraseña. Algunas aplicaciones no tienen esta función.Las contraseñas siempre se cifran de forma automática 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.

Page 160: Base de Datos Oracle 10g Taller de Administracion I

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

Autenticación de Usuarios (continuación)External: También se denomina autenticación por el sistema operativo. Los usuarios se pueden conectar a la base de datos Oracle sin especificar un nombre de usuario o contraseña. Con la autenticación externa, la base de datos confía en el servicio de autenticación de red o del sistema operativo subyacente para restringir el acceso a cuentas de base de datos. No se utiliza ninguna contraseña de base de datos para este tipo de conexión. Si el servicio de red o del sistema operativo lo permite, éste podrá autenticar usuarios. Si es así, defina el parámetro de inicialización OS_AUTHENT_PREFIX y utilice este prefijo en los nombres de usuario Oracle. El parámetro 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 parámetro 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.Nota: El texto del parámetro de inicialización OS_AUTHENT_PREFIX es sensible a mayúsculas/minúsculas en algunos sistemas operativos. Consulte la documentación de Oracle específica para el sistema operativo si desea más información sobre este parámetro de inicialización.Global: Mediante la opción Oracle Advanced Security, la autenticación global (que es una autenticación potente) permite identificar usuarios mediante biométrica, certificados X509, dispositivos de elemento y Oracle Internet Directory. Para obtener más información sobre métodos de autenticación avanzados, consulte el curso Oracle Enterprise Identity Management.

Page 161: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Autenticación de Administradores

Seguridad del Sistema Operativo• Los DBA deben tener privilegios del sistema operativo

para crear y suprimir archivos.• Los usuarios típicos 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 contraseñas o el sistema operativo.– La autenticación del archivo de contraseñas registra el

usuario DBA por el nombre.– La autenticación del sistema operativo no registra el usuario

concreto.– La autenticación del sistema operativo tiene prioridad sobre

la autenticación del archivo de contraseñas para SYSDBA y SYSOPER.

Autenticación de AdministradoresSeguridad 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 después de la verificación con el archivo de contraseñas o con los privilegios y los permisos del sistema operativo. Si se utiliza la autenticación del sistema operativo, la base de datos noutiliza el nombre de usuario y contraseña proporcionados. La autenticación del sistema operativo se utiliza si no existe archivo de contraseñas, si el nombre de usuario o la contraseña proporcionados no están en ese archivo o si no se proporciona ningún nombre de usuario y contraseña.No obstante, si la autenticación se produce mediante el archivo de contraseñas, la conexión se registra con el nombre de usuario. Si la autenticación se produce a través del sistema operativo, entonces es una conexión CONNECT / que no registra el usuario concreto.Nota: La autenticación del sistema operativo tiene prioridad sobre la autenticación del archivo de contraseñas. 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 contraseña que especifique.

Page 162: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Desbloqueo de Cuentas de Usuario y Restablecimiento de Contraseñas

Seleccionar el usuario y hacer clic en Unlock User.

Desbloqueo de Cuentas de Usuario y Restablecimiento de ContraseñasDurante la instalación y la creación 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 contraseñas si selecciona el usuario en la página Users y hace clic en Unlock User.Como alternativa, en la página Edit Users puede realizar los siguientes pasos:

1. Introduzca la nueva contraseña en los campos Enter Password y Confirm Password.2. Active la casilla de control Unlocked.3. Haga clic en Apply para restablecer la contraseña y desbloquear la cuenta de usuario.

Page 163: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

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

Privilegio del sistema:Crear sesión.

HR_DBA

Privilegio de objeto:Actualizar empleados.

UsuarioAutenticación

> PrivilegioRolPerfilSeguridad con ContraseñaCuota

PrivilegiosUn 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 categorías:

• Privilegios del sistema: Cada privilegio del sistema permite a un usuario realizar una operación 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 quién se le haya proporcionado explícitamente permiso para administrar el privilegio. Existe más de cien privilegios del sistema distintos. Muchos de ellos contienen la cláusula ANY.

• Privilegios de objeto: Los privilegios de objeto permiten a un usuario realizar una acción concreta en un objeto determinado, como una tabla, una vista, una secuencia, un procedimiento, una función o un paquete. Sin el permiso concreto, los usuarios sólo 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 explícitamente permiso para otorgar privilegios sobre el objeto.

Page 164: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Privilegios del Sistema

Privilegios del SistemaPara otorgar privilegios del sistema, haga clic en el separador Systems Privileges de la página Edit User. Seleccione los privilegios apropiados de la lista de privilegios disponibles y muévalos a la lista Selected System Privileges haciendo clic en la flecha Move.Otorgar un privilegio con la cláusula ANY significa que el privilegio traspasa las líneas del esquema. Por ejemplo, el privilegio CREATE TABLE le permite crear una tabla, pero sólo 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 sólo a los administradores:• RESTRICTED SESSION: Este privilegio le permite conectarse incluso si la base de datos

se ha abierto en modo restringido.

Page 165: Base de Datos Oracle 10g Taller de Administracion I

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

Privilegios del Sistema (continuación)• SYSDBA y SYSOPER: Estos privilegios le permiten cerrar, iniciar y realizar una operación

de recuperación y demás tareas administrativas en la base de datos. SYSOPER permite a un usuario realizar tareas operativas básicas 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 (Sólo recuperación completa. Cualquier tipo de

recuperación incompleta, como UNTIL TIME|CHANGE|CANCEL|CONTROLFILE, necesita una conexión como SYSDBA.)

- RESTRICTED SESSION

El privilegio del sistema SYSDBA autoriza además la recuperación incompleta y la supresión 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 administración de tablespaces, incluida la creación, el borrado y el cambio de sus atributos.

• CREATE ANY DIRECTORY: La base de datos Oracle permite a los desarrolladores llamar a código externo (por ejemplo, una biblioteca C) desde PL/SQL. Como medida de seguridad, el directorio del sistema operativo en el que reside el código debe estar enlazado a un objeto de directorio Oracle virtual. Con el privilegio CREATE ANY DIRECTORY, podría llamar a objetos de código 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. Asegúrese de que su organización posee una estrategia de seguridad que evita que se haga un usoincorrecto 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.

Page 166: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Privilegios de Objeto

Para otorgar privilegios de objeto, realice estas tareas:1. Seleccione el tipo de objeto.2. Seleccione objetos.3. Seleccione privilegios.

Privilegios de ObjetoPara otorgar privilegios de objeto, haga clic en el separador Object Privileges de la página Edit User. Seleccione el tipo de objeto para el que desea otorgar los privilegios y haga clic en el botón Add. Para seleccionar los objetos para los que desea otorgar privilegios, introduzca <nombre_usuario.nombre_objeto> o selecciónelos en la lista.A continuación, seleccione los privilegios adecuados de la lista Available Privileges y haga clic en el botón Move. Cuando termine de seleccionar los privilegios, haga clic en OK.De nuevo en la página Edit User, active la casilla de control Grant si este usuario puede otorgar el mismo acceso a otros usuarios.

Page 167: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

OTORGAR

REVOCAR

Revocación de Privilegios del Sistemacon ADMIN OPTION

REVOKE CREATE TABLE FROM jeff;

Usuario

Privilegio

Objeto

DBA Jeff Emi

Jeff EmiDBA

Revocación 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 revocación no tiene que ser el mismo que inicialmente otorgó el privilegio.No hay ningún 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.

ResultadoLa tabla de Jeff aún existe, pero no se pueden crear nuevas tablas.La tabla de Emi aún existe y todavía posee el privilegio del sistema CREATE TABLE.

Page 168: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

OTORGAR

REVOCAR

Revocación de Privilegios de Objetocon GRANT OPTION

Bob Jeff Emi

EmiJeffBob

Revocación de Privilegios de Objeto Se pueden observar efectos en cascada cuando se revoca un privilegio del sistema relacionado con una operación de lenguaje de manipulación 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 revocación de privilegios de objeto también produce efectos en cascada mediante WITHGRANT OPTION.Lea los siguientes pasos que ilustran este caso:Supuestos

1. A Jeff se le otorga el privilegio de objeto SELECT sobre EMPLOYEES con GRANTOPTION.

2. Jeff otorga el privilegio SELECT sobre EMPLOYEES a Emi.3. A continuación, a Jeff se le revoca el privilegio SELECT. Esta revocación tiene un efecto

en cascada y se aplica también a Emi.

Page 169: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Ventajas de los Roles

• Gestión de privilegios más sencilla• Gestión de privilegios dinámica• Disponibilidad selectiva de privilegios

UsuarioAutenticaciónPrivilegio

> RolPerfilSeguridad con ContraseñaCuota

Ventajas de los Roles• Gestión de privilegios más sencilla: Utilice roles para simplificar la gestión de privilegios.

En lugar de otorgar el mismo juego de privilegios a varios usuarios, puede otorgar los privilegios a un rol y, a continuación, otorgar dicho rol a cada usuario.

• Gestión de privilegios dinámica: 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 automática e inmediata.

• Disponibilidad selectiva de privilegios: Los roles se pueden activar o desactivar para activar o desactivar privilegios temporalmente. La activación de un rol también se puede utilizar para verificar si se ha otorgado dicho rol a un usuario.

Page 170: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Asignación de Privilegios a Roles y deRoles a Usuarios

Usuarios

Privilegios

Roles HR_CLERKHR_MGR

Jenny David Rachel

Suprimirempleados.

Seleccionarempleados.

Actualizarempleados.

Insertarempleados.

Asignación de Privilegios a Roles y de Roles a UsuariosEn la mayoría 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 gestión 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 están diseñados para facilitar la administración de privilegios en la base de datos y, por lo tanto, mejorar la seguridad.Características 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 activación de una contraseña.• Los roles no son propiedad de nadie y no están en ningún esquema.

En el ejemplo de la diapositiva, al rol HR_CLERK se le otorgan privilegios SELECT y UPDATEen 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.

Page 171: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Roles Predefinidos

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

SCHEDULER_ ADMIN

No tiene privilegios del sistema, pero síHS_ADMIN_ROLE y más de 1.700 privilegios de objeto en el diccionario de datos

SELECT_CATALOG_ROLE

Tiene la mayoría de privilegios del sistema, otros muchos roles. No otorgar a usuarios que no sean administradores.

DBA

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

RESOURCE

CREATE SESSIONCONNECT

Roles PredefinidosExisten varios roles definidos automáticamente para bases de datos Oracle al ejecutar los archivos de comandos de creación de bases de datos. CONNECT se otorga automáticamente a cualquier usuario creado con Enterprise Manager. En versiones anteriores de la base de datos (antes de la base de datos Oracle 10g Versión 2), el rol CONNECT incluía más 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 también se otorga el privilegio UNLIMITED TABLESPACE.Roles FuncionalesSe crean otros roles que le autorizan a administrar funciones especiales, cuando se instala esta función. Por ejemplo, XDBADMIN contiene los privilegios necesarios para administrar la base dedatos XML (Extensible Markup Language) si esta función está instalada. AQ_ADMINISTRATOR_ROLE proporciona privilegios para administrar el servicio de gestión de colas avanzada. HS_ADMIN_ROLE incluye los privilegios necesarios para administrar servicios heterogéneos. No debe modificar los privilegios otorgados a estos roles funcionales sin la ayuda de los Servicios de Soporte Oracle porque podría desactivar involuntariamente funciones necesarias.

Page 172: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Creación de un Rol

Seleccionar Administration > Schema > Users & Privileges > Roles.

Creación de un RolUn 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 botón Create.

Page 173: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

CREATE ROLE secure_application_roleIDENTIFIED USING <nombre_procedimiento_seguridad>;

Roles Seguros

• Los roles también se pueden proteger mediante programación.

• Los roles pueden no ser roles por defecto.

SET ROLE vacationdba;

• Los roles se pueden proteger mediante la autenticación.

Roles SegurosLos 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 explícitamente el rol para poder ejercer los privilegios de dicho rol.

• Exigir la autenticación adicional de un rol. La autenticación por defecto de un rol es None, pero es posible exigir la autenticación adicional del rol para poder definirlo.

• Crear roles de aplicación seguros que se puedan activar sólo mediante la ejecución correcta de un procedimiento PL/SQL. El procedimiento PL/SQL puede comprobar varias cosas como, por ejemplo, la dirección de red del usuario, qué programa está ejecutando el usuario, la hora del día o cualquier otro elemento necesario para proteger de forma adecuada un grupo de permisos.

Page 174: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Asignación de Roles a Usuarios

Asignación de Roles a UsuariosUn 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 continuación, 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 automáticamente 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 botón Edit.3. Haga clic en el separador Roles y, a continuación, en el botón Edit List.4. Seleccione el rol deseado en Available Roles y muévalo hasta Selected Roles.5. Cuando haya asignado todos los roles adecuados, haga clic en el botón OK.

Page 175: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Perfiles y Usuarios

A los usuarios sólo se les asigna un perfil en un momento determinado.

Perfiles:• Controlan el

consumo de recursos

• Gestionan el estado de las cuentas y el vencimiento de las contraseñas

UsuarioAutenticaciónPrivilegioRol

> PerfilSeguridad con ContraseñaCuota

Perfiles y UsuariosLos perfiles imponen un juego con nombre de límites de recursos en cuanto al uso de la base de datos y de los recursos de la instancia. Los perfiles también gestionan el estado de las cuentas y establecen limitaciones en cuanto a las contraseñas de usuarios (longitud, fecha de vencimiento, etc.). Cada uno de los usuarios se asigna a un perfil y puede pertenecer sólo 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 conexión.El perfil por defecto sirve como base para todos los demás perfiles. Como se ilustra en la diapositiva, las limitaciones para un perfil pueden estar especificadas implícitamente (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 parámetro de inicialización 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 sesión o por llamada. Una limitación de CPU/Session de 1.000 significa que si una sesión concreta que utiliza este perfil consume más de 10 segundos de tiempo de CPU (las limitaciones de tiempo de CPU se miden en centésimas de segundo), dicha sesión recibe un error y se desconecta:

ORA-02392: exceeded session limit on CPU usage, you are being logged off

Page 176: Base de Datos Oracle 10g Taller de Administracion I

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

Perfiles y Usuarios (continuación)Una limitación por llamada tiene el mismo efecto, pero en lugar de limitar la sesión general del usuario, evita que cualquier comando individual consuma demasiada CPU. Si CPU/Call está limitada y el usuario supera la limitación, se abortará el comando y el usuario obtendráun mensaje de error como el siguiente:

ORA-02393: exceeded call limit on CPU usage• Red/Memoria: Cada sesión de base de datos consume recursos de memoria del sistema y

(si la sesión es desde un usuario no local al servidor) recursos de red. Puede especificar lo siguiente:

- Connect Time: Indica cuántos minutos puede estar conectado un usuario antes de que se le desconecte automáticamente.

- Idle Time: Indica cuántos minutos puede permanecer inactiva la sesión de un usuario antes de que se le desconecte automáticamente. El tiempo de inactividad se calcula sólo para el proceso de servidor. No tiene en cuenta la actividad de la aplicación. El límite IDLE_TIME no se ve afectado por consultas de larga duración ni otras operaciones.

- Concurrent Sessions: Indica cuántas sesiones simultáneas 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 ordenación, fusión de bitmaps, etc. Esta restricción sólo tiene efecto si la sesión utiliza un servidor compartido. (Los servidores compartidos se tratan en la lección titulada “Configuración del Entorno de Red de Oracle”.)

• E/S de disco: Limita la cantidad de datos que un usuario puede leer en el nivel de sesión o de llamada. Reads/Session y Reads/Call ponen una limitación en el número 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.

Los perfiles también permiten un límite compuesto. Los límites compuestos se basan en una combinación ponderada de CPU/Session, Reads/Session, Connect Time y Private SGA. Los límites compuestos se tratan más detalladamente en Oracle Database Security Guide.Para crear un perfil, seleccione Administration > Schema > Users & Privileges > Profiles y haga clic en el botón Create.Nota: El Gestor de Recursos es una alternativa para muchos de los valores de perfil. Para obtener más información sobre el Gestor de Recursos, consulte Oracle Database Administrator’s Guide.

Page 177: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Implementación de las Funciones de Seguridad con Contraseña

Historial de contraseñas

Bloqueo de cuentas

Antigüedad y vencimiento de

contraseñas

Verificación de la complejidad delas contraseñas

Usuario Configuración de perfiles

Nota: No utilice perfiles que provoquen el vencimiento de las contraseñas SYS, SYSMAN, y DBSNMP y el bloqueo de las cuentas.

UsuarioAutenticaciónPrivilegioRolPerfil

> Seguridad con ContraseñaCuota

Implementación de las Funciones de Seguridad con ContraseñaLa gestión de contraseñas de Oracle se implementa con perfiles de usuario. Los perfiles pueden proporcionar varias funciones estándar de seguridad, incluidas las siguientes:Bloqueo de cuentas: Permite el bloqueo automático de cuentas durante un período definido cuando los usuarios no han podido conectarse al sistema en el número especificado de intentos.

• Los parámetros FAILED_LOGIN_ATTEMPTS especifican el número de intentos fallidos de conexión antes del bloqueo de la cuenta.

• El parámetro PASSWORD_LOCK_TIME especifica el número de días que se bloqueará la cuenta tras un número concreto de intentos fallidos de conexión.

Antigüedad y vencimiento de contraseñas: Permite a las contraseñas de usuario tener una duración concreta, tras la cual vencen y se deben cambiar.

• El parámetro PASSWORD_LIFE_TIME determina la duración en días tras la que vencerá la contraseña.

• El parámetro PASSWORD_GRACE_TIME especifica un período de gracia en días para cambiar la contraseña después de la primera conexión correcta una vez que haya vencido la contraseña.

Nota: El vencimiento de las contraseñas y el bloqueo de las cuentas SYS, SYSMAN, y DBSNMPimpiden que Enterprise Manager funcione adecuadamente. Las aplicaciones deben detectar el mensaje de advertencia de contraseña vencida y manejar el cambio de contraseña. De lo contrario, el período de gracia vence y se bloquea el usuario sin que este sepa la razón.

Page 178: Base de Datos Oracle 10g Taller de Administracion I

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

Implementación de las Funciones de Seguridad con Contraseña (continuación)Historial de contraseñas: Comprueba la nueva contraseña para garantizar que ésta no se vuelve a utilizar durante un período especificado o un número concreto de cambios de contraseña. Estas comprobaciones se pueden implementar de una de las siguientes formas:• PASSWORD_REUSE_TIME: Especifica que un usuario no puede volver a utilizar una

contraseña durante un número de días determinado.• PASSWORD_REUSE_MAX: Especifica el número de cambios de contraseña necesarios

antes de que se pueda volver a utilizar la contraseña actual.Estos dos parámetros se excluyen mutuamente, por lo que cuando uno de los parámetros se define en un valor que no sea UNLIMITED (o DEFAULT si el valor del perfil DEFAULT estádefinido en UNLIMITED), el otro parámetro se debe definir en UNLIMITED.Verificación de la complejidad de las contraseñas: Realiza una comprobación de la complejidad de la contraseña para verificar que cumple determinadas reglas. La comprobación se debe asegurar que la contraseña es lo suficientemente compleja para proporcionar protección contra intrusos que puedan intentar entrar en el sistema adivinando la contraseña.El parámetro PASSWORD_VERIFY_FUNCTION asigna una función PL/SQL que realiza una comprobación de la complejidad de las contraseñas antes de asignar una. Las funciones de verificación de contraseñas deben ser propiedad del usuario SYS y deben devolver un valor booleano (TRUE o FALSE).

Page 179: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Creación de un Perfil de Contraseña

Creación de un Perfil de ContraseñaPara crear un perfil de contraseña, seleccione Administration > Schema > Users & Privileges > Profiles y haga clic en el botón 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 períodos de tiempo están expresados en días, pero también se pueden expresar como fracciones. Hay 1.440 minutos en un día, por lo tanto 5/1440 son cinco minutos.Enterprise Manager también se puede utilizar para editar perfiles de contraseña existentes.Borrado de un Perfil de ContraseñaEn Enterprise Manager, no se puede borrar un perfil utilizado por usuarios. Sin embargo, si borra un perfil con la opción CASCADE (en SQL*Plus, por ejemplo), a todos los usuarios con ese perfil se les asigna de forma automática el perfil DEFAULT.

Page 180: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Función de Verificación de Contraseñas Proporcionadas: VERIFY_FUNCTION

La función de verificación de contraseñas proporcionadas aplica las siguientes restricciones de contraseña:• La longitud mínima es de cuatro caracteres.• La contraseña no puede ser igual que el nombre de

usuario.• La contraseña debe tener al menos un carácter

alfabético, uno numérico y uno especial.• La contraseña debe ser diferente de la contraseña

anterior en al menos tres letras.Consejo: Utilice esta función como plantilla para crearsu propia verificación de contraseñas personalizada.

Función de Verificación de Contraseñas Proporcionadas: VERIFY_FUNCTIONEl servidor de Oracle proporciona una función de verificación de la complejidad de las contraseñas denominada VERIFY_FUNCTION. Esta función se crea con el archivo de comandos <oracle_home>/rdbms/admin/utlpwdmg.sql. La función de verificación de la complejidad de las contraseñas se debe crear en el esquema SYS. Se puede utilizar como plantilla para su verificación de contraseñas personalizada.Además de crear VERIFY_FUNCTION, el archivo de comandos utlpwdmg también cambia el perfil DEFAULT con el siguiente comando ALTER PROFILE:

ALTER PROFILE default LIMITPASSWORD_LIFE_TIME 60PASSWORD_GRACE_TIME 10PASSWORD_REUSE_TIME 1800PASSWORD_REUSE_MAX UNLIMITEDFAILED_LOGIN_ATTEMPTS 3PASSWORD_LOCK_TIME 1/1440PASSWORD_VERIFY_FUNCTION verify_function;

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

Page 181: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Asignación de Cuota a Usuarios

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

UsuarioAutenticaciónPrivilegioRolPerfilSeguridad con Contraseña

> Cuota

Asignación de Cuota a UsuariosLa cuota es un espacio asignado en un tablespace determinado. Por defecto, un usuario no tiene ninguna cuota en ningún 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 número 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 también se otorga este privilegio.

No debe proporcionar cuota a los usuarios en el tablespace SYSTEM o SYSAUX. Normalmente, sólo 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 ningún tablespace de deshacer.

Page 182: Base de Datos Oracle 10g Taller de Administracion I

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

Asignación de Cuota a Usuarios (continuación)• ¿Cuándo utiliza cuotas la instancia de Oracle?

Las cuotas se utilizan cuando un usuario crea o amplía 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 creación de vistas o el uso de tablespaces temporales.

• ¿Cuándo se repone una cuota? La cuota se repone cuando los objetos propiedad del usuario se borran con la cláusula PURGE o los objetos de la papelera de reciclaje se depuran automáticamente.

Page 183: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Resumen

En esta lección, debe haber aprendido 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 estándar de seguridad con contraseña

– Controlar el uso de recursos por los usuarios

Page 184: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Visión General de la Práctica: Administración de Usuarios

En esta práctica se abordan los siguientes temas:• Creación de un perfil para limitar el consumo de

recursos• Creación de dos roles:

– HRCLERK– HRMANAGER

• Creación de cuatro usuarios nuevos: – Un superior y dos oficinistas– Un usuario de esquema para la próxima sesión

práctica

Page 185: Base de Datos Oracle 10g Taller de Administracion I

Copyright © 2005, Oracle. Todos los derechos reservados.

Gestión de Objetos de Esquema

Page 186: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Objetivos

Al finalizar esta lección, debería 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

Page 187: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

¿Qué es un Esquema?

Esquema HRUsuario HR

propietario de

> Esquema RestriccionesÍndicesVistasSecuenciasTablas TemporalesDiccionario de Datos

¿Qué es un Esquema?Un esquema es una recopilación de objetos de base de datos propiedad de un usuario en particular. Normalmente, en una base de datos de producción, este usuario no representa una persona, sino una aplicación. Un esquema tiene el mismo nombre que el usuario propietario del esquema. Los objetos de esquema son estructuras lógicas 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 automáticamente.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.

Page 188: Base de Datos Oracle 10g Taller de Administracion I

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

¿Qué es un Esquema? (continuación)Al crear la base de datos, se crean automáticamente varios esquemas. Hay dos de especial importancia:

• Esquema SYS: Contiene el diccionario de datos, como se describe en la sección titulada “Administración de Seguridad del Usuario”.

• Esquema SYSTEM: Contiene tablas y vistas adicionales en las que se almacena información administrativa. Se describe en la lección titulada “Administración de Seguridad del Usuario”.

Durante una instalación completa de una base de datos Oracle, se instalan automáticamente esquemas de ejemplo. Los esquemas de ejemplo sirven para proporcionar una plataforma común para ejemplos de la documentación 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 básicos.

Una extensión 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 recopilación 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 extensión de este esquema proporciona soporte para el procesamiento analítico avanzado.

Page 189: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Acceso a Objetos de Esquema

Acceso a Objetos de EsquemaPuede acceder rápidamente a varios tipos de objetos de esquema desde la región Schema de la página Database Administration.Después de hacer clic en uno de los enlaces, se mostrará la página Results. En la región Search de la página, puede introducir un nombre de esquema y un nombre de objeto para buscar un objeto concreto. Además, puede buscar otros tipos de objetos en la región 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 página Database Administration.

Page 190: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

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

carácter alfabético del juego de caracteres de la base de datos.

• No se recomiendan nombres entre comillas.

Nomenclatura de Objetos de Base de DatosAl 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 operación 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 mayúsculas o minúsculas, 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 mayúscula y no son sensibles a mayúsculas/minúsculas. Cuando se procesa una sentencia SQL, los nombres sin entrecomillar se convierten a mayúsculas.

Page 191: Base de Datos Oracle 10g Taller de Administracion I

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

Nomenclatura de Objetos de Base de datos (continuación)Los identificadores sin entrecomillar sólo pueden incluir caracteres alfanuméricos del juego de caracteres de la base de datos y el carácter de subrayado (_), el signo del dólar ($) y el signo de almohadilla numérica (#). Los enlaces de base de datos también 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 carácter y signo de puntuación, asícomo espacios. Sin embargo, ni los identificadores entre comillas ni los sin entrecomillar pueden contener comillas dobles.

Page 192: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Especificación de Tipos de Dato en TablasTipos de dato comunes:• CHAR(size [BYTE|CHAR]): Datos de tipo carácter

de longitud fija en bytes o caracteres especificada por size

• VARCHAR2(size [BYTE|CHAR]): Cadena de caracteres de longitud variable con una longitud máxima en bytes o caracteres especificada por size

• DATE: Rango de fechas válido del 1 de enero de 4712 AC hasta el 31 de diciembre de 9999 DC

• NUMBER(p,s): Número con precisión p y escala s

Especificación de Tipos de Dato en TablasAl crear una tabla, debe especificar un tipo de dato para cada una de sus columnas. Al crear un procedimiento o función, 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 carácter de longitud fija en bytes o caracteres especificada por size.

El tamaño máximo es 2.000 bytes o caracteres, y el tamaño por defecto y mínimo es 1 byte.- BYTE indica que la semántica de la columna es de longitud en byte.- CHAR indica que la semántica de la columna es de caracteres.

• VARCHAR2: Cadena de caracteres de longitud variable con una longitud en bytes o caracteres especificada por size. El tamaño máximo es 4.000 bytes. Debe especificar el tamaño para VARCHAR2.

• DATE: Rango de fechas válido del 1 de enero de 4712 AC hasta el 31 de diciembre de 9999 DC. También almacena el tiempo: horas, minutos y segundos.

• NUMBER: Número que tiene precisión p y escala s. El rango de precisión es de 1 a 38. El rango de escala es de -84 a 127.

Page 193: Base de Datos Oracle 10g Taller de Administracion I

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

Especificación de Tipos de Dato en Tablas (continuación)• BINARY_FLOAT: Es un número de coma flotante de 32 bits. Este tipo de dato necesita

5 bytes, incluido el byte de longitud.• BINARY_DOUBLE: Es un número 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 número de coma flotante con precisión p binaria. La precisión 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 sólo 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 máxima de una columna viene determinada por la definición del juego de caracteres nacional. Las especificaciones de ancho del tipo de dato NCHAR hacen referencia al número de caracteres. El tamaño máximo 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 sólo Unicode. Es como NCHAR, excepto en que la longitud máxima es 4.000 bytes y que no se rellena en blanco.

• LONG: Es un dato de carácter 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 tamaño máximo es 2.000 bytes. Debe especificar el tamaño para un valor RAW.• ROWID: Es una cadena de base 64 que representa la dirección ú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 dirección lógica de una fila de una tabla organizada por índices. El tamaño opcional es el de una columna de tipo UROWID. El tamaño máximo 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.

Page 194: Base de Datos Oracle 10g Taller de Administracion I

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

Especificación de Tipos de Dato en Tablas (continuación)• 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 tamaño máximo 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 número de bytes que se van a asignar para la manipulación de LOB. Si el tamaño no es un múltiplo del tamaño del bloque de base de datos, la base de datos redondea en bytes hasta el siguiente múltiplo. Por ejemplo, si el tamaño del bloque de base de datos es 2.048 y el tamaño de CHUNK es 2.050, la base de datos asigna 4.096 bytes (2 bloques). El valor máximo es 32.768 (32 K), que es el mayor tamaño del bloque de base de datos Oracle permitido. El tamaño 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 tamaño máximo es 4 GB.

• TIMESTAMP(fractional_seconds_precision): Con este tipo de dato, puede especificar los valores de fecha (año, mes y día), así como los valores de tiempo (hora, minuto y segundo), donde fractional_seconds_precision es el número de dígitos en la parte fraccional de un segundo. Los valores aceptados son 0 y 9. El valor por defecto es 6.

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

Page 195: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Creación y Modificación de Tablas

Especificar el nombre de la tabla y el esquema.

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

Creación y Modificación de TablasLas tablas son las unidades básicas 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. Creación de una TablaPara crear una tabla mediante Enterprise Manager, realice los siguientes pasos:

1. Haga clic en Tables en la región Schema de la página Administration. Aparecerá la página Tables.

2. Si conoce el nombre del esquema, introdúzcalo completo o en parte en el campo Schema de la región 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 página Create Table: Table Organization.4. Acepte el valor por defecto Standard, Heap Organized haciendo clic en Continue. Aparecerá

la página 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 función de búsqueda.

Page 196: Base de Datos Oracle 10g Taller de Administracion I

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

Creación y Modificación de Tablas (continuación)7. Introduzca el nombre del tablespace en el campo Tablespace o haga clic en el icono de

linterna para llamar a la función de búsqueda.8. En la región Columns, introduzca el nombre de columna y los tipos de dato.9. Haga clic en OK. Aparecerá un mensaje de actualización que indica que la tabla se ha

creado correctamente.Modificación de una TablaPuede 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 página Tables, seleccione la tabla en la lista de resultados y haga clic en Edit.2. En la página Edit Table, haga clic en el botón Add 5 Table Columns. Aparecerá una lista

de columnas editables.3. Introduzca el nombre de columna, el tipo de dato y el tamaño. 4. Haga clic en Apply. Aparecerá un mensaje de actualización que indica que la tabla se ha

modificado correctamente.

Page 197: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Descripción de la Integridad de los Datos

JOB_HISTORYEMPLOYEE_ID (PK,FK)START_DATE (PK)END_DATEJOB_ID (FK)DEPARTMENT_ID (FK)

EMPLOYEESEMPLOYEE_ID (PK)FIRST_NAMELAST_NAMEEMAILPHONE_NUMBERHIRE_DATEJOB_ID (FK)SALARYCOMMISION_PCTMANAGER_ID (FK)DEPARTMENT_ID (FK)

DEPARTMENTSDEPARTMENT_ID (PK)DEPARTMENT_NAMEMANAGER_IDLOCATION_ID (FK)

JOBSJOB_ID (PK)JOB_TITLEMIN_SALARYMAX_SALARY

REGIONSREGION_ID (PK)REGION_NAME

COUNTRIESCOUNTRY_ID (PK)COUNTRY_NAMEREGION_ID (FK)

LOCATIONSLOCATION_ID (PK)STREET_ADDRESSPOSTAL_CODECITYSTATE_PROVINCECOUNTRY_ID (FK)

Esquema> Restricciones

ÍndicesVistasSecuenciasTablas TemporalesDiccionario de Datos

Descripción de la Integridad de los DatosPuede 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 restricción NOT NULL necesita que una columna de una tabla no contenga ningún valor nulo. Por ejemplo, puede definir una restricción NOTNULL para exigir que se introduzca un valor en la columna LAST_NAME de todas las filas de la tabla EMPLOYEES.

• Clave UNIQUE: Una restricción 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 restricción 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 restricción se aplica con un índice único.

• PRIMARY KEY: Todas las tablas de la base de datos pueden tener como máximo una restricción PRIMARY KEY. Los valores del grupo de una o más columnas sujetas a esta restricción constituyen el identificador único de la fila. En efecto, cada fila se denomina por sus valores de clave primaria.

Page 198: Base de Datos Oracle 10g Taller de Administracion I

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

Descripción de la Integridad de los Datos (continuación)La implementación de la restricción 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 KEYutilizando índices. La restricción de clave primaria creada para la columna DEPARTMENT_ID de la tabla DEPARTMENTS se aplica mediante la creación implícita de lo siguiente:

- Un índice único en dicha columna- Una restricción 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 relación de las columnas. Las reglas de integridad referencial garantizan que se mantengan estas relaciones. Una restricción 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 números de departamento erróneos en la columna DEPARTMENT_ID de la tabla DEPARTMENTS. Otro tipo de restricción de integridad referencial se denomina restricción de integridad de autorreferencia. Este tipo de clave ajena hace referencia a una clave principal de la misma tabla.

• Restricciones de control: Una restricción de integridad CHECK en una columna o juego de columnas necesita que una condición concreta se cumpla o sea desconocida para todas las filas de la tabla. Si una sentencia de lenguaje de manipulación de datos (DML) tiene como resultado que la condición de la restricción CHECK se evalúe como falsa, se realizará un rollback de la sentencia.

Page 199: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Definición de Restricciones

Definición de RestriccionesPara agregar una restricción a una tabla con Enterprise Manager, realice los siguientes pasos:

1. Seleccione la tabla en la página Tables y haga clic en Edit.2. Haga clic en Constraints. Se mostrará la página Constraints con todas las restricciones

definidas en la tabla.3. Seleccione el tipo de restricción que desea agregar en la lista desplegable y haga clic en Add.4. Introduzca la información adecuada para el tipo de restricción que está definiendo. Haga clic

en OK.

Page 200: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Violaciones de Restricciones

Algunos ejemplos de cómo se puede violar una restricción son:• Inserción de un valor de clave primaria duplicado• Supresión del principal de una fila secundaria en

una restricción de integridad referencial• Actualización de una columna a un valor que esté

fuera de los límites de una restricción de control

…103…102…101

101

X

5…16…49…22…

ID AGE

–30

Violaciones de RestriccionesLa violación de una restricción tiene lugar cuando se ejecuta DML, y éste no cumple la restricción. 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 restricción ú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 podría tener una restricción de control de modo que al aplicarla sea un número positivo.

Page 201: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Estados de Restricciones

ENABLENOVALIDATE

ENABLEVALIDATE

Datos existentes

Datos nuevos

DISABLENOVALIDATE

DISABLEVALIDATE

No DML

Estados de RestriccionesPara abordar mejor las situaciones en las que los datos deben estar temporalmente en estado de violación de una restricción, puede designar que una restricción tenga diversos estados. Una restricción de la integridad se puede activar (ENABLE) o desactivar (DISABLE). Si una restricción 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 restricción. Si una restricción está desactivada, los datos que no guardan conformidad con la regla se pueden introducir en la base de datos. Una restricción de la integridad puede tener uno de los siguientes estados:• DISABLE NOVALIDATE• DISABLE VALIDATE• ENABLE NOVALIDATE• ENABLE VALIDATE

Page 202: Base de Datos Oracle 10g Taller de Administracion I

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

Estados de Restricciones (continuación)DISABLE NOVALIDATE: Puede que tanto los datos nuevos como los ya existentes no se ajusten a la restricción 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 sólo lectura, de modo que no se introduce ningún dato nuevo en la tabla.DISABLE VALIDATE: Si una restricción tiene este estado, no se permite ninguna modificación de las columnas restringidas porque no sería 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 restricción pero los existentes están 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 restricción. Éste es el estado habitual y por defecto de una restricción.

Page 203: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Comprobación de Restricciones

Caso: Sentencia DML, seguida de COMMIT

Restricciones sin diferir comprobadas

COMMIT emitida

Restricciones sin diferir comprobadas

COMMIT terminada

1

3

2

4

Las restricciones se comprueban en el momento de:• Ejecución de la sentencia, en el caso de

restricciones sin diferir• COMMIT, para restricciones diferidas

Comprobación de RestriccionesPuede diferir la comprobación de la validez de las restricciones hasta que termine la transacción. Restricciones sin diferir, conocidas también como restricciones inmediatas, se aplican al final de las sentencias DML. La violación de una restricción ocasiona el rollback de la sentencia. Si una restricción provoca una acción, 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 transacción. Si en el momento de la confirmación (COMMIT) se detecta alguna violación de restricción, se produce el rollback de toda la transacción. Estas restricciones son útiles principalmente cuando las filas principal y secundaria de una relación 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 artículos 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 restricción

inmediata a menos que se establezca explícitamente lo contrario.• Initially deferred, especifica que, por defecto, la restricción sólo se debe aplicar al

final de la transacción.

Page 204: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Creación de Restricciones con SQL: Ejemplos

ALTER TABLE countries

ADD (UNIQUE(country_name) ENABLE NOVALIDATE);

ALTER TABLE employees ADD CONSTRAINT pk PRIMARY KEY

(employee_id)

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));

a

c

b

Creación de Restricciones con SQL: EjemplosEn la diapositiva se muestran tres ejemplos de creación 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. Sólo se restringen las nuevas filas.

b. Esta sentencia agrega una clave primaria a la tabla EMPLOYEE. El nombre de la restricción 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 restricción RI impone que los valores de la columna FK deben estar presentes en la columna de clave primaria de la tabla T1. La restricción CK1 impone que las columnas PK y C1 sean mayores que cero.

Nota: Toda restricción tiene un nombre. Si no se proporciona uno en la sentencia DDL,el sistema asigna un nombre, que empieza por SYS_.

Page 205: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Visualización de las Columnas de una Tabla

Visualización de las Columnas de una TablaPara visualizar los atributos de una tabla mediante Enterprise Manager, realice los siguientes pasos:

1. Haga clic en el enlace Tables en la región Schema de la página Database Administration2. Seleccione una tabla de la lista de resultados y haga clic en el botón View para ver los

atributos de la tabla.

Page 206: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Visualización del Contenido de una Tabla

Visualización del Contenido de una TablaPara visualizar las filas de una tabla mediante Enterprise Manager, realice los siguientes pasos:

1. Seleccione la tabla en la página Tables. 2. Seleccione View Data en el menú Actions y haga clic en Go.

Aparecerá la página View Data for Table. Los datos de fila para la tabla se mostrarán en la región Result. El recuadro Query muestra la consulta SQL ejecutada para producir los resultados. En esta página, 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 botón Refine Query. En la página Refine Query for Table, puede seleccionar las columnas que desea ver y especificar una cláusula WHERE para la sentencia SQL con el fin de limitar los resultados.Para obtener más información sobre las cláusulas WHERE de las sentencias SQL, consulte Oracle Database SQL Reference.

Page 207: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Acciones con Tablas

Acciones con TablasPuede seleccionar una tabla y, a continuación, realizar acciones en ella. Aquí se presentan algunas de esas acciones:

• Create Like: Con esta acción 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 opción para crear índices de una tabla.• Generate DDL: Se genera el DDL que representa la tabla que ya existe. A continuación se

puede copiar en un archivo de texto para su uso como archivo de comandos o con fines de documentación.

• Grant Privileges: Por defecto, cuando se crea una tabla, sólo el propietario puede realizar acciones en ella. El propietario debe otorgar privilegios a los demás 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 sólo lectura.

Page 208: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Borrado de una Tabla

El borrado de una tabla elimina:• Datos• Estructura de tabla• Disparadores de base de datos• Índices correspondientes• Privilegios de objeto asociados

Cláusulas opcionales de la sentencia DROP TABLE:• CASCADE CONSTRAINTS: Restricciones de

integridad referencial dependientes• PURGE: No es posible el flashback

DROP TABLE hr.employees PURGE;

Borrado de una TablaSintaxis:

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 cláusula PURGE, la definición 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 definición de tabla. Si borra una tabla a través de Enterprise Manager, la cláusula PURGE no se utiliza.

• Utilice el comando FLASHBACK TABLE para recuperar objetos de esquema de la papelera de reciclaje. El comando PURGE RECYCLEBIN vacía la papelera de reciclaje.

• La opción CASCADE CONSTRAINTS es necesaria para suprimir todas las restricciones de integridad referencial dependientes.

Nota: Si no utiliza la opción PURGE, el espacio que ocupa la tabla y sus índices sigue contando en la cuota permitida del usuario para los tablespaces implicados. Es decir, todavía se considera que ese espacio se está utilizando.

Page 209: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Truncamiento de una Tabla

• 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.

TRUNCATE TABLE hr.employees;

Truncamiento de una TablaSintaxis:

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

Los efectos de utilizar este comando son los siguientes:• La tabla se marca como vacía definiendo el límite 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 implícitamente porque

TRUNCATE TABLE es un comando DDL.• Los índices correspondientes también se truncan.• No se pueden truncar las tablas a las que una clave ajena hace referencia.• Los disparadores de supresión no se activan cuando se utiliza este comando.

Normalmente esto es mucho más rápido 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 límite superior de la tabla en lugar de procesar cada fila como una operación DELETE.

• No se genera ningún dato de deshacer.

Page 210: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Índices

22

22

Índice Tabla

ClavePunterode fila

… WHERE key = 22

Esquema Restricciones

> ÍndicesVistasSecuenciasTablas TemporalesDiccionario de Datos

ÍndicesLos índices son estructuras opcionales asociadas a las tablas. Se pueden crear para mejorar el rendimiento de la recuperación y actualización 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 más columnas de una tabla. Una vez creado un índice, el servidor de Oracle lo mantiene y utiliza automáticamente. Las actualizaciones de datos de una tabla, como la adición de nuevas filas, la actualización de filas o la supresión de filas, se propagan automáticamente a todos los índices relevantes con completa transparencia para los usuarios.

Page 211: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Tipos de Índices

Existen varios tipos de estructuras de índices disponibles, según 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 posición de bit representa una fila que puede o no contener dichos valores. Es adecuado para columnas de baja cardinalidad.

Tipos de ÍndicesÉstos son los tipos de índices más comunes:

• Árbol B• Bitmap

Un índice de árbol B tiene almacenados sus valores clave en un árbol equilibrado, lo que permite búsquedas binarias rápidas.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 búsquedas rápidas cuando hay pocos valores distintos, es decir, la columna indexada tiene baja cardinalidad. Un ejemplo sería un indicador de género. Sólo 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, habría que gestionar tantos bitmaps que la búsqueda resultaría muy poco eficaz. Utilice índices de bitmap en columnas de baja cardinalidad.

Page 212: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Índice de Árbol B

Cabecera de entrada de índiceLongitud de columna claveValor de columna claveROWID

Raíz

Rama

Hoja

Entrada de índice

Índice de Árbol BEstructura de un índice de árbol BAl principio del índice está la raíz, que contiene entradas que apuntan al siguiente nivel del índice. En el siguiente nivel están los bloques rama, que su vez apuntan a los bloques del siguiente nivel del índice. En el nivel inferior están los nodos hoja, que contienen las entradas de índice que apuntan a las filas de la tabla. Los bloques hoja están enlazados doblemente para facilitar la búsqueda de los valores clave del índice en orden ascendente y descendente.Formato de las entradas de hojas del índiceUna entrada de índice está formada por los siguientes componentes:

• Una cabecera de entrada, que almacena el número de columnas y la información de bloqueo

• Pares longitud-valor de columna clave, que definen el tamaño de una columna en la clave seguida por el valor de la columna (el número de estos pares es el número máximo de columnas del índice)

• ROWID de una fila que contiene los valores clave

Page 213: Base de Datos Oracle 10g Taller de Administracion I

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

Índice de Árbol B (continuación)Características de las entradas de hojas del índiceEn 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 tengantodas el valor NULL. Por lo tanto, una cláusula WHERE que especifique NULL siempre darálugar a una exploración 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 índicesEl servidor de Oracle mantiene todos los índices cuando las operaciones DML se realizan en la tabla. A continuación se muestra una explicación del efecto de un comando DML en un índice:

• Las operaciones de inserción dan como resultado la inserción de una entrada de índice en el bloque adecuado.

• La supresión de una fila produce una supresión lógica 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 supresión lógica y una inserción en el índice. El valor PCTFREE no tiene efecto alguno en el índice excepto en el momento de la creación. Se puede agregar una nueva entrada en el bloque de índice incluso si cuenta con menos espacio que el especificado en PCTFREE.

Page 214: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Índices de Bitmap

<Blue, 10.0.3, 12.8.3, 1000100100010010100>

<Green, 10.0.3, 12.8.3, 0001010000100100000>

<Red, 10.0.3, 12.8.3, 0100000011000001001>

<Yellow, 10.0.3, 12.8.3, 0010001000001000010>

Clave ROWIDinicial

ROWIDfinal Bitmap

Tabla

Índice

Bloque 10

Bloque 11

Bloque 12

Archivo 3

Índices de BitmapLos índices de bitmap ofrecen más 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 género y estado marital de una tabla que contenga registros de pasaporte.

• Cuando es frecuente que las consultas utilicen una combinación de varias condiciones WHERE relacionadas con el operador OR.

• Cuando hay actividad de sólo lectura o de actualización baja en las columnas de clave.Estructura de un índice de bitmapEl índice de bitmap también 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 número de columnas y la información de bloqueo.

Page 215: Base de Datos Oracle 10g Taller de Administracion I

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

Índices de Bitmap (continuación)Estructura de un índice de bitmap (continuación)

• 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 número de bloque diez, el número de fila cero y el número de archivo tres.

• ROWID final, que en el ejemplo especifica el número de bloque doce, el número de fila ocho y el número 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 definición cuando no lo contiene. El servidor de Oracle usa una técnica de compresión 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 bitmapEl á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 transacción.

Page 216: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

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 más de una columna.

• Un índice basado en funciones es un índice basado en el valor de retorno de una función.

• Un índice comprimido es aquel del que se han eliminado valores clave repetidos.

Opciones de ÍndicePara facilitar la recuperación, puede resultar ventajoso contar con un índice que almacene las claves en orden descendente. Esta decisión se debe tomar en función de cómo 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 están procesando datos en el mismo orden, las partes de prefijo de los valores clave (actualmente procesándose) 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 versión de byte inverso de los valores clave.Los índices creados por la combinación de más 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);

Page 217: Base de Datos Oracle 10g Taller de Administracion I

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

Opciones de Índice (continuación)Los índices basados en funciones indexan el valor de retorno de una función. Esta función puede ser una función SQL incorporada, una función PL/SQL proporcionada o una función escrita por el usuario. De esta manera, el servidor deja de tener que llamar a la función por cada valor clave dado que se realiza una búsqueda en la expresión indexada. En el siguiente ejemplo se indexa el volumen del árbol devuelto que calcula la función, según la especie, altura y volumen (que son columnas de la tabla TREES):

CREATE INDEX tree_vol_ix ONTREES(volume(species,height,circumference));

Luego, toda consulta que contenga la expresión volume(species,height,circumference) en la cláusula WHERE podría aprovechar las ventajas de este índice y ejecutarse de manera mucho más rápida porque el cálculo del volumen ya se ha realizado para cada árbol. Los índices basados en funciones se mantienen automáticamente, igual que los índices normales.Puede utilizar un índice comprimido para reducir el consumo de disco en tiempo de ejecución. Como se eliminan los valores clave repetidos, pueden caber más entradas de índice en una cantidad dada de espacio en disco y, como consecuencia, se pueden leer más entradas en el disco en la misma cantidad de tiempo. La compresión y la descompresión se deben realizar, respectivamente, para la escritura y la lectura del índice.

Page 218: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Creación de Índices

CREATE INDEX my_index ON

employees(last_name, first_name);

Creación de ÍndicesPuede hacer clic en el enlace Indexes situado bajo la cabecera Schema de la página Administration para ver la página Indexes. Puede ver atributos de índice o utilizar el menúActions para ver dependencias de un índice.Los índices se pueden crear explícita o implícitamente mediante restricciones que se colocan en una tabla. Un ejemplo de un índice creado implícitamente es la definición de una clave primaria, en cuyo caso se crearía automáticamente un índice único para reforzar la unicidad en la columna.

Page 219: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

¿Qué es una 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');

Tabla COUNTRY

Tabla LOCATION

Vista

Esquema RestriccionesÍndices

> Vistas…

¿Qué es una Vista?Las vistas son representaciones personalizadas de datos de una o más 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.

Page 220: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Creación de Vistas

Creación de VistasAl 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. También 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 página Administration.

Page 221: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Secuencias

Una secuencia es un mecanismo para generar automáticamente enteros que siguen un patrón.• Una secuencia tiene un nombre, que es

la forma en que se hace referencia a ella cuando se solicita el siguiente valor.

• Una secuencia no está asociada a ninguna tabla o columna en especial.

• La progresión puede ser ascendente o descendente.• El intervalo entre números puede ser de cualquier

tamaño.• Una secuencia puede crear un ciclo cuando se

alcanza un límite.

12345

Esquema RestriccionesÍndicesVistas

> SecuenciasTablas TemporalesDiccionario de Datos

SecuenciasPara recuperar el siguiente valor de una secuencia, se hace referencia a ella por su nombre; no existe asociación alguna de una secuencia con una tabla o columna.Una vez emitido un número determinado, no se volverá a emitir, a menos que la secuencia se defina como cíclica. En ocasiones, una aplicación solicita que un valor no deje nunca de utilizarse o de almacenarse en la base de datos. Esto puede dar lugar a intervalos vacíos en los números que residen en la tabla en la que se están almacenando.El almacenamiento en caché de los números de secuencia mejora el rendimiento ya que se asigna previamente un juego de números en la memoria para un acceso más rápido. En caso de fallo de la instancia, los números de secuencia almacenados en caché no se utilizan, lo que da lugar a intervalos vacíos.Nota: Si una aplicación necesita que no haya intervalos vacíos, la aplicación debe implementar un generador de números personalizados. No obstante, este método 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 supondría un cuello de botella en todo el sistema. Éste es el motivo por el que cada sesión tendría que esperar ese mecanismo, el cual, para garantizar que no haya duplicados ni intervalos vacíos, sólo gestiona una solicitud a la vez.

Page 222: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Creación de una Secuencia

Creación de una SecuenciaPuede ver y crear secuencias con Enterprise Manager haciendo clic en el enlace Sequences situado bajo la cabecera Schema de la página Administration. Éste es un resumen de las opciones de creación 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 máximo que puede generar la secuencia. Este valor

entero puede tener 28 dígitos o menos. Debe ser mayor que el valor de Minimum Value y de Initial. Unlimited indica un valor máximo de 1027 para una secuencia ascendente, o de -1 para una secuencia descendente. El valor por defecto es Unlimited.

• Minimum Value: Especifique el valor mínimo de la secuencia. Este valor entero puede tener 28 dígitos o menos. Debe ser menor o igual que el valor de Initial y menor que Maximum Value. Unlimited indica un valor mínimo de 1 para una secuencia ascendente, o de -1026 para una secuencia descendente. El valor por defecto es Unlimited.

Page 223: Base de Datos Oracle 10g Taller de Administracion I

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

Creación de una Secuencia (continuación)• Interval: Especifique el intervalo entre números de secuencia. Este valor entero puede ser

cualquier entero positivo o negativo, pero no puede ser cero. Puede tener 28 dígitos o menos. El valor por defecto es uno.

• Initial: Especifique el primer número de secuencia que se va a generar. Utilice esta cláusula para iniciar una secuencia ascendente en un valor mayor que su mínimo o para iniciar una secuencia descendente en un valor menor que su máximo.

• Cycle Values: Después de que una secuencia ascendente alcance su valor máximo, genera su valor mínimo. Después de que una secuencia descendente alcance su mínimo, genera su valor máximo. Si no selecciona esta opción, se devolverá un error si intenta recuperar un valor después de que la secuencia se haya agotado.

• Order Values: Garantiza que los números de secuencia se generan en orden de solicitud. Esta cláusula es útil si utiliza números de secuencia como registros de hora. Garantizar el orden no suele ser importante con las secuencias utilizadas para generar claves primarias. Esta opción es necesaria sólo para garantizar la generación ordenada si utiliza la base de datos Oracle con Real Application Clusters.

• Cache Options: Especifique cuántos valores de la secuencia preasigna y mantiene la base de datos Oracle en la memoria para un acceso más rápido. Este valor entero puede tener 28 dígitos o menos. El valor mínimo para este parámetro es 2. Para secuencias en ciclos, este valor debe ser inferior al número de valores del ciclo. No puede almacenar en cachémás valores de los que se ajustarán en un ciclo determinado de números de secuencia.

Page 224: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Uso de una Secuencia

Uso de una SecuenciaHaga 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.CURRVALsequence.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.

Page 225: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Tablas Temporales

Una tabla temporal:• Proporciona almacenamiento de datos que se

limpian automáticamente al terminar la sesión o transacción

• Proporciona almacenamiento privado de datos en cada sesión

• Se puede utilizar en todas las sesiones sin que afecte a los datos privados de las demás

Esquema RestriccionesÍndicesVistasSecuencias

> Tablas TemporalesDiccionario de Datos

Tablas TemporalesPuede 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 transacción o sesión. Las tablas temporales ofrecen esta funcionalidad pero además 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 sesión son los datos que ha insertado la sesión.Una tabla temporal puede ser específica de una transacción o de una sesión. En el caso de las tablas temporales específicas de una transacción, los datos se conservan lo que dura la transacción, y en el segundo caso lo que dura la sesión. En ambos casos, los datos que inserta una sesión son privados para la sesión. Cada sesión sólo puede ver y modificar sus propios datos. Como resultado, nunca se adquieren bloqueos DML en los datos de las tablas temporales. Las siguientes cláusulas controlan la duración de las filas:• ON COMMIT DELETE ROWS: Para especificar que la duración de las filas insertadas

equivale a lo que dura la transacción.• ON COMMIT PRESERVE ROWS: Para especificar que la duración de las filas insertadas

equivale a lo que dura la sesión.

Page 226: Base de Datos Oracle 10g Taller de Administracion I

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

Tablas Temporales (continuación)La sentencia CREATE GLOBAL TEMPORARY TABLE crea una tabla temporal. Puede crear índices, vistas y disparadores en tablas temporales, y también puede utilizar Export e Import o Data Pump para exportar e importar la definición de una tabla temporal. No obstante, no se exportará ningún dato aunque utilice la opción ROWS.Además de los casos ya mencionados que provocan la supresión de los datos, puede forzar la eliminación de éstos de manera eficaz con el comando TRUNCATE TABLE. Este comando elimina todos los datos insertados, y resulta más 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 opción Temporary en la página Create Table: Table Organization. Haga clic en Continue. La siguiente página le permite especificar si la tabla temporal es específica de la sesión o de la transacción. El campo Tablespace está desactivado dado que una tabla temporal siempre se crea en el tablespace temporal del usuario; no se puede especificar ningún otro tablespace.Nota: La palabra clave GLOBAL se basa en la terminología especificada en el estándar ISO (Organización Internacional de Normalización) para SQL.

Page 227: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Tablas Temporales: Consideraciones

• Utilice la cláusula GLOBAL TEMPORARY para crear tablas temporales:

• Utilice el comando TRUNCATE TABLE para suprimir el contenido de la tabla.

• Puede crear los siguientes elementos en tablas temporales:– Índices– Vistas– Disparadores

CREATE GLOBAL TEMPORARY TABLE employees_temp

ON COMMIT PRESERVE ROWS

AS SELECT * FROM employees;

Tablas Temporales: ConsideracionesLa sentencia CREATE GLOBAL TEMPORARY TABLE crea una tabla temporal. Puede crear índices, vistas y disparadores en tablas temporales, y también puede utilizar Export e Import o Data Pump para exportar e importar la definición de una tabla temporal. No obstante, no se exportará ningún dato aunque utilice la opción ROWS.Además de los casos ya mencionados que provocan la supresión de los datos, puede forzar la eliminación de éstos de manera eficaz con el comando TRUNCATE TABLE. Este comando elimina todos los datos insertados, y resulta más eficaz que utilizar el comando DELETE.Nota: La palabra clave GLOBAL se basa en la terminología especificada en el estándar ISO (Organización Internacional de Normalización) para SQL.

Page 228: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Diccionario de Datos:Visión General

SELECT * FROM dictionary;

TablasÍndices

VistasUsuariosEsquemas

Procedimientosetc.

Esquema RestriccionesÍndicesVistasSecuenciasTablas Temporales

> Diccionario de Datos

Diccionario de Datos: Visión GeneralEl diccionario de datos de Oracle es la descripción de una base de datos. Contiene los nombres y atributos de todos los objetos de la base de datos. La creación o modificación de un objeto provoca la actualización del diccionario de datos para reflejar dichos cambios. Esta información 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 información 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 información 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 sinónimo 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 documentación Oracle Database Reference.

Page 229: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Vistas del Diccionario de Datos

Vistas ALL_

Vistas DBA_

N/A

Subjuego de

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

Incluye los propios objetos del usuario

TodosUSER_

Todo lo que el usuario posee

Todo para lo que el usuario tiene privilegios de visualización

TodosALL_

Podría tener columnas adicionales diseñadas únicamente para el uso de DBA

TodoDBADBA_

NotasContenidoQuién Puede Consultar

Vistas del Diccionario de DatosLos prefijos de la vista indican qué o cuántos datos puede ver un usuario determinado. A la vista global de todo sólo 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_Ave esa tabla en todas las vistas ALL_ relacionadas con nombres de tabla. El prefijo USER_representa el ámbito de visibilidad más pequeño. Sólo se muestran aquellos objetos cuyo propietario es el usuario que consulta, es decir, los que están presentes en su propio esquema.

Page 230: Base de Datos Oracle 10g Taller de Administracion I

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

Vistas del Diccionario de Datos (continuación)Por lo general, cada juego de vistas es un subjuego del juego de vistas con los privilegios más 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 demás juegos de vistas. Depende de la naturaleza de la información de la vista. Por ejemplo, existe una vista DBA_LOCK, pero no una vista ALL_LOCK. Esto se debe a que sólo un DBA tendría interés 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 aún desee consultar sólo la versión 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.

Page 231: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Diccionario de Datos: Ejemplos de Uso

SELECT USERNAME, ACCOUNT_STATUS FROMdba_users WHERE ACCOUNT_STATUS = 'OPEN';

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');

a

b

c

DESCRIBE dba_indexes;d

Diccionario de Datos Estático: Ejemplos de UsoEn los ejemplos de la diapositiva se muestran consultas que responden a estas preguntas:

a. ¿Cuáles son los nombres de las tablas (junto con el nombre del tablespace donde residen) que se han creado en el esquema?

b. ¿Cuál es la información 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. ¿Cuáles son las columnas de la vista DBA_INDEXES? Esto le muestra la información que

puede ver acerca de todos los índices de la base de datos. A continuación 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)

Page 232: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Resumen

En esta lección, 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

Page 233: Base de Datos Oracle 10g Taller de Administracion I

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

Copyright © 2005, Oracle. Todos los derechos reservados.

Visión General de la Práctica:Administración de Objetos de Esquema

En esta práctica se abordan los siguientes temas:• Creación de tablas con columnas• Creación de restricciones:

– Clave primaria– Clave ajena– Restricción de control

• Creación de índices

Page 234: Base de Datos Oracle 10g Taller de Administracion I