oracle database 10g - taller de administración i volumen i - guía del alumno

466
Oracle Database 10g: Taller de Administración I Volumen I Guía del Alumno D17090CS31 Edición 3.1 Enero de 2010 D65054 FUNDACION PROYDESA (FUNDACION@PROYDESAORG) has a non-transferable license to use this Student Guide Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Upload: edgar-sanchez

Post on 27-Dec-2015

53 views

Category:

Documents


14 download

TRANSCRIPT

Page 1: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller deAdministración I

Volumen I • Guía del Alumno

D17090CS31

Edición 3.1

Enero de 2010

D65054

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 2: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Copyright © 2008, 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.

Aviso sobre Restricción de Derechos

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 Registrada

Oracle es una marca comercial registrada de Oracle Corporation y/o sus subsidiarias. Todos los demás nombres pueden ser marcas comerciales de sus respectivos propietarios.

Autores

Tom Best

Maria Billings

Colaboradores Técnicos y Responsables de Revisión

Celia Antonio

Larry Baumann

Tammy Bednar

Howard Bradley

M.J. Bryksa

Sandra Cheevers

Steve Friedberg

Joel Goodman

John Hibbard

Magnus Isaksson

Sushma Jagannath

Christine Jeal

Steven Karam

Donna Keesling

Stella Kister

Pierre Labrousse

Stefan Lindblad

Dee Matishak

Paul Needham

Raza Siddiqui

James Spiller

Janet Stern

Barry Trute

Jean-Francois Verrier

Anthony Woodell

Redactor

Joyce Raftery

Diseñador Gráfico

Satish Bettegowda

Editor

Jobi Varghese

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 3: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

iii

Contenido Prefacio 1 Introducción

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

2 Instalación del Software de Oracle Database

Objetivos 2-2 Tareas de un Administrador de Oracle Database 2-3 Herramientas Utilizadas para Administrar Bases de Datos Oracle 2-4 (Sólo Notas) 2-5 Instalación: Requisitos del Sistema 2-6 Comprobación de los Requisitos del Sistema 2-7 Arquitectura Flexible Óptima (OFA) 2-8

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 4: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

iv

Uso de la Arquitectura Flexible Óptima 2-9 Uso de la Arquitectura Flexible Óptima (sólo Notas) 2-10 Definición de Variables de Entorno 2-11 Definición de Variables de Entorno (sólo Notas) 2-12 Oracle Universal Installer (OUI) 2-13 Instalación del Software de Oracle 2-14 Opciones de Configuración de Base de Datos 2-15 Ejecución de Archivos de Comandos de Configuración 2-16 Fin de la Instalación 2-17 Opciones Avanzadas de Instalación 2-18 Opción de Instalación: Modo Silencioso 2-19 Resumen 2-20 Visión General de la Práctica: Instalación del Software de Oracle 2-21

3 Creación de una Base de Datos Oracle

Objetivos 3-2 Planificación de la Base de Datos 3-3 Databases: Examples 3-4 Asistente de configuración de bases de datos (DBCA) 3-5 Uso de DBCA para Crear una Base de Datos 3-6 Gestión de Contraseñas 3-12 Creación de una Plantilla de Diseño de Bases de Datos 3-13 Uso de DBCA para Suprimir una Base de Datos 3-14 Eliminación de una Base de Datos Oracle (sólo Notas) 3-15 Resumen 3-16 Visión General de la Práctica: Uso de DBCA 3-17

4 Gestión de la Instancia de Oracle

Objetivos 4-2 Marco de Gestión 4-3 Inicio y Parada de Database Control 4-4 Oracle Enterprise Manager 4-5 Acceso a Oracle Enterprise Manager 4-6 Página Inicial de la Base de Datos 4-7 Uso de SQL*Plus e iSQL*Plus para Acceder a la Base de Datos 4-8 Uso de iSQL*Plus 4-9 Configuración de iSQL*Plus para el Acceso de SYSDBA y SYSOPER 4-10 Uso de iSQL*Plus (sólo Notas) 4-11 Uso de SQL*Plus 4-12 Llamada a SQL*Plus desde un Archivo de Comandos del Shell 4-13 Llamada a un Archivo de Comandos SQL desde SQL*Plus 4-14

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 5: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

v

Archivos de Parámetros de Inicialización 4-15 Parámetros de Inicialización Simplificados 4-16 Ejemplos de Parámetros de Inicialización (sólo Notas) 4-17 Visualización y Modificación de Parámetros de Inicialización 4-18 Inicio y Cierre de la Base de Datos 4-19 Inicio de una Instancia de Base de Datos Oracle 4-20 Inicio de una Instancia de Base de Datos Oracle: NOMOUNT 4-21 Inicio de una Instancia de Base de Datos Oracle: MOUNT 4-22 Inicio de una Instancia de Base de Datos Oracle: OPEN 4-23 Cierre de una Instancia de Base de Datos Oracle 4-24 Modos de Cierre 4-25 Opciones de SHUTDOWN 4-26 (Sólo Notas) 4-27 Opciones de SHUTDOWN 4-28 Uso de SQL*Plus para el Inicio y el Cierre 4-29 Visualización del Log de Alertas 4-30 Visualización del Historial de Alertas 4-31 Vistas de Rendimiento Dinámico 4-32 Vistas de Rendimiento Dinámico: Ejemplos de Uso 4-33 Vistas de Rendimiento Dinámico: Consideraciones 4-34 Resumen 4-35 Visión General de la Práctica: Gestión de la Instancia de Oracle 4-36

5 Gestión de Estructuras de Almacenamiento de Bases de Datos

Objetivos 5-2 Estructuras de Almacenamiento 5-3 Almacenamiento de Datos de Tabla 5-4 Anatomía de un Bloque de Base de Datos 5-5 Tablespaces y Archivos de Datos 5-6 Oracle Managed Files (OMF) 5-7 Gestión de Espacio en Tablespaces 5-8 Exploración de la Estructura de Almacenamiento 5-9 Creación de un Nuevo Tablespace 5-10 Creación de un Nuevo Tablespace (sólo Notas) 5-11 Almacenamiento de Tablespaces Gestionados Localmente 5-12 Tablespaces en la Base de Datos Preconfigurada 5-14 Tablespaces en la Base de Datos Preconfigurada (sólo Notas) 5-15 Modificación de un Tablespace 5-16 Modificación de un Tablespace (sólo Notas) 5-17 Acciones con Tablespaces 5-19 Borrado de Tablespaces 5-21

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 6: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

vi

Visualización de Información de Tablespaces 5-22 Recopilación de Información de Almacenamiento 5-23 Visualización de Contenido de Tablespaces 5-24 Ampliación de la Base de Datos 5-25 ¿Qué es Gestión Automática de Almacenamiento? 5-26 ASM: Funciones Clave y Ventajas 5-27 ASM: Conceptos 5-28 Resumen 5-29 Visión General de la Práctica: Gestión de Estructuras de Almacenamiento de Bases

de Datos 5-30 6 Administración de la Seguridad del Usuario

Objetivos 6-2 Cuentas de Usuario de Base de Datos 6-3 Database User Accounts Full Notes Page 6-4 Cuentas Predefinidas: SYS y SYSTEM 6-5 Creación de un Usuario 6-6 Autenticación de Usuarios 6-7 Autenticación de Usuarios (sólo Notas) 6-8 Autenticación de Administradores 6-9 Desbloqueo de Cuentas de Usuario y Restablecimiento de Contraseñas 6-10 Privilegios 6-11 Privilegios del Sistema 6-12 Privilegios del Sistema (sólo Notas) 6-13 Privilegios de Objeto 6-14 Revocación de Privilegios del Sistema con ADMIN OPTION 6-15 Revocación de Privilegios de Objeto con GRANT OPTION 6-16 Ventajas de los Roles 6-17 Asignación de Privilegios a Roles y de Roles a Usuarios 6-18 Roles Predefinidos 6-19 Creación de un Rol 6-20 Roles Seguros 6-21 Asignación de Roles a Usuarios 6-22 Perfiles y Usuarios 6-23 Perfiles y Usuarios (sólo Notas) 6-24 Implementación de las Funciones de Seguridad con Contraseña 6-25 Seguridad con Contraseña (sólo Notas) 6-26 Creación de un Perfil de Contraseña 6-27 Función de Verificación de Contraseñas Proporcionadas: VERIFY_FUNCTION 6-28 Asignación de Cuota a Usuarios 6-29 Asignación de Cuota a Usuarios (sólo Notas) 6-30

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 7: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

vii

Resumen 6-31 Visión General de la Práctica: Administración de Usuarios 6-32

7 Gestión de Objetos de Esquema

Objetivos 7-2 ¿Qué es un Esquema? 7-3 Esquemas (sólo Notas) 7-4 Acceso a Objetos de Esquema 7-5 Nomenclatura de Objetos de Base de Datos 7-6 Nomenclatura de Objetos de Base de Datos (sólo Notas) 7-7 Especificación de Tipos de Dato en Tablas 7-8 Especificación de Tipos de Dato en Tablas (sólo Notas) 7-9 Creación y Modificación de Tablas 7-11 Creación y Modificación de Tablas (sólo Notas) 7-12 Descripción de la Integridad de los Datos 7-13 Descripción de la Integridad de los Datos (sólo Notas) 7-14 Definición de Restricciones 7-15 Violaciones de Restricciones 7-16 Estados de Restricciones 7-17 Estados de Restricciones (sólo Notas) 7-18 Comprobación de Restricciones 7-19 Creación de Restricciones con SQL: Ejemplos 7-20 Visualización de las Columnas de una Tabla 7-21 Visualización del Contenido de una Tabla 7-22 Acciones con Tablas 7-23 Borrado de una Tabla 7-24 Truncamiento de una Tabla 7-25 Índices 7-26 Tipos de Índices 7-27 Índice de Árbol B 7-28 Índice de Árbol B (sólo Notas) 7-29 Índices de Bitmap 7-30 Índices de Bitmap (sólo Notas) 7-31 Opciones de Índice 7-32 Opciones de Índice (sólo Notas) 7-33 Creación de Índices 7-34 ¿Qué es una Vista? 7-35 Creación de Vistas 7-36 Secuencias 7-37 Creación de Secuencias 7-38 Creación de una Secuencia (sólo Notas) 7-39

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 8: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

viii

Uso de una Secuencia 7-40 Tablas Temporales 7-41 Tablas Temporales (sólo Notas) 7-42 Tablas Temporales: Consideraciones 7-43 Diccionario de Datos: Visión General 7-44 Vistas del Diccionario de Datos 7-45 Vistas del Diccionario de Datos (sólo Notas) 7-46 Diccionario de Datos: Ejemplos de Uso 7-47 Resumen 7-48 Visión General de la Práctica: Administración de Objetos de Esquema 7-49

8 Gestión de Datos y Simultaneidad

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 9: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

ix

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

9 Gestión de Datos de Deshacer

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

10 Implementación de Seguridad de Oracle Database

Objetivos 10 -2 Requisitos de Seguridad de la Industria 10 -3 Requisitos de Seguridad (sólo Notas) 10 -4 Separación de Responsabilidades 10 -5 Seguridad de la Base de Datos 10 -6 Seguridad de la Base de Datos (sólo Notas) 10 -7 Principio de Privilegio más Bajo 10 -8 Aplicación del Principio de Privilegio Más Bajo 10 -9 Aplicación del Principio de Privilegio Más Bajo (sólo Notas) 10 -10 Control de Actividades Sospechosas 10 -11 Auditoría de la Base de Datos Estándar 10 -12 Activación de Auditoría 10 -13 Pistas de Auditoría Uniformes 10 -14 Página de Auditoría de Enterprise Manager 10 -16 Especificación de Opciones de Auditoría 10 -17 Uso y Mantenimiento de la Información de Auditoría 10 -18

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 10: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

x

Auditoría Basada en Valores 10 -19 Auditoría Basada en Valores (sólo Notas) 10 -20 Auditoría Detallada 10 -21 Política de FGA 10 -22 Política de FGA (sólo Notas) 10 -23 Sentencia DML Auditada: Consideraciones 10 -24 Instrucciones de FGA 10 -25 Auditoría de DBA 10 -26 Mantenimiento de la Pista de Auditoría 10 -27 Actualizaciones de Seguridad 10 -28 Aplicación de Parches de Seguridad 10 -29 Resumen 10 -30 Visión General de la Práctica: Implementación de Seguridad de Oracle Database 10 -31

11 Configuración del Entorno de Red de Oracle

Objetivos 11 -2 Servicios de Red de Oracle 11 -3 Listener de Red de Oracle 11 -4 Establecimiento de Conexiones de Red 11 -5 Establecimiento de una Conexión 11 -6 Sesiones de Usuario 11 -7 Herramientas para Configurar y Gestionar la Red de Oracle 11 -8 Utilidad Listener Control 11 -9 Sintaxis de la Utilidad Listener Control 11 -10 Sintaxis de la Utilidad Listener Control (sólo Notas) 11 -11 Página Inicial del Listener 11 -12 Página Net Services Administration 11 -13 Creación de un Listener 11 -14 Adición de Direcciones de Listener 11 -15 Registro de Servicio de Base de Datos 11 -16 Métodos de Nomenclatura 11 -17 Conexión Sencilla 11 -18 Nomenclatura Local 11 -19 Nomenclatura de Directorios 11 -20 Método de Nomenclatura Externa 11 -21 Configuración de Alias de Servicio 11 -22 Opciones de Conexión Avanzada 11 -23 Opciones de Conexión Avanzada (sólo Notas) 11 -24 Prueba de la Conectividad de Red de Oracle 11 -25 User Sessions: Servidor Dedicado 11 -26 User Sessions: Servidores Compartidos 11 -27

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 11: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

xi

SGA y PGA 11 -28 Servidor Compartido: Pool de Conexiones 11 -29 Cuándo No se Debe Utilizar un Servidor Compartido 11 -30 Resumen 11 -31 Visión General de la Práctica: Trabajar con los Componentes de Red de Oracle 11 -32

12 Mantenimiento Proactivo

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 12: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

xii

13 Gestión de Rendimiento Objetivos 13 -2 Supervisión del Rendimiento 13 -3 Control del Rendimiento: Top Sessions 13 -7 Control del Rendimiento: Top Services 13 -8 Asesor de Ajustes SQL: Visión General 13 -9 Recomendaciones y Opciones del Asesor de Ajustes SQL 13 -10 Uso del Asesor de Ajustes SQL 13 -11 Uso del Asesor de Ajustes SQL: Ejemplo 13 -12 Uso del Asesor de Ajustes SQL: Ejemplo (sólo Notas) 13 -13 Asesor de Ajustes SQL: Estadísticas SQL 13 -14 Asesor de Ajustes SQL: Identificación de SQL Duplicados 13 -15 Uso del Asesor de Acceso SQL 13 -16 (Sólo Notas) 13 -17 Gestión de los Componentes de la Memoria 13 -18 Activación de la Gestión Automática de Memoria Compartida (ASMM) 13 -19 Activación de la Gestión Automática de Memoria Compartida (ASMM) (sólo Notas) 13 -20 Definición Manual de la Gestión de Memoria Compartida 13 -21 Uso del Asesor de Memoria 13 -22 Estadísticas de Rendimiento Dinámicas 13 -23 Estadísticas de Rendimiento Dinámicas (sólo Notas) 13 -24 Vistas de Solución de Problemas y de Ajustes 13 -25 Objetos No Válidos o No Utilizables 13 -26 Objetos No Válidos o No Utilizables (sólo Notas) 13 -27 Resumen 13 -28 Visión General de la Práctica: Control y Mejora del Rendimiento 13 -29

14 Conceptos de Copia de Seguridad y Recuperación

Objetivos 14 -2 Parte de su Trabajo 14 -3 Categorías de Fallos 14 -4 Fallo de Sentencia 14 -5 Fallo de Proceso de Usuario 14 -6 Fallo de Red 14 -7 Error del Usuario 14 -8 Error del Usuario (sólo Notas) 14 -9 Fallo de la Instancia 14 -10 Procesos en Segundo Plano y Recuperación: Punto de Control (CKPT) 14 -11 Procesos en Segundo Plano y Recuperación: Archivos Redo Log y Escritor de Log 14 -13 Procesos en Segundo Plano y Recuperación: Proceso de Archivado (ARCn) 14 -14 Recuperación de Instancias 14 -15

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 13: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

xiii

Fases de la Recuperación de Instancias 14 -16 Ajuste de la Recuperación de Instancias 14 -17 Uso del Asesor de MTTR 14 -18 Fallo del Medio Físico 14 -19 Configuración de Recuperabilidad 14 -20 Archivos de Control 14 -21 Archivos Redo Log 14 -22 Multiplexión del Redo Log 14 -23 Archivos Archive Log 14 -24 Archivo Archive Log: Nomenclatura y Destinos 14 -25 Archivos Archive Log: Nomenclatura y Destinos (sólo Notas) 14 -26 Modo ARCHIVELOG 14 -27 Resumen 14 -28 Visión General de la Práctica: Configuración de Recuperabilidad 14 -29

15 Realización de Copias de Seguridad de Bases de Datos

Objetivos 15 -2 Soluciones de Copia de Seguridad: Visión General 15 -3 Oracle Secure Backup 15 -4 Copia de Seguridad Gestionada por Usuario 15 -5 Terminología 15 -6 Recovery Manager (RMAN) 15 -9 Configuración de Valores de Copia de Seguridad 15 -10 Planificación de Copias de Seguridad: Estrategia 15 -12 Planificación de Copias de Seguridad: Opciones 15 -13 Planificación de Copias de Seguridad: Configuración 15 -14 Planificación de Copias de Seguridad: Planificación 15 -15 Planificación de Copias de Seguridad: Revisión 15 -16 Copia de Seguridad del Archivo de Control en un Archivo de Rastreo 15 -17 Copia de Seguridad del Archivo de Control en un Archivo de Rastreo (sólo Notas) 15 -18 Gestión de Copias de Seguridad 15 -19 Área de Recuperación de Flash 15 -20 Resumen 15 -21 Visión General de la Práctica: Creación de Copias de Seguridad de Bases de Datos 15 -22

16 Recuperación de Bases de Datos

Objetivos 16 -2 Apertura de una Base de Datos 16 -3 Apertura de una Base de Datos (sólo Notas) 16 -4 Cambio del Estado de la Instancia 16 -5 Mantenimiento de una Base de Datos Abierta 16 -6

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 14: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

xiv

Pérdida de un Archivo de Control 16 -7 Pérdida de un Archivo Redo Log 16 -8 Pérdida de un Archivo Redo Log (sólo Notas) 16 -9 Pérdida de un Archivo de Datos en Modo NOARCHIVELOG 16 -10 Pérdida de un Archivo de Datos No Crítico en Modo ARCHIVELOG 16 -11 Pérdida de un Archivo de Datos Crítico del Sistema en Modo ARCHIVELOG 16 -12 Resumen 16 -13 Visión General de la Práctica: Recuperación de Bases de Datos 16 -14

17 Realizar Flashback

Objetivos 17 -2 Tecnología de Flashback: Ventajas 17 -3 Cuándo Utilizar la Tecnología de Flashback 17 -4 Realización de Flashback en Cualquier Error 17 -5 Flashback de Base de Datos: Visión General 17 -6 Flashback de Base de Datos: Reducción del Tiempo de Restauración 17 -7 Flashback de Base de Datos: Consideraciones 17 -8 Flashback de Base de Datos: Limitaciones 17 -9 Activación de la Función de Flashback de Base de Datos 17 -10 Flashback de Tabla: Visión General 17 -11 Flashback de Tabla 17 -12 Activación del Movimiento de Filas en una Tabla 17 -13 Realización de Flashback de Tabla 17 -14 Realización de Flashback de Tabla (sólo Notas) 17 -15 Flashback de Tabla: Consideraciones 17 -16 Flashback de Borrado: Visión General 17 -17 Flashback de Tablas Borradas mediante Enterprise Manager 17 -18 Flashback de Borrado: Consideraciones 17 -19 Acceso al Tiempo de Flashback 17 -20 Consulta de Flashback: Visión General 17 -21 Consulta de Flashback: Ejemplo 17 -22 Consulta de Flashback de Versiones: Visión General 17 -23 Consulta de Flashback de Versiones mediante Enterprise Manager 17 -24 Consulta de Flashback de Versiones: Consideraciones 17 -25 Consulta de Flashback de Transacciones: Visión General 17 -26 Consulta de Flashback de Transacciones mediante Enterprise Manager 17 -27 Consulta de Flashback de Transacciones: Consideraciones 17 -28 Resumen 17 -29 Visión General de la Práctica: Uso de Flashback 17 -30

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 15: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

xv

18 Movimiento de Datos Objetivos 18 -2 Movimiento de Datos: Arquitectura General 18 -3 Objeto de Directorio: Visión General 18 -4 Creación de Objetos de Directorio 18 -5 SQL*Loader: Visión General 18 -6 SQL*Loader: Visión General (sólo Notas) 18 -7 Carga de Datos con SQL*Loader 18 -8 Archivo de Control de SQL*Loader 18 -9 Métodos de Carga 18 -11 Comparación de las Cargas de Ruta de Acceso Directa y Convencional (sólo Notas) 18 -12 Pump de Datos: Visión General 18 -13 Pump de Datos: Ventajas 18 -15 Exportación e Importación de Pump de Datos: Visión General 18 -16 Utilidad Pump de Datos: Interfaces y Modos 18 -17 Selección de Objetos Detallada 18 -18 Función Avanzada: Creación de Ejemplos 18 -19 Opciones de Exportación: Archivos 18 -20 Ubicaciones de los Archivos de Pump de Datos 18 -21 Ubicación de los Archivos de Pump de Datos (sólo Notas) 18 -22 Planificación y Ejecución de un Trabajo 18 -23 Nomenclatura y Tamaño de los Archivos de Pump de Datos 18 -24 Importación de Pump de Datos 18 -25 Importación de Pump de Datos: Transformaciones 18 -26 Pump de Datos: Consideración del Rendimiento 18 -28 Parámetros de Inicialización de Rendimiento 18 -29 Rutas de Acceso de Pump de Datos: Consideraciones 18 -30 Uso de Enterprise Manager para Controlar Trabajos de Pump de Datos 18 -31 Relleno de Tabla Externa 18 -32 Uso de Tablas Externas 18 -33 Relleno de Tabla Externa mediante ORACLE_DATAPUMP 18 -34 Relleno de Tabla Externa mediante ORACLE_LOADER 18 -35 Diccionario de Datos 18 -36 Resumen 18 -37 Visión General de la Práctica: Movimiento de Datos 18 -38

Apéndice A: Prácticas Apéndice B: Soluciones Apéndice C: Comandos de Linux y vi Básicos

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 16: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

xvi

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 17: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Prefacio

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 18: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 19: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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 CursoOracle Database 10g: Taller de Administración I es un curso dirigido por un instructor que incluye teoría yejercicios prácticos. Las demostraciones en línea y las sesiones de prácticas escritas sirven para reforzar losconceptos y las habilidades presentados.

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 20: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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-01 Oracle Database Backup and Recovery Basics 10g Release 2 (10.2) B14192-01 Oracle Database Concepts 10g Release 2 (10.2) B14220-01 Oracle Database Licensing Information 10g Release 2 (10.2) B14199-01 Oracle Database Net Services Administrator's Guide 10g Release 2 (10.2) B14212-01 Oracle Database Net Services Reference 10g Release 2 (10.2) B14213-01 Oracle Database New Features Guide 10g Release 2 (10.2) B14214-01 Oracle Database Performance Tuning Guide 10g Release 2 (10.2) B14211-01 Oracle Database PL/SQL Packages and Types Reference 10g Release 2 (10.2) B14258-01 Oracle Database PL/SQL User's Guide and Reference 10g Release 2 (10.2) B14261-01 Oracle Database Recovery Manager Quick Start Guide 10g Release 2 (10.2) B14193-01 Oracle Database Recovery Manager Reference 10g Release 2 (10.2) B14194-01 Oracle Database Security Guide 10g Release 2 (10.2) B14266-01 Oracle Database SQL Quick Reference 10g Release 2 (10.2) B14195-01 Oracle 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 21: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Prefacio - 5

Convenciones TipográficasConvenciones Tipográficas en el Texto

Convención Elemento Ejemplo Negrita Palabras y frases

resaltadas sólo en contenido Web

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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 22: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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;

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 23: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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 guiarlea 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 24: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 25: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Copyright © 2008, Oracle. Todos los derechos reservados.

Introducción

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 26: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 27: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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ón

15. Copia de Seguridad

16. Recuperación17. Flashback18. Movimiento de

Datos

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 28: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 29: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Productos y Servicios Oracle

• Oracle Database• 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”.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 30: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Oracle Database 10g:“g” Significa Grid

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

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

GestiónAutomática de

Almacenamiento

RealApplication

Clusters

OracleStreams

EnterpriseManager

Grid Control

Grid dealmacenamiento

Grid debase de datos

Grid deaplicación

Control degrids

Oracle Database 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 gridpueden 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:

• Gestión Automática de Almacenamiento (ASM)• Real Application Clusters (RAC) • Oracle Streams • Enterprise Manager Grid Control

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 31: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Oracle Database 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 online. 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 32: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Arquitectura de Oracle Database

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 Oracle Database El 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, unservidor de Oracle tiene que impedir el acceso no autorizado y proporcionar soluciones eficaces para la recuperación ante fallos.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 33: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Estructuras de Bases de Datos

Estructuras de almacenamiento

Estructuras de memoria

Estructuras deproceso

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 base 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 Oracle Database se puede considerar 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 34: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Estructuras de Memoria de Oracle

Pool JavaCaché de

buffers de labase de datos

Buffer de redo log

Poolcompartido Pool grande

SGA

Pool deStreams

Procesode servidor

1PGA

Procesode servidor

2PGA

Proceso ensegundo

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.

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 35: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Estructuras de Memoria de Oracle (continuación) 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. Oracle Database utiliza los parámetros de inicialización para crear y configurar las estructuras de memoria. Por ejemplo, el parámetro SGA_TARGET especifica el tamaño total de la SGA. Si define SGA_TARGET en 0, se desactivará la gestión automática de memoria compartida.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 36: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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

Procesos ensegundo 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 tareas necesarias. 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 37: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Gestión de Instancias de Oracle

Monitordel sistema

(SMON)

Escritor de labase de datos

(DBWn)

Escritor de log

(LGWR)

Control deprocesos(PMON)

Procesode archivado

(ARCn)

SGA

Pool Java

Poolcompartido Pool grandePool de

Streams

Caché debuffers de la

base de datosBuffer 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 buffersde 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. FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 38: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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é debuffers de 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 buffersde 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 39: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Estructura de Base de Datos Física .

Archivos redo log online

Archivo de contraseñas

Archivo depará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

MemoriaProceso

> 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 online: 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 40: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 41: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 dedatos 1

Archivo dedatos 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 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 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 42: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Tablespaces SYSTEM y SYSAUX

• Los tablespaces SYSTEM y SYSAUX sontablespaces obligatorios.

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

• Deben estar online.• 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 gran tamaño (que dan lugar a bases de datos de hasta 8 exabytes).Un tablespace puede estar online (accesible) u offline (no accesible). El tablespace SYSTEMsiempre está online 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 online para el correcto funcionamiento de todos los componentes de base de datos.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 43: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 Bloquesde datos

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 44: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 delsistema

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. Tablespaces Una 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 almacenar fí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. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 45: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Estructuras de Bases de Datos Físicas y Lógicas (continuación)Esquemas Un esquema es una recopilación de objetos de base de datos propiedad de un usuario de la base de 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 Datos Al 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.Extensiones Al 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.Segmentos Al 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. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 46: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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. Esta 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 47: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 48: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Resumen

En esta lección, debe haber aprendido lo siguiente:• Describir los objetivos del curso• Explicar la arquitectura de la base de datos Oracle 10g

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 49: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Copyright © 2008, Oracle. Todos los derechos reservados.

Instalación del Software de Oracle Database

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 50: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 Oraclemediante Oracle Universal Installer (OUI)

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 51: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Tareas de un Administrador de Oracle Database

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 Oracle DatabaseUn 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, lostablespaces. 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 52: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Herramientas Utilizadas para AdministrarBases 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 Oracle DatabaseSe 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.

• Database Configuration Assistant (DBCA): Crea una base de datos a partir de las plantillas proporcionadas por Oracle. Permite copiar una base de datos inicialpreconfigurada. De manera alternativa, puede crear su propia base de datos y plantillas.

• Database Upgrade Assistant (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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 53: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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 formaininterrumpida 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 unabase 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 OracleEcosystem, lo que incluye lo siguiente:

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

- 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 que desee 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 54: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.• Estos 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 los requisitos mínimos para Linux. El mínimo para Windows es 256 MB, pero se recomiendan 512 MB. 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”.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 55: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Comprobación de los Requisitos del Sistema

• Espacio temporal adecuado

• Problemas de sistemas de 64 bits frente a sistemas de 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 del sistema 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 56: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 57: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 u es el nombre del propietario del directorio. Algunos ejemplos de directorios raíz compatibles con OFA son los siguientes:

/u01/app/oracle /u01/home/oracle /u01/app/oracle/product/10.2.0

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 58: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Uso de la Arquitectura Flexible Óptima (continuación)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 v es 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: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 de memoria• 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/.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 59: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 60: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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 y el 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 61: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 oCustom.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 62: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 63: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Opciones de Configuración de Base de Datos

Opciones de Configuración de Base de Datos El 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 64: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 65: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 66: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Opciones Avanzadas de Instalación

• Opciones de almacenamiento de base de datos:– Sistema de archivos– 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 EnterpriseConfiguration 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 67: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 /etc, 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 ynetca.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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 68: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 69: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 70: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 71: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Copyright © 2008, Oracle. Todos los derechos reservados.

Creación de una Base de Datos Oracle

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 72: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 73: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 almacenamiento ló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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 74: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 75: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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, cambiar la 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 76: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 77: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 78: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

5

6

7

Uso de DBCA para Crear una Base de Datos

Uso de DBCA para Crear una Base de Datos (continuación)5. Credenciales de la base de datos: Utilice esta 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. OracleManaged 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”.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 79: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 y active el proceso de archivado.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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 80: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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: - Memoria: 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) utilizarUnicode 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 81: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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. Creation Options: 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.FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 82: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Gestión de Contraseñas

A

B

C

Gestión de ContraseñasCuando 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 83: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 84: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 85: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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 redolog, 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 sobrelas 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 86: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 87: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 88: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 89: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Copyright © 2008, Oracle. Todos los derechos reservados.

Gestión de la Instancia de Oracle

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 90: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Objetivos

Al finalizar esta lección, debería estar capacitado para lo siguiente:• Iniciar y parar Oracle Database y sus componentes• Usar 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 • Ver el log de alertas• Acceder a vistas de rendimiento dinámico

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 91: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 degestión

Interfaz de gestión

obien

> Componentes SQL*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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 92: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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) 1996, 2005 Oracle Corporation. Todos los derechosreservados.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) 1996, 2005 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. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 93: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 94: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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/em Si 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 ConnectAs, 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. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 95: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Página Inicial de la Base de Datos

Páginas depropiedades

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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 96: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Uso de SQL*Plus e iSQL*Plus para Acceder a

la Base de Datos

SQL*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 la Base 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 97: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 que ya se esté utilizando dicho puerto. Busque en$ORACLE_HOME/install/portlist.ini el puerto que utiliza iSQL*Plus.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 98: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 lossiguientes 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 -shell JAZN> 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 definiren $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 FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 99: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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" username 5. Salga del shell de JAZN:

JAZN> exit

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 100: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 /nolog 3. 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 101: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 102: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 103: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 Oracle Database 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 servidor. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 104: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Parámetros de Inicialización Simplificados

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: Ejemplos El 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. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 105: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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: 2048 – -32768 (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 MB.El 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: Depende del sistema operativo.El parámetro DB_FILES especifica el número máximo de archivos de base de datos que sepuede 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 especificar este límite en kilobytes, megabytes o gigabytes. El valor mínimo es 10 MB y el máximo 4096 GB. Valor por defecto: 10 MB o el 20% del tamaño del área SGA, el valor que sea más alto. 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 sistema operativo.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: El tamaño de un gránulo, según el 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 106: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 107: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Inicio y Cierre de laBase de Datos

o bien

ComponentesSQL*PlusParámetros Inic.

> Inicio de BD Cierre 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 108: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 109: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Inicio de una Instancia de Base de Datos Oracle: NOMOUNT

OPEN

MOUNT

NOMOUNT

SHUTDOWN

Se iniciala 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>/dbs 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).

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 110: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 iniciala 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 online. Esta tarea se debe realizar en los momentos de menor uso de los objetos del tablespace.

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 untablespace offline se puede cambiar con la base de datos abierta)

• Activación y desactivación de opciones de archivado de archivos redo log online• 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 111: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 iniciala 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 online• Apertura de los archivos redo log online

Si alguno de los archivos de datos o archivos redo log online 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 online 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 para 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 112: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Cierre de una Instancia deBase de Datos Oracle

ComponentesSQL*PlusParámetros Inic.Inicio de BD

> Cierre de BD Log 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 113: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Modos de Cierre

A

No

No

No

No

T

No

No

Yes

Yes

I

No

No

No

Yes

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

Yes

Yes

Yes

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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 114: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Opciones de SHUTDOWN

Durante

SHUTDOWN NORMALo bien

SHUTDOWN TRANSACTIONAL

o bienSHUTDOWN IMMEDIATE

Base de datos consistente(base de datos limpia)

Durante el descenso:• Se realiza un

rollback de loscambios sin confirmar paraIMMEDIATE

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

• Se liberan losrecursos

Durante el ascenso:• No hay

recuperación de instancias

Opciones de SHUTDOWNSHUTDOWN NORMAL

El 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 TRANSACTIONAL

Un cierre transaccional impide que los clientes pierdan los datos, incluyendo los resultados de su actividad actual. El cierre transaccional de la base de datos 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 115: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 116: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 unrollback de los cambios sin confirmar

Durante el ascenso:• Los archivos redo

log online se utilizan para volver a aplicar los cambios

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

• Se liberan losrecursos

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

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 117: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 118: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 119: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 120: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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:

• 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étricas

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 121: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Vistas de Rendimiento Dinámico:Ejemplos de Uso

SQL> SELECT sql_text, executions FROM v$sqlWHERE 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?FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 122: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 123: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Resumen

En esta lección, debe haber aprendido lo siguiente:• Iniciar y parar Oracle Database 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 • Ver el log de alertas• Acceder a vistas de rendimiento dinámico

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 124: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 125: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Copyright © 2008, Oracle. Todos los derechos reservados.

Gestión de Estructuras de Almacenamiento de Bases de Datos

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 126: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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)

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 127: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Estructuras de Almacenamiento

Base de datos

Tablespace

Segmento

Extensión

Bloque de datosde Oracle

Lógica Física

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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 128: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 129: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 130: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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– Son un repositorio para datos de objetos de esquema

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

tablespace y una base de datos– Son los archivos subyacentes que

componen un tablespace

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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 131: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 132: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 extensiones libres o usadas.– 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 tablespacesgestionados localmente.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 133: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 Almacenamiento Las 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 134: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 Tablespacessituado 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 tablespacegestionado 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. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 135: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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 valorMaximum 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 136: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Almacenamiento de TablespacesGestionados 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 de un tamaño especificado. El tamaño por defecto es 1 MB. Todas las extensiones de tablespacestemporales son uniformes y presentan ese valor por defecto. No puede especificar Uniformpara 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 elbitmap. Con los bitmaps, la base de datos Oracle gestiona el espacio libre de forma másautomática y, por este motivo, este método de gestión de espacio se denomina gestión automática de espacio de segmento (ASSM).

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 137: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Almacenamiento de Tablespaces Gestionados Localmente (continuación)• Manual: Especifica que desea utilizar listas 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 tablespacesgestionados 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.Logging Los cambios que se realizan en los objetos en el tablespace se escriben en el redo log. Si el registro no está activado, las cargas directas con SQL*Loader y las operaciones INSERT de carga directa no se escriben en el redo log y, por lo tanto, los 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 Information Esta 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 138: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 SYSAUX mediante EM. Si se detecta que un componente ocupa demasiado espacio del tablespace SYSAUX o si se prevé que lo haga, cabe la posibilidad de moverlo a otro tablespace si se selecciona uno de los ocupantes y se hace clic en Change Tablespace.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 139: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 140: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 141: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Modificación de un Tablespace (continuación) • Offline: Puede hacer que un tablespace online esté offline 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 offlineinmediatamente 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 142: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 143: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 deltablespace. Esta opción aparece sólo si, actualmente, no se puede escribir en el tablespace. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 144: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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 deltablespace, incluido un mapa gráfico de todas las extensiones.

• Take Offline: Hace que deje de estar disponible un tablespace que actualmente está online. El tablespace no se suprime ni borra, simplemente no está disponible.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 145: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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. Además, si utiliza OMF, se eliminan los archivos del sistema operativo subyacentes. De lo contrario, sin OMF, puede indicar opcionalmente al servidor de Oracle que suprima los archivos del sistema operativo (archivos de datos) que constituyen el tablespaceborrado. 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 eltablespace. El tablespace puede estar online u offline, pero es mejor que se ponga offline antes de borrarlo. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 146: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 147: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Recopilación de Información de Almacenamiento

Recopilación de Información de Almacenamiento Para 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 148: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Visualización de Contenido de Tablespaces

12061_1_sel_ts_3

Visualización de Contenido de Tablespaces En 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 149: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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

SYSTEMTablespace

INVENTORYTablespace

Base de datos

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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 150: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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

portátil 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 ApplicationClusters (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. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 151: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 152: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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. A 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 153: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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)

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 154: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 155: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Copyright © 2008, Oracle. Todos los derechos reservados.

Administración de la Seguridad del Usuario

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 156: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 con 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 157: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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

> El usuario Autenticació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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 158: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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”.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 159: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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)• A la cuenta SYSTEM se le otorga 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 denominadajim_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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 160: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 161: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Autenticación de Usuarios

• Password• External• Global

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 162: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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 Oracle Advanced Security Option, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 163: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Autenticación de AdministradoresSeguridad 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 no utiliza 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 164: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 165: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

El usuarioAutenticación

> Privilegio RolPerfilSeguridad 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 quien se le haya proporcionado explícitamente permiso para administrar el privilegio. Existen 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 166: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 167: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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 and 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 auditoría. 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.FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 168: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Privilegios de Objeto

Para otorgar privilegios deobjeto, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 169: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

GRANT

REVOKE

Revocación de Privilegios del Sistemacon ADMIN OPTION

REVOKE CREATE TABLE FROM jeff;

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

Resultado La 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 170: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

GRANT

REVOKE

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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 171: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Ventajas de losRoles

• Gestión de privilegios más sencilla• Gestión de privilegios dinámica• Disponibilidad selectiva de privilegios

El usuarioAutenticaciónPrivilegio

> Rol PerfilSeguridad 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.FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 172: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 6-18

Copyright © 2008, Oracle. Todos los derechos reservados.

Asignación de Privilegios a Roles y deRoles a Usuarios

Usuarios

Privilegios

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 173: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 6-19

Copyright © 2008, 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 Funcionales Se 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 174: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 6-20

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 175: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 6-21

Copyright © 2008, Oracle. Todos los derechos reservados.

CREATE ROLE secure_application_roleIDENTIFIED USING <nombre_procedimiento_seguridad>;

Roles Seguros• Los roles pueden no ser roles por defecto.

• Los roles se pueden proteger mediante la autenticación.

• Los roles también se pueden proteger mediante programación.

SET ROLE vacationdba;

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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 176: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 6-22

Copyright © 2008, 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. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 177: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 6-23

Copyright © 2008, 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

El usuarioAutenticaciónPrivilegioRol

> Perfil Seguridad 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 178: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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/Callestá 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 179: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 6-25

Copyright © 2008, Oracle. Todos los derechos reservados.

Implementación de las Funciones

de Seguridad con Contraseña

Historial decontraseñas

Bloqueo decuentas

Antigüedad y vencimiento

de contraseñas

Verificación de la complejidad de las

contraseñas

Usuario Configuraciónde 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ña Cuota

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 éste sepa la razón.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 180: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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 de 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).

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 181: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 6-27

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 182: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 6-28

Copyright © 2008, 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 crear su 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 elperfil 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 seespecifique otro.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 183: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 6-29

Copyright © 2008, 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• Ilimitado

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

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 184: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 185: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 6-31

Copyright © 2008, 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 186: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 6-32

Copyright © 2008, 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 187: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Copyright © 2008, Oracle. Todos los derechos reservados.

Gestión de Objetos de Esquema

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 188: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Objetivos

Al finalizar esta lección, debería estar capacitado paralo siguiente:• Definir objetos de esquema y tipos de datos• 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 189: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 unapersona, sino una aplicación. Un esquema tiene el mismo nombre que el usuario propietario delesquema. 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 untablespace. Puede definir configuraciones de modo que los objetos de un esquema puedan estaren diferentes tablespaces, y un tablespace pueda contener objetos de diferentes esquemas.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 190: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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 especialimportancia:

• 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 deSeguridad 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 incluyenlo 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 191: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 lapá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 unobjeto concreto. Además, puede buscar otros tipos de objetos en la región Search seleccionandoel 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 192: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Nomenclatura de Objetos de Base de Datos

• Los nombres deben tener de 1 a 30 bytes delongitud 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 ladiapositiva. Sin embargo, no se recomienda esta operación porque si asigna un nombre a unobjeto 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 amayúsculas/minúsculas. Cuando se procesa una sentencia SQL, los nombres sin entrecomillar seconvierten a mayúsculas. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 193: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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 decaracteres de la base de datos y el carácter de subrayado (_), el signo del dólar ($) y el signo dealmohadilla numérica (#). Los enlaces de base de datos también pueden contener puntos (.) y elsigno 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 194: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-8

Copyright © 2008, Oracle. Todos los derechos reservados.

Especificación de Tipos de Dato en Tablas

Tipos de dato comunes:• CHAR(size [BYTE|CHAR]): Datos de tipo carácter de

longitud fija en bytes o caracteres especificada porsize

• VARCHAR2(size [BYTE|CHAR]): Cadena decaracteres 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 unprocedimiento 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 ocaracteres especificada por size. El tamaño máximo es 4.000 bytes. Debe especificar eltamañ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. Elrango de escala es de -84 a 127. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 195: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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 deancho 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 decolumna, la base de datos Oracle rellena en blanco el valor hasta alcanzar la longitud de lacolumna. 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. Escomo NCHAR, excepto en que la longitud máxima es 4.000 bytes y que no se rellena enblanco.

• LONG: Es un dato de carácter de longitud variable, hasta 2 GB o 231 -1 bytes. El tipo dedato 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 la base

de datos. Este tipo de dato es principalmente para valores devueltos por la pseudocolumnaROWID.

• 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. Eltamañ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 eljuego de caracteres de la base de datos CHAR.FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 196: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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 elnúmero de bytes que se van a asignar para la manipulación de LOB. Si el tamaño no es unmúltiplo del tamaño del bloque de base de datos, la base de datos redondea en bytes hastael siguiente múltiplo. Por ejemplo, si el tamaño del bloque de base de datos es 2.048 y eltamaño de CHUNK es 2.050, la base de datos asigna 4.096 bytes (2 bloques). El valormáximo es 32.768 (32 K), que es el mayor tamaño del bloque de base de datos Oraclepermitido. 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 LOBexternos 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 dedí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 elusuario, consulte Oracle Database SQL Reference.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 197: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-11

Copyright © 2008, Oracle. Todos los derechos reservados.

Creación y Modificación de Tablas

Especificar elnombre de la tablay el esquema.

Especificar los nombres decolumna, los tipos de datoy 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 yfilas.Creación de una Tabla Para 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áginaTables.

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. Aparece la ventana Search and Select:Schema. Puede examinar los nombres de esquema y seleccionar el que esté buscando.

3. Haga clic en Create. Aparece 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. FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 198: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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 Tabla Puede modificar una tabla con Enterprise Manager, tal como se describe en los pasos siguientes. En este ejemplo, se agrega una columna a la tabla.

1. En la 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 199: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 entradade 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 deuna 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 filasde la tabla EMPLOYEES.

• Clave UNIQUE: Una restricción de integridad de clave UNIQUE necesita que todos losvalores de una columna o juego de columnas (clave) sean únicos; es decir, que no haya dosfilas 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 columnaDEPARTMENT_NAME de la tabla DEPARTMENTS para no permitir filas con nombres dedepartamento 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 200: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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 Oraclegarantiza que se cumplan las dos condiciones siguientes:

- No puede haber dos filas de una tabla que tengan valores duplicados en la columna ojuego 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 columnaDEPARTMENT_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 reglasde integridad referencial garantizan que se mantengan estas relaciones. Una restricción deintegridad 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 tablaEMPLOYEES. De esta forma se garantiza que todos los valores de esta columna coincidancon 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 tablaEMPLOYEES.

• Restricciones de control: Otro tipo de restricción de integridad referencial se denomina restricción de integridad de autorreferencia. Este tipo de clave ajena hace referencia a unaclave principal de la misma tabla.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 201: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 202: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, 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 larestricció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 filaprincipal.FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 203: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Estados de Restricciones

ENABLENOVALIDATE

ENABLEVALIDATE

Datos existentes

Datos nuevos

DISABLENOVALIDATE

DISABLEVALIDATE

Sin DML

Estados de RestriccionesPara abordar mejor las situaciones en las que los datos deben estar temporalmente en estado deviolació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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 204: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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.

• DISABLE VALIDATE: 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 NOVALIDATE: Los datos nuevos y existentes se ajustan a la restricción. Éste es el estado habitual y por defecto de una restricción.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 205: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-19

Copyright © 2008, Oracle. Todos los derechos reservados.

Comprobación de Restricciones

Caso: Sentencia DML, seguida de COMMIT

Restricciones sin diferir comprobadas

COMMIT emitida

Restricciones sin diferir comprobadasCOMMIT 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. Siuna restricción provoca una acción, por ejemplo, delete cascade, ésta se lleva a cabo comoparte de la sentencia que la ha ocasionado. Las restricciones definidas como no diferibles no sepueden cambiar a diferibles.Las restricciones diferidas son aquellas que sólo se comprueban cuando se confirma una transacción. Si en el momento de la confirmación (COMMIT) se detecta alguna violación derestricció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 seintroducen al mismo tiempo, como en el caso de un sistema de entrada de pedidos en el que elpedido 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 206: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-20

Copyright © 2008, 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 latabla COUNTRIES tienen que tener un valor COUNTRY_NAME que sea único. Sin embargo, es posible que cuando se emite esta sentencia, ya existan valoresCOUNTRY_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. Larestricció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, elsistema asigna un nombre, que empieza por SYS_.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 207: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-21

Copyright © 2008, 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 Administration. 2. Seleccione una tabla de la lista de resultados y haga clic en el botón View para ver los

atributos de la tabla.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 208: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-22

Copyright © 2008, 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 laregió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 lacolumna en orden ascendente o descendente. Si desea cambiar la consulta, haga clic en el botónRefine 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 209: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-23

Copyright © 2008, 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 210: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-24

Copyright © 2008, 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 secolocan en una papelera de reciclaje.

• Los datos de la tabla permanecen, pero no resultan accesibles sin la definición de tabla. Siborra una tabla a través de Enterprise Manager, la cláusula PURGE no se utiliza.Utilice elcomando FLASHBACK TABLE para recuperar objetos de esquema de la papelera dereciclaje. El comando PURGE RECYCLEBIN vacía la papelera de reciclaje.

• La opción CASCADE CONSTRAINTS es necesaria para suprimir todas las restricciones deintegridad referencial dependientes.

Nota: Si no utiliza la opción PURGE, el espacio que ocupa la tabla y sus índices sigue contandoen la cuota permitida del usuario para los tablespaces implicados. Es decir, todavía se considera que ese espacio se está utilizando.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 211: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-25

Copyright © 2008, Oracle. Todos los derechos reservados.

Truncamiento de una Tabla

• El truncamiento de una tabla hace que sus datosde 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 212: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-26

Copyright © 2008, Oracle. Todos los derechos reservados.

Índices

22

22

Índice Tabla

ClavePunterode fila

… WHERE key = 22

Esquema Restricciones

> Índices VistasSecuenciasTablas TemporalesDiccionario de Datos

ÍndicesLos índices son estructuras opcionales asociadas a las tablas. Se pueden crear para mejorar elrendimiento 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, elservidor 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, sepropagan automáticamente a todos los índices relevantes con completa transparencia para losusuarios.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 213: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-27

Copyright © 2008, 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 nocontener dichos valores.

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 labúsqueda resultaría muy poco eficaz. Utilice índices de bitmap en columnas de baja cardinalidad.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 214: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-28

Copyright © 2008, 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 B Al 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 a su vez apuntan a los bloques delsiguiente 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 índice Una entrada de índice está formada por los siguientes componentes:

• Una cabecera de entrada, que almacena el número de columnas y la información debloqueo

• Pares longitud-valor de columna clave, que definen el tamaño de una columna en la claveseguida por el valor de la columna (el número de estos pares es el número máximo decolumnas del índice)

• ROWID de una fila que contiene los valores clave

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 215: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-29

Índice de Árbol B (continuación)Características de las entradas de hojas del índice En un índice de árbol B de una tabla no particionada:

• Si hay varias filas con la misma clave los valores clave se repiten a no ser que el índice esté comprimido.

• No existen entradas de índice correspondientes a una fila cuyas columnas de clave tenganel 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 latabla, dado que todas las filas pertenecen al mismo segmento.

Efecto de las operaciones DML en índices El servidor de Oracle mantiene todos los índices cuando las operaciones DML se realizan en latabla. 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 elbloque 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 elmomento 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 216: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-30

Copyright © 2008, 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>

ClaveInicioROWID

FinROWID 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 serpreferibles 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 condicionesWHERE 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 bitmap El í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 unposible 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. FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 217: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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 elejemplo, 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 filacero 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. Elservidor 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 filadel bloque y el ROWID final es un puntero a la última fila de la tabla incluida en el segmento de bitmap. Los índices de bitmap son ROWID restringidos.Uso de un índice de bitmap El árbol B se utiliza para localizar los nodos hoja que contienen segmentos de bitmap para un valor dado de la clave. El ROWID inicial y los segmentos de bitmap se utilizan para localizar las filas que contienen el valor clave.Cuando se realizan cambios en la columna de clave de la tabla, se deben modificar los bitmaps. El resultado es que se bloquean los segmentos de bitmap relevantes. Como los bloqueos seadquieren en todo el segmento de bitmap, otras transacciones no pueden actualizar una fila incluida en el bitmap hasta que termine la primera transacción.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 218: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-32

Copyright © 2008, Oracle. Todos los derechos reservados.

Opciones de Índice

• Un índice único garantiza que todo valor indexado es único.

• Un índice puede tener almacenados sus valoresclave en orden ascendente o descendente.

• Un índice de clave inversa tiene almacenados susbytes de valores clave en orden inverso.

• Un índice compuesto es aquel basado en más deuna 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 lasclaves en orden descendente. Esta decisión se debe tomar en función de cómo se acceda a losdatos 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 enesa área de la estructura del índice. Los índices de clave inversa reparten esa actividad entre laestructura 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);

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 219: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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 ON TREES(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 yejecutarse 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 220: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-34

Copyright © 2008, 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áginaAdministration 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 enuna 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 221: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-35

Copyright © 2008, 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

Ver

Esquema RestriccionesÍndices

> Vistas …

¿Qué es una Vista?Las vistas son representaciones personalizadas de datos de una o más tablas u otras vistas. Sepueden considerar como consultas almacenadas dado que pueden ocultar condiciones muy complejas, uniones y otras expresiones y construcciones SQL complejas. Las vistas en realidadno contienen datos, sino que derivan sus datos de las tablas en las que se basan. Estas tablas sedenominan tablas base de la vista.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 222: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-36

Copyright © 2008, Oracle. Todos los derechos reservados.

Creación de Vistas

Creación de VistasAl igual que con las tablas, se pueden realizar consultas, actualizaciones, inserciones ysupresiones en las vistas, pero con algunas restricciones. Todas las operaciones realizadas en unavista en realidad afectan a las tablas base de la vista. Las vistas proporcionan un nivel adicionalde 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 lacabecera Schema de la página Administration.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 223: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-37

Copyright © 2008, Oracle. Todos los derechos reservados.

SecuenciasUna 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 odescendente.

• El intervalo entre números puede ser de cualquier tamaño.

• Una secuencia puede crear un ciclo cuando sealcanza un límite.

12345

Esquema RestriccionesÍndicesVistas

> Secuencias Tablas TemporalesDiccionario de Datos

SecuenciasPara recuperar el siguiente valor de una secuencia, se hace referencia a ella por su nombre; noexiste 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 sedefina como cíclica. En ocasiones, una aplicación solicita que un valor no deje nunca deutilizarse o de almacenarse en la base de datos. Esto puede dar lugar a intervalos vacíos en losnú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 aintervalos vacíos. Nota: Si una aplicación necesita que no haya intervalos vacíos, la aplicación debe implementarun generador de números personalizados. No obstante, este método puede producir unrendimiento muy deficiente. Si utiliza una tabla para almacenar un valor, y ese valor loincrementa y actualiza la tabla para cada solicitud, ese proceso supondría un cuello de botella entodo el sistema. Éste es el motivo por el que cada sesión tendría que esperar ese mecanismo, elcual, para garantizar que no haya duplicados ni intervalos vacíos, sólo gestiona una solicitud a lavez.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 224: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-38

Copyright © 2008, Oracle. Todos los derechos reservados.

Creación de Secuencias

Creación de SecuenciasPuede ver y crear secuencias con Enterprise Manager haciendo clic en el enlace Sequencessituado bajo la cabecera Schema de la página Administration. Éste es un resumen de las opcionesde 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 queMaximum 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 225: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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 omenos. 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, generasu valor mínimo. Después de que una secuencia descendente alcance su mínimo, genera suvalor 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 elorden 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 dedatos 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 28dígitos o menos. El valor mínimo para este parámetro es 2. Para secuencias en ciclos, estevalor 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 226: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-40

Copyright © 2008, 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 devuelvenel nuevo valor. Cualquier referencia a CURRVAL siempre devuelve el valor actual de lasecuencia, que es el valor devuelto por la última referencia a NEXTVAL.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 227: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-41

Copyright © 2008, 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 encada 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 delas 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 latransacció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. Lassiguientes cláusulas controlan la duración de las filas: • ON COMMIT DELETE ROWS: Para especificar que la duración de las filas insertadas

equivale únicamente 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. FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 228: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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 seexportará 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 laeliminació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 pueden crearse mediante Enterprise Manager haciendo clic en la opciónTemporary 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 tablespacetemporal 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 229: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-43

Copyright © 2008, 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 seexportará 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 laeliminació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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 230: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-44

Copyright © 2008, 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 yatributos 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ónse almacena en las tablas base mantenidas por Oracle Database, 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 Oracle Database para encontrar información acerca de usuarios,objetos, restricciones y almacenamiento

• Lo mantiene el servidor de Oracle Database a medida que las estructuras o definiciones deobjetos 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 losnombres 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 231: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-45

Copyright © 2008, Oracle. Todos los derechos reservados.

Vistas del Diccionario de Datos

Vistas ALL_

Vistas DBA_

N/A

Subjuegode

Normalmente es igual queALL_ excepto por la columnaOWNER que falta. Algunasvistas tienen nombres abreviados como sinónimosPUBLIC.

Todo lo queel usuario posee

TodosUSER_

Incluye los propios objetosdel usuario

Todo para loque elusuario tiene privilegios devisualizació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_. Elsiguiente nivel de privilegios está en el nivel de prefijo ALL_, que representa todos los objetos para los que el usuario que consulta tiene privilegios de vista, tanto si es o no su propietario. Por ejemplo, si USER_A tiene permiso para acceder a una tabla propiedad de USER_B, USER_A ve esa tabla en todas las vistas ALL_ relacionadas con nombres de tabla. El prefijo USER_representa el ámbito de visibilidad 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.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 232: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 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ásaltos, que tiene en cuenta las filas y columnas. No todas las vistas de un juego de vistas dadotienen una vista correspondiente en los demás juegos de vistas. Depende de la naturaleza de lainformació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. Sedebe 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 vistaporque sabe que es algo que tiene y no desea que otros objetos se agreguen a su juego deresultados. Las vistas DBA_ pueden ser consultadas por los usuarios con el privilegio SYSDBA o SELECT ANY DICTIONARY.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 233: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-47

Copyright © 2008, 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 haaccedido?

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? Tipo --------------- -------- -------------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) FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 234: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-48

Copyright © 2008, 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 235: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 7-49

Copyright © 2008, 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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 236: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 237: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Copyright © 2008, Oracle. Todos los derechos reservados.

Gestión de Datos y Simultaneidad

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 238: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Objetivos

Al finalizar esta lección, debería estar capacitado paralo siguiente:• Gestionar datos mediante el uso de SQL• Identificar y administrar objetos PL/SQL• Describir los disparadores y los eventos

disparadores• Controlar y solucionar conflictos de bloqueo

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 239: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Manipulación de Datos mediante SQL

SQL> INSERT INTO employees VALUES2 (9999,'Bob','Builder','[email protected]',NULL,SYSDATE,3 'IT_PROG',NULL,NULL,100,90);

1 row created.

SQL> UPDATE employees SET SALARY=60002 WHERE EMPLOYEE_ID = 9999;

1 row updated.

SQL> DELETE from employees2 WHERE EMPLOYEE_ID = 9999;

1 row deleted.

> SQL PL/SQLBloqueos

Manipulación de Datos mediante SQLLas sentencias básicas del lenguaje de manipulación de datos (DML) son el modo en que semanipulan los datos en la base de datos. Aunque estas sentencias se mencionaron brevemente en la lección con el título “Movimiento de Datos”, se tratarán más detalladamente en esta lección.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 240: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Comando INSERT

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

Comando INSERT

La sentencia básica INSERT crea filas de una en una. Mediante lo que se denomina subselección, puede hacer que el comando INSERT copie filas de una tabla a otra. Este método también se denomina sentencia INSERT SELECT. El ejemplo de la diapositiva es el siguiente comando INSERT:

insert into dept_80 (select * from employees where department_id = 80);

En este caso la tabla dept_80 tiene exactamente la misma estructura que la tabla employees. Si este no es el caso, puede nombrar las columnas de cada tabla. Los valores seleccionados en lasentencia SELECT se asocian a las columnas de la tabla en la que se insertan, respectivamente. Los valores de columna coinciden en el orden especificado en las sentencias INSERT y SELECT. Todo lo que se necesita es que los tipos de dato coincidan. Por ejemplo:

insert into just_names (first, last) (select first_name, last_name from employees);

Aquí, la tabla just_names sólo tiene dos columnas que tienen el mismo tipo de dato que las columnas first_name y last_name de la tabla employees. El uso del método INSERT SELECT es un modo de cargar datos en bloque de una o más tablasen otra tabla.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 241: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Comando UPDATE

Utilice el comando UPDATE para cambiar cero o más filas de una tabla.

Comando UPDATE

El comando UPDATE se utiliza para modificar filas existentes de una tabla. El número de filas modificadas por el comando UPDATE depende de la condición WHERE. Si se omite la cláusulaWHERE, se cambian todas las filas. Si ninguna fila cumple la condición WHERE, no se realizarán modificaciones.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 242: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Comando DELETE

Utilice el comando DELETE para eliminar cero o más filas de una tabla.

Comando DELETE

El comando DELETE se utiliza para eliminar filas existentes de una tabla. El número de filas modificadas por el comando DELETE depende de la condición WHERE. Si se omite la cláusulaWHERE, se eliminan todas las filas. Si ninguna fila cumple la condición WHERE, no se eliminará ninguna fila. Tenga en cuenta en el ejemplo que cuando no se suprime ninguna fila, no es un error; el mensaje devuelto sólo indica que se han eliminado cero filas de la tabla.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 243: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-7

Copyright © 2008, Oracle. Todos los derechos reservados.

Comando MERGE

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

Comando MERGE

El comando MERGE realiza las acciones de UPDATE e INSERT en el mismo comando. Puede fusionar datos de un origen de datos con otro, insertar de manera opcional filas nuevas yactualizar columnas específicas si ya existe una fila.Considere este ejemplo: Algunos datos de la tabla JOBS tienen el siguiente aspecto:

JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY ---------- -------------- ---------- ----------AD_PRES President 20000 40000 FI_ACCOUNT Accountant 4200 9000 ST_CLERK Stock Clerk 2000 5000 IT_PROG Programmer 4000 10000

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 244: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-8

Comando MERGE (continuación)A continuación se muestra el contenido de la tabla JOBS_ACQUISITION:

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

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 245: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-9

Copyright © 2008, Oracle. Todos los derechos reservados.

Comandos COMMIT y ROLLBACK

Los siguientes comandos se utilizan para terminar una transacción:• COMMIT: Hace que el cambio sea permanente • ROLLBACK: Deshace el cambio

Comandos COMMIT y ROLLBACKPor defecto, cada comando DML que se introduce no está confirmado. Varias herramientas(incluida iSQL*Plus) tienen opciones que se pueden definir para confirmar cada comando o ungrupo de comandos. Antes de emitir COMMIT o ROLLBACK, los cambios tienen un estado pendiente. Sólo el usuario que ha realizado el cambio puede ver los datos cambiados. Otros usuarios pueden seleccionar losmismos datos, pero los verán como estaban antes de realizar cualquier cambio. Ningún otro usuario puede emitir DML en los mismos datos que otro usuario ha cambiado.Por defecto, un usuario que intente realizar un cambio en la misma fila que otro usuario tiene que esperar a que el primer usuario confirme el cambio o realice un rollback. El mecanismo debloqueo de la base de datos Oracle controla esta operación de forma automática. Puesto que elmecanismo de bloqueo está incorporado en la propia fila, es imposible que la base de datos sequede sin bloqueos.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 246: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-10

Copyright © 2008, Oracle. Todos los derechos reservados.

PL/SQL

La extensión de lenguaje de procedimiento para SQL (PL/SQL) de Oracle es un lenguaje de programación decuarta generación (4GL). Proporciona:• Extensiones de procedimiento a SQL• Portabilidad entre plataformas y productos• Mayor nivel de seguridad y de protección de la

integridad de los datos• Soporte para programación orientada a objetos

SQL> PL/SQL

Bloqueos

PL/SQLPL/SQL es un lenguaje de programación de cuarta generación propietario de Oracle que proporciona extensiones de procedimiento a SQL. PL/SQL proporciona un entorno deprogramación común para las aplicaciones y las bases de datos Oracle independientemente delsistema operativo o de la plataforma de hardware. Con PL/SQL, puede manipular datos con sentencias SQL y controlar el flujo de programas conestructuras de procedimientos como IF-THEN, CASE y LOOP. También puede declarar constantes y variables, definir procedimientos y funciones, utilizar recopilaciones y tipos deobjetos, e interrumpir errores de tiempo de ejecución. El programa PL/SQL también puede llamar a programas escritos en otros lenguajes como C, C++ y Java. PL/SQL también proporciona protección de los datos. El emisor necesita conocer las estructurasde datos que se están leyendo o manipulando para realizar la llamada. Asimismo, también necesita tener permiso para acceder a esos objetos; si el emisor tiene permiso para ejecutar elprograma PL/SQL, es todo lo que necesita. De manera opcional, existe otro modo de permisos para llamar a PL/SQL en el que el emisor tiene que disponer de permiso para ejecutar cada sentencia que se ejecute durante el programa llamado. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 247: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

PL/SQL (continuación)Puesto que se ejecuta en la base de datos, el código PL/SQL es muy eficaz para las operaciones que utilizan muchos datos y minimiza el tráfico de red en las aplicaciones. Para obtener más información sobre estructuras de procedimientos y usos de PL/SQL, consulte ladocumentación PL/SQL User’s Guide and Reference.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 248: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Administración de Objetos PL/SQL

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

solucionar problemas

Administración de Objetos PL/SQLComo DBA, normalmente no es responsable de cargar el código PL/SQL en la base de datos nide ayudar a los desarrolladores a solucionar problemas. En general tampoco se espera que escriba aplicaciones mediante el uso de PL/SQL, pero debería estar suficientemente familiarizado con los diferentes objetos PL/SQL para realizar recomendaciones a losdesarrolladores de aplicaciones e identificar objetos con problemas. En Database Control, puede acceder a objetos PL/SQL si hace clic en el separadorAdministration situado bajo Schema. Al hacer clic en el tipo de objeto, puede visualizar,modificar y crear el tipo de objeto PL/SQL seleccionado.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 249: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Objetos PL/SQL

Existen muchos tipos de objetos de base de datosPL/SQL:• Paquete• Cuerpo del paquete• Cuerpo del tipo• Procedimiento• Función• Disparador

Objetos PL/SQL• Paquete: Un paquete es una recopilación de procedimientos y funciones que están

relacionados lógicamente. Esta parte del paquete también se denomina especificación y describe la interfaz para las aplicaciones; declara los tipos, variables, constantes,excepciones, cursores y subprogramas disponibles para su uso.

• Cuerpo del paquete: El cuerpo define totalmente los cursores y subprogramas, y de este modo implementa la especificación. El cuerpo contiene los detalles de implementación ylas declaraciones privadas, que están ocultas para el emisor.<0}

• Cuerpo del tipo: Es una recopilación de métodos (procedimientos y funciones) asociadosa los tipos de dato definidos por el usuario. Para obtener más información sobre los tipos dedato definidos por el usuario, consulte Oracle Database Application Developer’s Guide –Object Relational Features.

• Procedimiento: Un procedimiento es un bloque PL/SQL que realiza una acción concreta.• Función: Una función es un bloque PL/SQL que devuelve un único valor mediante el

comando PL/SQL RETURN. Es un procedimiento que tiene un valor de retorno.• Disparador: Un disparador es un bloque PL/SQL que se ejecuta cuando se produce un

evento concreto en la base de datos. Estos eventos se pueden basar en una tabla, por ejemplo, cuando se inserta una fila en la tabla. También pueden ser eventos de base dedatos, como cuando un usuario se conecta a la base de datos.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 250: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-14

Copyright © 2008, Oracle. Todos los derechos reservados.

Funciones

FuncionesLas funciones PL/SQL se utilizan normalmente para calcular un valor. Existen muchas funciones incorporadas como SYSDATE, SUM, AVG y TO_DATE. Los desarrolladores también crean sus propias funciones al escribir aplicaciones. El código para una función PL/SQL debe contener una sentencia RETURN. Para crear funciones PL/SQL hay que introducir un nombre, un esquema y un código de origen, como se muestra en la diapositiva. La función compute_tax mostrada en la diapositiva se crea con el siguiente comando SQL:

CREATE OR REPLACE FUNCTION compute_tax (salary NUMBER) RETURN NUMBER AS BEGIN

IF salary<5000 THEN RETURN salary*.15;

ELSE RETURN salary*.33;

END IF; END; / FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 251: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Procedimientos

• Se utilizan para realizar una acción concreta. • Transfieren valores de entrada y salida mediante

una lista de argumentos• Se puede llamar mediante:

– El comando CALL, que es una sentencia SQL– El comando EXECUTE, que es un comando

SQL*Plus

ProcedimientosLos procedimientos PL/SQL realizan una acción concreta. Al igual que las funciones, losprocedimientos pueden aceptar valores de entrada y realizar sentencias condicionales como IF-THEN, CASE y LOOP.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 252: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Paquetes

Los paquetes son recopilaciones de funciones yprocedimientos. Cada paquete debe constar de dosobjetos:• Especificación del paquete• Cuerpo del paquete

Especificación del paquete

PaquetesLos paquetes son recopilaciones de funciones y procedimientos. Existen ventajas de rendimientoy mantenimiento al agrupar funciones y procedimientos en un único paquete. Cada paquete debe estar formado por dos objetos de base de datos compilados por separado:

• Especificación del paquete: Este objeto (en ocasiones denominado cabecera del paquete)tiene un tipo de objeto PACKAGE y sólo contiene la definición de los procedimientos,funciones y variables del paquete.

• Cuerpo del paquete: Este objeto tiene un tipo de objeto PACKAGE BODY y contiene elcódigo real de los subprogramas definidos en la especificación del paquete.

Los procedimientos y funciones que se llaman desde un paquete se llaman mediante una notación de puntos:

nombre_paquete.nombre_procedimiento o nombre_función

En el paquete que se muestra en la diapositiva, los subprogramas se pueden llamar de lasiguiente forma:

SQL> SELECT money.compute_tax(salary) FROM hr.employees WHERE employee_id=107;

SQL> EXECUTE money.give_raise_to_all; FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 253: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Especificación y Cuerpo del Paquete

Cuerpo del PaqueteLos cuerpos de paquetes:

• Están separados de las especificaciones del paquete. Por este motivo, el código del cuerpose puede cambiar y recompilar, y otros objetos que son dependientes de la especificaciónno se marcan como no válidos.

• Contienen el código para los subprogramas definidos en la especificación del paquete.Aquí es dónde se realiza el trabajo. La especificación muestra cómo llamar a lossubprogramas del paquete; el cuerpo es la sección de código.

• No se pueden compilar a menos que la especificación del paquete ya se haya compilado.Puede crear una especificación sin cuerpo, pero no puede crear un cuerpo sinespecificación.

• Se pueden ajustar para ocultar detalles del código. Wrap es un programa autónomo que oculta código de origen PL/SQL de manera que puede entregar aplicaciones PL/SQL sinexponer este código de origen. Para obtener más información sobre el uso de Wrap,consulte PL/SQL User’s Guide and Reference.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 254: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Paquetes Incorporados

• La base de datos Oracle tiene más de 350 paquetesPL/SQL incorporados que proporcionan:– Utilidades de administración y mantenimiento– Funciones ampliadas

• Utilice el comando DESCRIBE para visualizar lossubprogramas.

Paquetes IncorporadosLos paquetes PL/SQL incorporados que se proporcionan con la base de datos Oracle proporcionan acceso a funciones ampliadas de la base de datos, como el servicio de gestión de colas avanzadas, el cifrado y la entrada/salida (E/S) de archivos. También incluyen muchas utilidades deadministración y de mantenimiento. Los paquetes que utiliza un administrador dependen del tipo de aplicaciones que sirve la base dedatos. A continuación se muestran algunos de los paquetes de administración y de mantenimiento más comunes: • DBMS_STATS: Recopilación, visualización y modificación de estadísticas del optimizador• DBMS_OUTPUT: Generación de salida de PL/SQL• DBMS_SESSION: Acceso PL/SQL a las sentencias ALTER SESSION y SET ROLE • DBMS_RANDOM: Generación de números aleatorios• DBMS_UTILITY: Obtención de la hora, hora de la CPU y la información de versión; cálculo

de un valor hash y realización de otras muchas funciones• DBMS_SCHEDULER: Planificación de funciones y procedimientos que se pueden llamar

desde PL/SQL• DBMS_CRYPTO: Cifrado y descifrado de datos de la base de datos• UTL_FILE: Lectura y escritura en los archivos del sistema operativo desde PL/SQL

Nota: Para obtener más información sobre estos y otros paquetes incorporados, consulte el manual PL/SQL Packages and Types Reference.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 255: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-19

Copyright © 2008, Oracle. Todos los derechos reservados.

Disparadores

DisparadoresLos disparadores son objetos de código PL/SQL que se almacenan en la base de datos y que seejecutan o “arrancan” automáticamente cuando sucede algo. La base de datos Oracle permite que muchas acciones sirvan como eventos disparadores, entre las que se incluyen una inserción enuna tabla, la conexión de un usuario a la base de datos y el intento de borrar una tabla o elcambio de valores de auditoría. Los disparadores pueden llamar a otros procedimientos o funciones. Lo más recomendable es acortar todo lo posible el código del disparador y colocar todo aquello que necesite un código más largo en un paquete independiente. Los DBA utilizan disparadores para ayudar en las auditorías basadas en valores (se tratará en lalección titulada “Implementación de Seguridad de la Base de Datos Oracle”), para aplicar restricciones complejas y para automatizar muchas tareas. Por ejemplo, el disparadorSECURE_EMPLOYEES que se muestra en la diapositiva registra todas las sentencias DML enuna tabla de mantenimiento.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 256: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-20

Copyright © 2008, Oracle. Todos los derechos reservados.

Eventos Disparadores

Ejemplos de EventosTipo deEvento

LOGON, LOGOFF, STARTUP, SHUTDOWN, SERVERERROR, SUSPEND

Base dedatos

CREATE, DROP, ALTER, GRANT, REVOKE, RENAME

DDLINSERT, UPDATE, DELETEDML

Eventos DisparadoresExisten muchos eventos que se pueden utilizar para arrancar un disparador y se dividen en tres categorías.

• Los disparadores de eventos DML se arrancan cuando las sentencias modifican los datos. • Los disparadores de eventos DDL se arrancan cuando las sentencias crean un objeto o lo

modifican de alguna forma. • Los disparadores de evento de base de datos se arrancan cuando suceden ciertos eventos en

la base de datos. Se puede especificar que la mayoría de los disparadores arranquen antes o después de que seproduzca el evento. Con los eventos DML, el disparador se puede diseñar para que se arranque una vez con la sentencia o con cada fila que se modifique.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 257: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-21

Copyright © 2008, Oracle. Todos los derechos reservados.

Bloqueos

• Los bloqueos evitan que varias sesiones cambienlos mismos datos al mismo tiempo.

• Se obtienen automáticamente en el nivel más bajo posible para una sentencia determinada.

• No escalan.

Transacción 1

SQL> UPDATE employees

2 SET salary=salary*1.13 WHERE employee_id=100;

SQL> UPDATE employees

2 SET salary=salary+1003 WHERE employee_id=100;

Transacción 2

SQLPL/SQL

> Bloqueos

Bloqueos Para que la base de datos permita que una sesión modifique datos, la sesión debe bloquear primero los datos que se van a modificar. Un bloqueo ofrece a la sesión el control exclusivo sobre los datos, para que ninguna otra transacción pueda modificar los datos bloqueados hasta que se libera el bloqueo. Las transacciones pueden bloquear filas individuales de datos, varias filas o incluso tablas completas. La base de datos Oracle 10g soporta tanto bloqueo manual como el automático. Losbloqueos adquiridos automáticamente eligen siempre el nivel de bloqueo más bajo posible para minimizar posibles conflictos con otras transacciones.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 258: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-22

Copyright © 2008, Oracle. Todos los derechos reservados.

Mecanismo de Bloqueo

• Alto nivel de simultaneidad de datos:– Bloqueos de nivel de fila para inserciones,

actualizaciones y supresiones– No se necesita ningún bloqueo en las consultas

• Gestión automática de la cola• Bloqueos retenidos hasta que finaliza la

transacción (con la operación COMMIT oROLLBACK)

Transacción 1

SQL> UPDATE employees

2 SET salary=salary*1.13 WHERE employee_id=101;

SQL> UPDATE employees

2 SET salary=salary+1003 WHERE employee_id=100;

Transacción 2

Mecanismo de BloqueoEl mecanismo de bloqueo está diseñado para proporcionar el máximo grado posible desimultaneidad de datos en la base de datos. Las transacciones que modifican datos adquieren bloqueos de nivel de fila en lugar de bloqueos de nivel de tabla o de bloque. Las modificacionesde objetos (como movimientos de tabla) obtienen bloqueos de nivel de objeto en lugar debloqueos de todo el esquema o base de datos. Las consultas de datos no necesitan ningún bloqueo y una consulta se realiza correctamente aunque los datos estén bloqueados (mostrando siempre el original, el valor previo al bloqueo reconstruido a partir de información de deshacer).Cuando varias transacciones necesitan bloquear el mismo recurso, la primera transacción que solicita el bloqueo lo obtiene. Las demás transacciones esperan hasta que termina la primera transacción. El mecanismo de cola es automático y no necesita la interacción del administrador.Todos los bloqueos se liberan al final de una transacción. Las transacciones se completan cuandose emite un comando COMMIT o ROLLBACK. En caso de una transacción fallida, el mismo proceso en segundo plano que automáticamente realiza un rollback de los cambios de latransacción fallida libera todos los bloqueos retenidos por esa transacción. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 259: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-23

Copyright © 2008, Oracle. Todos los derechos reservados.

Simultaneidad de Datos

UPDATE hr.employees

SET salary=salary+100

WHERE employee_id=xxx;

Transacción x

......

UPDATE hr.employees

SET salary=salary+100

WHERE employee_id=102;

Transacción 3

UPDATE hr.employees

SET salary=salary+100

WHERE employee_id=101;

Transacción 2

UPDATE hr.employees

SET salary=salary+100

WHERE employee_id=100;

Transacción 1Hora:

09:00:00

Simultaneidad de DatosEl mecanismo de bloqueo es por defecto un modo de bloqueo detallado de nivel de fila. Distintas transacciones pueden estar actualizando diferentes filas dentro de la misma tabla sin interferir las unas en las otras.Aunque el modelo por defecto es el bloqueo en el nivel de fila, la base de datos Oracle soporta elbloqueo manual en niveles superiores si es necesario:

SQL> LOCK TABLE employees IN EXCLUSIVE MODE; Table(s) Locked.

Con la sentencia anterior, cualquier otra transacción que intente actualizar una fila de la tabla bloqueada debe esperar hasta que termine la transacción que emitió la solicitud de bloqueo. EXCLUSIVE es el modo de bloqueo más absoluto. Los otros modos de bloqueo son lossiguientes: • ROW SHARE: Permite el acceso simultáneo a la tabla bloqueada, pero prohíbe que las

sesiones bloqueen toda la tabla para un acceso exclusivo.• ROW EXCLUSIVE: Igual que ROW SHARE, pero también prohíbe el bloqueo en el modo

SHARE. Los bloqueos ROW EXCLUSIVE se obtienen automáticamente al actualizar,insertar o suprimir datos.

• SHARE: Permite consultas simultáneas, pero prohíbe actualizaciones en la tabla bloqueada. Es necesario un bloqueo SHARE (y se solicita automáticamente) para crear un índice enuna tabla.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 260: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-24

Simultaneidad de Datos (continuación)• SHARE ROW EXCLUSIVE: Se utiliza para consultar una tabla completa y permitir que

otros consulten filas de la misma, pero prohíbe que los demás bloqueen la tabla en modoSHARE o actualicen filas.

• EXCLUSIVE: Permite realizar consultas de la tabla bloqueada pero prohíbe las demás actividades en ella. Es necesario un bloqueo EXCLUSIVE para borrar una tabla.

Como cualquier solicitud de bloqueo, las sentencias de bloqueo manual esperan hasta que todas las sesiones que ya tienen bloqueos o que los han solicitado con anterioridad liberen sus bloqueos. El comando LOCK acepta un argumento especial que controla el comportamiento de espera, NOWAIT. NOWAIT devuelve el control inmediatamente si la tabla especificada ya está bloqueada por otra sesión:

SQL> LOCK TABLE hr.employees IN SHARE MODE NOWAIT; LOCK TABLE hr.employees IN SHARE MODE NOWAIT

* ERROR at line 1: ORA-00054: resource busy and acquire with NOWAIT specified

Normalmente no es necesario bloquear manualmente los objetos. El mecanismo de bloqueo automático proporciona la simultaneidad de datos necesaria para la mayoría de las aplicaciones.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 261: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-25

Copyright © 2008, Oracle. Todos los derechos reservados.

Bloqueos de DML

Transacción 1

SQL> UPDATE employees

2 SET salary=salary*1.13 WHERE employee_id= 106;

1 row updated.

SQL> UPDATE employees

2 SET salary=salary*1.13 WHERE employee_id= 107;

1 row updated.

Transacción 2

Las transacciones de DML deben adquirir dosbloqueos:

• Bloqueo EXCLUSIVE de fila para la fila o filas quese van a actualizar

• Bloqueo de nivel de tabla ROW EXCLUSIVE para latabla que contiene las filas

Bloqueos de DMLLas transacciones de DML obtienen dos bloqueos:

• Bloqueo EXCLUSIVE de fila para la fila o filas que se van a actualizar.• Bloqueo de nivel de tabla ROW EXCLUSIVE en la tabla que se va a actualizar. Sirve para

evitar que otra sesión bloquee la tabla completa (posiblemente para borrarla o truncarla)mientras se realiza el cambio.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 262: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-26

Copyright © 2008, Oracle. Todos los derechos reservados.

Mecanismo de Puesta en Cola

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

Mecanismo de Puesta en ColaLas solicitudes de bloqueos se ponen en cola automáticamente. En cuanto termina la transacción que retiene un bloqueo, la siguiente sesión de la cola recibe el bloqueo. El mecanismo de puesta en cola realiza el seguimiento del orden en el que se han solicitado losbloqueos y el modo de bloqueo solicitado. Las sesiones que ya retienen un bloqueo pueden solicitar convertir dicho bloqueo sin tener que iral final de la cola. Por ejemplo, si una sesión retiene un bloqueo SHARE en una tabla, la sesión puede solicitar convertir el bloqueo SHARE en un bloqueo EXCLUSIVE. Siempre que nadie más tenga ya un bloqueo EXCLUSIVE o SHARE de la tabla, se otorgará un bloqueo SHARE a lasesión que retiene el bloqueo EXCLUSIVE sin tener que volver a esperar en la cola.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 263: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-27

Copyright © 2008, Oracle. Todos los derechos reservados.

Conflictos de Bloqueo

commit;16:30:011 row updated.

La sesión continúa.

Muchas selecciones,inserciones, actualizaciones ysupresiones durante las últimas7,5 horas, pero ninguna confirmación ni rollback.

16:30:00La sesión aún está en espera.

SELECT sum(salary) FROM employees;

SUM(SALARY)

-----------

692634

9:00:05UPDATE employees SET

COMMISION_PCT=2 WHERE employee_id=101;

La sesión espera en la coladebido a un conflicto de bloqueo.

UPDATE employees SET salary=salary+100 WHERE employee_id=101;

1 row updated.

9:00:00UPDATE employees SET salary=salary+100 WHERE employee_id=100;

1 row updated.

Transacción 1 Transacción 2Hora

Conflictos de BloqueoLos conflictos de bloqueo se producen con frecuencia, pero normalmente se resuelven con eltiempo y el mecanismo de cola. En algunos casos excepcionales, puede que sea necesaria laintervención del administrador en un conflicto de bloqueo. En el caso de la diapositiva, latransacción 2 obtiene un bloqueo de una única fila a las 9:00:00 y no se realiza la confirmación,dejando el bloqueo en su lugar. La transacción 1 intenta actualizar toda la tabla a las 9:00:05, loque necesita un bloqueo de todas las filas. La transacción 2 bloquea la transacción 1 hasta que latransacción 2 realiza la confirmación a las 16:30:01. El usuario que intenta realizar la transacción 1 se pondría en contacto casi con toda probabilidadcon el administrador para solicitar ayuda en este caso, y el DBA debería detectar y resolver elconflicto.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 264: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-28

Copyright © 2008, Oracle. Todos los derechos reservados.

Posibles Causas de Conflictos de Bloqueo

• Cambios sin confirmar• Transacciones con una ejecución muy larga • Niveles altos de bloqueo innecesarios

Posibles Causas de Conflictos de BloqueoLa causa más común de conflictos de bloqueo es un cambio sin confirmar, aunque existen algunas otras causas posibles:

• Transacciones con una ejecución muy larga: Muchas aplicaciones utilizan elprocesamiento por lotes para realizar actualizaciones en bloque. Estos trabajos por lotes normalmente se planifican para momentos de baja o ninguna actividad de los usuarios, pero puede que en algunos casos no hayan terminado o tarden demasiado en ejecutarse duranteel período de baja actividad. Los conflictos de bloqueo son comunes cuando la transaccióny el procesamiento por lotes se están realizando simultáneamente.

• Niveles altos de bloqueo innecesarios: No todas las bases de datos soportan el bloqueo denivel de fila (Oracle introdujo el soporte para los bloqueos de nivel de fila en 1988 con laversión 6). Algunas bases de datos aún realizan bloqueos en el nivel de tabla o de página. Los desarrolladores que escriben aplicaciones destinadas a ejecutarse en muchas bases dedatos diferentes suelen escribir sus aplicaciones con niveles de bloqueo artificialmentealtos para que la base de datos Oracle se comporte de manera similar a aquellos sistemas de base de datos con menos posibilidades. Además, los desarrolladores nuevos en Oracle aveces codifican innecesariamente en niveles de bloqueo más altos de los que necesita la base de datos Oracle.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 265: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-29

Copyright © 2008, Oracle. Todos los derechos reservados.

Detección de Conflictos de Bloqueo

Seleccione Blocking Sessions en la página Performance.

Haga clic en el enlace Session ID para ver información sobrela sesión bloqueante, que incluye la sentencia SQL real.

Detección de Conflictos de BloqueoUtilice la página Blocking Sessions de Enterprise Manager para localizar conflictos de bloqueo. Las solicitudes de bloqueo en conflicto se muestran con un diseño jerárquico en el que la sesión que retiene el bloqueo se sitúa en la parte superior, seguidas de todas las sesiones que están en cola para el bloqueo. Para cada sesión implicada en el conflicto se proporciona el nombre de usuario, el identificadorde sesión y el número de segundos que la sesión ha estado en espera. Acceda al identificador desesión para ver las sentencias SQL reales ejecutadas o solicitadas por la sesión en ese momento. El monitor de diagnóstico de base de datos automático (ADDM) también detecta de manera automática los conflictos de bloqueo y puede avisarle de las tendencias de bloqueo ineficaces.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 266: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-30

Copyright © 2008, Oracle. Todos los derechos reservados.

Resolución de Conflictos de Bloqueo

Para resolver un conflicto de bloqueo:• Haga que la sesión que retiene el bloqueo realice

una confirmación o un rollback• Termine la sesión que retiene el bloqueo como

último recurso

Resolución de Conflictos de BloqueoPara resolver un conflicto de bloqueo, la sesión que retiene el bloqueo debe liberarlo. El mejor modo de que la sesión libere el bloqueo es ponerse en contacto con el usuario y pedir que termine la transacción. En caso de emergencia, el administrador puede terminar la sesión que retiene el bloqueo haciendo clic en el botón Kill Session. Recuerde que cuando se mata una sesión todo el trabajode la transacción actual se pierde (se realiza un rollback). Un usuario cuya sesión se ha matado debe volver a conectarse y rehacer todo el trabajo desde la última confirmación de la sesión matada. Los usuarios cuyas sesiones se han matado recibirán el siguiente error la siguiente vez que intenten emitir una sentencia SQL:

ORA-03135: connection lost contact

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 267: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-31

Copyright © 2008, Oracle. Todos los derechos reservados.

Resolución de Conflictos de Bloqueo mediante SQL

Las sentencias SQL se pueden utilizar para determinarla sesión de bloqueo y matarla.

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

SQL> select sid, serial#, usernamefrom v$session where sid in(select blocking_session from v$session)

Resultado:

1

2

Resolución de Conflictos de Bloqueo mediante SQLLa manipulación de sesiones, al igual que la mayoría del resto de tareas realizadas en Enterprise Manager, también se puede realizar mediante la emisión de sentencias SQL. La tablav$session contiene detalles de todas las sesiones conectadas. blocking_session es elidentificador de sesión de la sesión que se está bloqueando. De esta forma, si consulta el valor de SID y SERIAL#, donde SID se corresponde con un identificador de sesión de bloqueo,dispondrá de la información necesaria para realizar la operación kill session.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 268: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-32

Copyright © 2008, Oracle. Todos los derechos reservados.

Interbloqueos

Transacción 2Transacción 1

UPDATE employeesSET salary = salary x 1.1WHERE employee_id = 1000;

UPDATE employeesSET salary = salary x 1.1WHERE employee_id = 2000;

ORA-00060:Deadlock detected while waiting for resource

UPDATE employeesSET manager = 1342WHERE employee_id = 2000;

UPDATE employeesSET manager = 1342WHERE employee_id = 1000;

9:00

9:15

9:16

InterbloqueosUn interbloqueo es un ejemplo especial de conflicto de bloqueo. Los interbloqueos surgen cuando dos o más sesiones esperan los datos que bloquean entre ellas. Puesto que cada una está esperando a la otra, ninguna puede terminar la transacción para resolver el conflicto. La base de datos Oracle detecta automáticamente los interbloqueos y termina la sentencia con un error. La respuesta adecuada a ese error es una acción de confirmación o de rollback, que libera cualquier otro bloqueo de esa sesión para que la otra sesión pueda continuar con su transacción. En el ejemplo de la diapositiva, la transacción 1 debe realizar una confirmación o un rollbackcomo respuesta al error detectado de interbloqueo. Si realiza una confirmación, necesitará volvera enviar la segunda actualización para terminar su transacción. Si realiza un rollback, debe volver a enviar ambas sentencias para terminar su transacción.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 269: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-33

Copyright © 2008, Oracle. Todos los derechos reservados.

Resumen

En esta lección, debe haber aprendido lo siguiente:• Gestionar datos mediante el uso de SQL• Identificar y administrar objetos PL/SQL• Describir los disparadores y los eventos

disparadores• Controlar y solucionar conflictos de bloqueo

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 270: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 8-34

Copyright © 2008, Oracle. Todos los derechos reservados.

Visión General de la Práctica:Gestión de Datos y Simultaneidad

En esta práctica se abordan los siguientes temas:• Identificación de conflictos de bloqueo• Resolución de conflictos de bloqueo

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 271: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Copyright © 2008, Oracle. Todos los derechos reservados.

Gestión de Datos de Deshacer

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 272: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Objetivos

Al finalizar esta lección, debería estar capacitado para lo siguiente:• Explicar DML y generación de datos de deshacer• Supervisar y administrar datos de deshacer• Describir la diferencia entre datos de deshacer y

de redo• Configurar la retención de deshacer• Garantizar la retención de deshacer• Utilizar el asesor de deshacer

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 273: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Manipulación de Datos

• El lenguaje de manipulación de datos (DML) consta de las siguientes sentencias SQL:– INSERT

– UPDATE

– DELETE

– MERGE

• DML siempre se ejecuta como parte de una transacción, que puede ser:– Una transacción en la que se ha realizado rollback,

mediante el comando ROLLBACK– Una transacción confirmada, mediante el comando

COMMIT

Manipulación de Datos Los datos se manipulan, o modifican, mediante la clase DML de sentencias SQL: INSERT, UPDATE, DELETE y MERGE. Estas sentencias se ejecutan como parte de una transacción, que se inicia con la primera sentencia DML correcta y termina con un comando COMMIT o ROLLBACK. En las transacciones sólo se puede realizar una operación de confirmación o de rollback.La operación de rollback también se puede producir si hay un fallo del sistema o de proceso.Nota: El comando MERGE realiza una combinación de inserciones y actualizaciones para fusionar datos de una tabla en otra. Este tema se aborda en la lección titulada “Gestión de Datosy Simultaneidad”.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 274: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Datos de Deshacer

Los datos de deshacer:• Son una copia de los datos originales antes de la

modificación• Se capturan para cada transacción que cambia datos• Se retienen al menos hasta que finaliza la

transacción• Se utilizan para dar soporte a:

– Operaciones de rollback– Consultas de flashback y de

lectura consistente– Recuperación de

transacciones fallidas

Usuario

Datos de Deshacer La base de datos Oracle guarda el valor anterior (datos de deshacer) cuando un proceso cambia datos de una base de datos. Almacena los datos como existían antes de que se modificaran. La captura de datos de deshacer le permite realizar una operación de rollback en los datos no confirmados. Los datos de deshacer también soportan consultas de flashback y de lectura consistente.Las consultas de lectura consistente proporcionan resultados que son consistentes con los datos en el momento en que se inicia una consulta. Para que una consulta de lectura consistente se realice correctamente, la información original debe existir aún como información de deshacer. Mientras se retenga la información de deshacer, la base de datos Oracle puede reconstruir datos que cumplan las consultas de lectura consistente.Las consultas de flashback son consultas que piden con determinación una versión de los datos tal como existían en algún momento del pasado. Siempre que la información de deshacer del pasado exista, las consultas de flashback pueden terminar correctamente.Los datos de deshacer también se utilizan para la recuperación de transacciones fallidas. Una transacción fallida se produce cuando una sesión de usuario termina de forma anormal (posiblemente debido a errores de red o a un fallo en la computadora cliente) antes de que el usuario decida confirmar la transacción o realizar un rollback de la misma. Las transacciones fallidas también se pueden producir cuando la instancia falla.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 275: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Datos de Deshacer (continuación)En caso de una transacción fallida, se selecciona el comportamiento más seguro y la base dedatos Oracle deshace todos los cambios realizados por el usuario, restaurando los datos originales.La información de deshacer se retiene para todas las transacciones al menos hasta que latransacción termine debido a:

• Usuarios que deshacen la transacción (operación de rollback)• Usuarios que terminan una transacción (confirmación)• Sesión de usuario que termina de forma anormal (operación de rollback)• Sesión de usuario que termina de forma normal con una salida (confirmación)

La cantidad de datos de deshacer que se retienen y el tiempo de esa retención dependen de lacantidad de actividad de la base de datos y de su configuración.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 276: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Transacciones y Datos de Deshacer

• Cada transacción se asigna aun único segmento de deshacer.

• Un segmento de deshacer puede dar servicio a más de una transacción al mismo tiempo.

Actualizar latransacción

Valor anterior

ValornuevoSegmento de

deshacer

Tabla

Transacciones y Datos de Deshacer Al iniciar una transacción, ésta se asigna a un segmento de deshacer. A lo largo de la transacción, cuando se modifiquen los datos, los valores originales (antes del cambio) se copiarán al segmento de deshacer. Puede ver qué transacciones se asignan a los distintos segmentos de deshacer comprobando la vista de rendimiento dinámico v$transaction. Los segmentos de deshacer son segmentos especializados que la instancia crea automáticamente, según sea necesario, para soportar las transacciones. Al igual que todos los segmentos, los segmentos de deshacer están formados por extensiones que a su vez constan de bloques de datos. Los segmentos de deshacer crecen y se reducen automáticamente si es necesario, actuando como buffer de almacenamiento circular para las transacciones asignadas.Las transacciones rellenan extensiones en los segmentos de deshacer hasta que se termina una transacción o se consume todo el espacio. Si una extensión se llena completamente y se necesita más espacio, la transacción adquiere ese espacio de la siguiente extensión del segmento. Al consumir todas las extensiones, la transacción se volverá a ajustar a la primera extensión o solicitará que se asigne una extensión nueva al segmento de deshacer.Nota: Las operaciones DML en paralelo pueden hacer que una transacción utilice realmente más de un segmento de deshacer. Para obtener más información sobre la ejecución de DML en paralelo, consulte Oracle Database Administrator’s Guide 10g.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 277: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 9-7

Copyright © 2008, Oracle. Todos los derechos reservados.

Almacenamiento de Información de Deshacer

La información de deshacer se almacena en segmentos de deshacer que, a su vez, se almacenan en un tablespace de deshacer. Los tablespaces de deshacer:• Sólo se utilizan para los segmentos de deshacer• Tienen consideraciones especiales sobre la

recuperación• Sólo se pueden asociar a una única instancia• Necesitan que sólo uno de ellos sea el tablespace de

deshacer actual en el que se puede escribir para una instancia especificada en un momento determinado

Almacenamiento de Información de Deshacer Los segmentos de deshacer sólo pueden existir en una forma especializada de tablespacedenominada tablespace de deshacer. Aunque una base de datos puede tener numerosos tablespaces de deshacer, sólo se puede designar uno de ellos como el tablespace actual en el que se escribirán los datos de deshacer.Los segmentos de deshacer siempre son propiedad de SYS. Puesto que los segmentos actúan como buffer circular, cada segmento tiene dos extensiones como mínimo. El número máximo de extensiones por defecto depende del tamaño del bloque de base de datos, aunque es muy alto (32.765 para un tamaño de bloque de 8 KB).Los tablespaces de deshacer son tablespaces permanentes, gestionados localmente con asignación automática de extensiones. Se gestionan como cualquier otro tablespace excepto en lo que se refiere a la recuperación. Puesto que se necesitan datos de deshacer para recuperar transacciones fallidas (como las que se pueden producir cuando una instancia falla), lostablespaces de deshacer sólo se pueden recuperar mientras la instancia está en estado MOUNT. Las consideraciones de recuperación para los tablespaces se abordan en la lección titulada “Recuperación de Bases de Datos”. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 278: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 9-8

Copyright © 2008, Oracle. Todos los derechos reservados.

Datos de Deshacer frente a Datos de Redo

Lecturas inconsistentes en sistemas de varios usuarios

Segmentos de deshacer

Rollback, consistenciade lectura, flashback

Cómo deshacer uncambio

Deshacer

Protege frente a

Se almacena en

Se utiliza para

Registro de

Aplicar transacciones pendientes de la base de datosArchivos redo log

Pérdida de datos

Cómo reproducir uncambio

Redo

Datos de Deshacer frente a Datos de Redo En un principio, los datos de deshacer y de redo se parecen bastante, aunque sirven para obtener resultados diferentes. Los datos de deshacer son necesarios cuando hay que deshacer un cambioy esto ocurre en las operaciones de consistencia de lectura y de rollback. Los datos de redo sonnecesarios cuando hay que realizar de nuevo los cambios, en el caso de que se hayan perdido por algún motivo.El proceso de confirmación implica una verificación de que los cambios de la transacción se han escrito en el archivo de redo log, que se encuentra almacenado de manera persistente en el disco, en lugar de en la memoria. Además, normalmente está multiplexado. Es decir, hay varias copiasde los datos de redo en el disco. Incluso aunque no se hayan escrito los cambios en los archivosde datos en los que están almacenados realmente los bloques de la tabla, la garantía de que loscambios se han escrito en el archivo de redo log es suficiente.Por ejemplo, un corte en el suministro eléctrico justo antes de que los cambios confirmados sehayan reflejado en los archivos de datos no causa ningún problema, ya que la transacción se haconfirmado. Por lo tanto, cuando se vuelva a iniciar el sistema, se podrán aplicar los cambios de los registros de redo que no se llegaron a reflejar en los archivos de datos en el momento delcorte de electricidad. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 279: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 9-9

Copyright © 2008, Oracle. Todos los derechos reservados.

Control de Deshacer

Deshacer normalmente necesita poca gestión. Las áreas que se controlan incluyen:• Espacio libre en un tablespace de deshacer• Errores de tipo “Snapshot too old”

DBA

Control de DeshacerLa mayor parte del tiempo la instancia gestiona automáticamente las operaciones de deshacer casi sin intervención del administrador de base de datos (DBA). Puede que sea necesaria la participación del administrador cuando se produce lo siguiente:

• Espacio insuficiente para deshacer • Los usuarios reciben mensajes de error ORA-01555 snapshot too old

La información de deshacer siempre se retiene hasta que una transacción termina. Esto significa que si se suprimen o actualizan cantidades muy grandes de datos (las operaciones de inserción consumen muy poco espacio de deshacer porque la imagen original de los datos insertados es un valor nulo) sin confirmar, el tablespace de deshacer debe ser lo bastante grande para contener los datos originales. Imagine un caso en el que en una tabla de 50 GB se hubieran suprimido todas las filas con el comando siguiente:

SQL> DELETE FROM reallybigtable;

Sería necesario que el tablespace tuviera espacio para 50 GB de información original sólo en caso de que el usuario que emitió esta sentencia cambiara de opinión y quisiera realizar unrollback del cambio. Si el tablespace de deshacer se queda sin espacio para los datos de deshacer, los usuarios reciben un mensaje de error como el siguiente:

ORA-01650: unable to extend rollback segment

El control proactivo detecta problemas de espacio en un tablespace de deshacer antes de que afecte a los usuarios.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 280: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 9-10

Control de Deshacer (continuación)Otro problema, con el que el administrador se puede encontrar con la información de deshacer, es cuando una consulta tiene que acceder a información de deshacer que ya se ha sobrescrito. Esto puede suceder en una consulta de flashback o con una ejecución muy larga. Cuando una consulta necesita una “instantánea” de los datos como eran en algún momento del pasado y la reconstrucción de dicha instantánea necesita datos de deshacer que ya no existen, la consulta devuelve el siguiente error:

ORA-01555: snapshot too old

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 281: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 9-11

Copyright © 2008, Oracle. Todos los derechos reservados.

Administración de DeshacerLa administración de deshacer debe evitar:• Errores de espacio en un tablespace de deshacer:

– Asigne un espacio correcto al tablespace de deshacer.– Asegúrese periódicamente de la confirmación de

transacciones grandes.• Errores de tipo “Snapshot too old”:

– Configure un intervalo de retención de deshacer adecuado.

– Asigne un espacio correcto al tablespace de deshacer.– Plantéese garantizar la retención de deshacer.

Utilizar la gestión automática de deshacer:

DBAUNDO_MANAGEMENT=AUTOUNDO_TABLESPACE=UNDOTBS1

Administración de DeshacerSe recomienda el uso de la gestión automática de deshacer, que se configura mediante la definición del parámetro de inicialización UNDO_MANAGEMENT en AUTO. La gestión manual de deshacer está soportada para la compatibilidad con Oracle8i y versiones anteriores, pero necesita más participación del DBA.Con la gestión automática de deshacer, el DBA gestiona los datos de deshacer en el nivel de tablespace, que controla qué tablespace de deshacer utiliza una instancia con el parámetro de inicialización UNDO_TABLESPACE. Una vez seleccionado el tablespace de deshacer, el administrador sólo se debe preocupar de proporcionar espacio suficiente y de configurar un intervalo de retención de deshacer. Con la gestión manual, el DBA también debe tener en cuenta lo siguiente:

• Asignación de tamaño a los segmentos, que incluye las extensiones máximas y el tamaño de las extensiones

• Identificación y eliminación de transacciones bloqueantes• Creación de segmentos de rollback suficientes para manejar transacciones (en el modo

manual, los segmentos de deshacer se denominan segmentos de rollback) • Selección de un tablespace que contenga los segmentos de rollback (los tablespaces de

deshacer sólo se utilizan con la gestión automática de deshacer)

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 282: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Configuración de Retención de Deshacer

DBA

UNDO_RETENTION especifica (en segundos) cuánto tiempo se va a retener la información de deshacer ya confirmada. Este parámetro sólo se define cuando:• El tablespace de deshacer tiene activada la opción

AUTOEXTEND

• Desea definir una retención de deshacer para objetos grandes (LOB)

• Desea garantizar la retención

Configuración de Retención de DeshacerUNDO_RETENTION especifica (en segundos) el valor de umbral inferior de la retención de deshacer. En los tablespaces de deshacer AUTOEXTEND, el sistema retiene la operación de deshacer durante al menos el tiempo especificado en este parámetro y, de manera automática, ajusta el período de retención para cumplir con los requisitos de deshacer de las consultas. En los tablespaces de deshacer de tamaño fijo, el sistema ajusta automáticamente el período máximo posible de retención de deshacer en función del tamaño e historial de uso del tablespace de deshacer; ignora UNDO_RETENTION a menos que esté activada la garantía de retención. De esta forma, en la gestión automática de deshacer, para los tres casos aquí mostrados, se utiliza el valor de UNDO_RETENTION. En casos distintos a los aquí mostrados, este parámetro se ignora.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 283: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Configuración de Retención de Deshacer (continuación)La información de deshacer está dividida en tres categorías:

• Información de deshacer sin confirmar: Soporta una transacción que se está ejecutando en ese momento y es necesaria si un usuario desea realizar un rollback o si la transacción ha fallado. La información de deshacer sin confirmar nunca se sobrescribe.

• Información de deshacer confirmada: Ya no es necesaria para dar soporte a una transacción en ejecución, pero aún es necesaria para cumplir con el intervalo de retención de deshacer. También se denomina información de deshacer “no vencida”. La información de deshacer confirmada se retiene cuando es posible sin que una transacción activa falle debido a la falta de espacio.

• Información de deshacer vencida: Ya no es necesaria para dar soporte a una transacción en ejecución. La información de deshacer vencida se sobrescribe cuando se necesita espacio para una transacción activa.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 284: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Garantía de Retención de Deshacer

Garantía: 15 minutos

Una transacción que genera más cambios de deshacer que el

espacio disponible fallará.

Datos de deshacer

Las sentencias SELECTde 15 minutos o menos de ejecuciónsiempre se ejecutan correctamente.

Garantía de Retención de DeshacerEl comportamiento por defecto de deshacer es sobrescribir las transacciones confirmadas que aún no han vencido en lugar de permitir que una transacción activa falle debido a la falta de espacio de deshacer.Este comportamiento se puede cambiar al garantizar la retención. Con la retención garantizada, los valores de retención de deshacer se aplican aunque provoquen que las transacciones fallen.RETENTION GUARANTEE es un atributo de tablespace más que un parámetro de inicialización. Este atributo sólo se puede cambiar con las sentencias de línea de comandos SQL. La sintaxis para cambiar un tablespace de deshacer por una retención de garantía es la siguiente:

SQL> ALTER TABLESPACE undotbs1 RETENTION GUARANTEE;

Para devolver un tablespace de deshacer garantizado a su valor normal, utilice el siguientecomando:

SQL> ALTER TABLESPACE undotbs1 RETENTION NOGUARANTEE;

La garantía de retención se aplica sólo a los tablespaces de deshacer. Los intentos de definirla en un tablespace que no sea de deshacer tiene como resultado el siguiente error:

SQL> ALTER TABLESPACE example RETENTION GUARANTEE; ERROR at line 1: ORA-30044: 'Retention' can only specified for undo tablespace

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 285: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Tamaño de los Tablespaces de Deshacer

Tamaño de espaciode tabla actual

Ratio de consumo de deshacer

Tamaño de los Tablespaces de DeshacerSe debe asignar un tamaño a los tablespaces de deshacer para que puedan contener la información original de todas las transacciones. Al hacer clic en el enlace Undo Management de la página Administration de Enterprise Manager aparece una visión general de los datos de deshacer del sistema que incluye los valores actuales, el consumo de deshacer por minuto y la longitud de la consulta con la ejecución más larga observada durante un determinado período de tiempo.Los archivos de datos que pertenecen a un tablespace de deshacer se pueden ampliar automáticamente cuando se quedan sin espacio libre. A diferencia de otros tablespaces, Oracle Corporation recomienda que los archivos de datos asociados a los tablespaces de deshacer no tengan activada la extensión automática. La primera vez que se determinan los requisitos de espacio de deshacer, puede que desee activar la extensión automática de los archivos de datos, pero después de haber asignado correctamente el tamaño del tablespace debe desactivarla. La desactivación de la extensión automática en archivos de datos de un tablespace de deshacer evita que un único usuario consuma involuntariamente grandes cantidades de espacio en disco dejando de confirmar las transacciones.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 286: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Uso del Asesor de Deshacer

Uso del Asesor de DeshacerA través de la página de propiedades Undo Management se accede al Asesor de Deshacer. Ofrece una estimación del tamaño del tablespace de deshacer que resulta necesario para satisfacer una retención de deshacer determinada.Indique el período de retención deseado y la región de análisis del asesor mostrará el tamaño de tablespace necesario para soportar el período de retención. También cabe la posibilidad de hacer clic en un punto del gráfico para ver el tamaño del tablespace requerido para soportar el período elegido.Una vez seleccionado un período de retención de deshacer, haga clic en OK para implementar el nuevo período de retención.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 287: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Resumen

En esta lección, debe haber aprendido lo siguiente:• Explicar DML y generación de datos de deshacer• Controlar y administrar segmentos de deshacer• Describir la diferencia entre datos de deshacer y

de redo• Configurar la retención de deshacer• Garantizar la retención de deshacer• Utilizar el asesor de deshacer

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 288: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Visión General de la Práctica: Gestión de Segmentos de Deshacer

En esta práctica se abordan los siguientes temas:• Cálculo del tamaño del tablespace de deshacer para

dar soporte a un intervalo de retención de 48 horas• Modificación de un tablespace de deshacer para dar

soporte a un intervalo de retención de 48 horas

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 289: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Copyright © 2008, Oracle. Todos los derechos reservados.

Implementación de Seguridad de Oracle Database

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 290: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Objetivos

Al finalizar esta lección, debería estar capacitado para lo siguiente:• Describir sus responsabilidades de DBA en

cuanto a seguridad• Aplicar el principio de privilegio más bajo• Activar la auditoría estándar de la base de datos• Especificar opciones de auditoría • Revisar la información de auditoría• Mantener la pista de auditoría

ObjetivosEsta lección es el punto de inicio para conocer la seguridad de Oracle. En la siguiente documentación encontrará información adicional:

• Oracle Database Concepts 10g Release 2 (10.2) • Oracle Database Administrator’s Guide 10g Release 2 (10.2) • Oracle Database Security Guide 10g Release 2 (10.2)

En los siguientes cursos encontrará formación adicional:• Oracle Database 10g: Taller de Administración II (D17092GC30) • Oracle Database 10g: Security (D17499GC10)

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 291: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Requisitos de Seguridad de la Industria

• Legal:– Sarbanes-Oxley Act (SOX)– Health Information Portability and Accountability

Act (HIPAA)– California Breach Law– UK Data Protection Act

• Auditoría

> Requisitos Privilegio más BajoAuditoríaBasada en ValoresAuditoría DetalladaDBAActualiz. Seguridad

Requisitos de Seguridad de la IndustriaHasta hace poco la preocupación por los requisitos de seguridad era un problema de naturaleza individual. A menos que se manejaran datos militares o gubernamentales, existían pocos requisitos legales. Esto está cambiando con rapidez. Se han aprobado varias leyes para reforzar la privacidad y la precisión de los datos. Junto con estas leyes, hay un requisito para auditar las medidas de seguridad utilizadas. Legal: Cada una de las leyes enumeradas aquí tiene algunos requisitos específicos. Esta lista es representativa de muchas otras leyes que se están aprobando en todo el mundo. Por supuesto, las leyes de seguridad varían de un lugar a otro.

• Sarbanes-Oxley Act (SOX) requiere que las compañías públicas refuercen y documenten los controles internos para impedir que nadie pueda cometer actos fraudulentos que puedan comprometer la posición financiera de una organización o la precisión de sus datos financieros. El director ejecutivo y el director financiero deben dar fe de la competencia de los controles internos y de la precisión del informe financiero. Estos directores están sujetos a multas y al encarcelamiento por informes fraudulentos. Los detalles de SOX incluyen requisitos para proporcionar la información que se utiliza para generar los informes y los controles internos que se usan para garantizar la integridad de la información financiera.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 292: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Requisitos de Seguridad de la Industria (continuación)• Health Information Portability and Accountability Act (HIPAA) está destinada a

proteger la información sanitaria identificable de manera personal frente a su publicación o uso incorrecto. Las entidades que retienen esa información deben proporcionar pistas de auditoría de todas las personas que accedan a estos datos.

• UK Data Protection Act está destinada a proteger la privacidad individual mediante el acceso restringido a datos identificables de manera individual. Contiene ocho puntos, uno de los cuales requiere que los datos se conserven en un lugar seguro.

• Otras leyes: - Family Educational Rights and Privacy Act (FERPA) aborda la información

sanitaria y personal que conservan las escuelas.- California Breach Law requiere que una organización que posee variada

información de identidad personal (PII) (por ejemplo, tarjeta de crédito, permiso de conducir y números de identificación gubernamentales) proteja esa información. Si la información se puede ver comprometida, la organización tiene que notificarlo a todos los individuos implicados. Hay dos leyes, CA-SB-1386 y CA-AB-1950, que se aplican a las organizaciones que poseen PII.

- Federal Information Security Management Act (FISMA) está creando estándares y guías de seguridad mediante documentos de Federal Information Processing Standard (FIPS) que gestiona National Institute of Standards (NIST). Estos estándares se aplican a organizaciones que procesan información para el gobierno de Estados Unidos.

Auditoría: Muchas de estas leyes incluyen estipulaciones que requieren que los planes de seguridad (protocolos internos) se auditen periódicamente. Los requisitos de SOX son poco claros y están sujetos a la interpretación de los directivos de la organización. Los detalles de implementación pueden variar ampliamente, en función del nivel de detalles que requieran los directivos. Al ser tan poco claro el SOX, aunque las penas son severas, resulta importante proteger a su compañía. El costo de las medidas de seguridad se debe equilibrar con respecto al riesgo. Nadie le certificará que está totalmente seguro. Una buena solución es el consenso de la industria. Si cumple con las prácticas de seguridad mínimas acordadas y ha aplicado la debida diligencia, es posible que esté a salvo de las consecuencias penales más duras de la ley. Algunos recursos buenos para las prácticas de los estándares de la industria son SysAdmin, Audit, Network, Security (SANS) Institute, CERT/CC aplicados por la Carnegie Mellon University para el Ministerio de Defensa y el estándar de certificación ISO-17799:

http://www.sans.org/index.phphttp://www.cert.org/nav/index.htmlhttp://www.iso17799software.com/

El estándar de certificación ISO-17799 es un estándar internacional de prácticas de seguridad. Incluye prácticas recomendadas, certificación y valoración de riesgos. Aborda un rango amplio de problemas e incluye políticas escritas previamente.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 293: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Separación de Responsabilidades

• Se debe confiar en los usuarios con privilegios de DBA. Considere lo siguiente:– Abuso de confianza– Las pistas de auditoría protegen la posición

protegida• Se deben compartir las responsabilidades de

DBA.• No se deben compartir nunca las cuentas.• El DBA y el Administrador del Sistema tienen que

ser personas diferentes.• Responsabilidades separadas del operador y del

DBA.

Separación de ResponsabilidadesÉstos son los principales requisitos necesarios para satisfacer la separación de las tareas.Se debe confiar en los DBA: Es difícil limitar a un DBA. Para hacer su trabajo, el DBA requiere privilegios de alto nivel. Un DBA posee una posición de confianza y se debe investigar a fondo. Incluso un DBA protegido debe tener responsabilidad. Considere lo siguiente:

• Abuso de confianza: Un DBA puede utilizar de manera incorrecta las contraseñas cifradas de la vista DBA_USERS.

• Las pistas de auditoría protegen la posición protegida: Cuando la auditoría se implementa con cuidado y se siguen las directrices, la pista de auditoría puede mostrar que una persona específica no ha violado los procedimientos o causado un acto perjudicial. Si un usuario no autorizado intenta que las sospechas recaigan sobre un usuario protegido, una pista de auditoría bien diseñada detectará el engaño.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 294: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Seguridad de la Base de Datos

Un sistema seguro garantiza la confidencialidad de los datos que contiene. Existen varios aspectos referentes a la seguridad:• Restricción de acceso a los datos y los servicios• Autenticación de usuarios• Control de actividades sospechosas

Seguridad de la Base de DatosLa base de datos Oracle 10g proporciona el mejor marco de la industria para un sistema seguro. Sin embargo para que ese marco sea eficaz, el administrador de la base de datos debe realizar las prácticas recomendadas y controlar continuamente la actividad de la base de datos.Restricción de Acceso a los Datos y los ServiciosTodos los usuarios no deben tener acceso a todos los datos. En función de lo que se almacene en la base de datos, los requisitos del negocio, las expectativas de los clientes y cada vez más las restricciones legales pueden exigir un acceso restringido. Se debe proteger la información de tarjetas de crédito, los datos médicos, la información de identidad, etc. contra el acceso no autorizado. La base de datos Oracle proporciona controles de autorización muy detallados para limitar el acceso a la base de datos. La restricción de acceso debe incluir la aplicación del principio de privilegio más bajo.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 295: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 10-7

Seguridad de la Base de Datos (continuación)Autenticación de Usuarios Para forzar los controles de acceso en los datos confidenciales, el sistema debe primero saber quién está intentando acceder a los datos. Una autenticación con riesgos puede hacer que todas las demás precauciones de seguridad resulten inútiles. La forma más básica de autenticación de usuarios es instando a los usuarios a proporcionar algo que conocen, por ejemplo, una contraseña. Al garantizar que las contraseñas siguen reglas simples, se puede aumentar en gran medida la seguridad del sistema. Los métodos de autenticación más potentes incluyen solicitar a los usuarios que proporcionen algo, como por ejemplo un certificado de infraestructura de clave pública (PKI, Public Key Infrastructure) o un elemento. Una forma de autenticación aún más potente consiste en identificar a los usuarios mediante una característica biométrica única como, por ejemplo, una huella dactilar, un escáner de retina, moldes de estructuras óseas, etc. La base de datos Oracle soporta técnicas de autenticación avanzadas como la identificación basada en elementos, en biometría y en certificados mediante Advanced Security Option. Las cuentas de usuario que no están en uso se deben bloquear para evitar intentos de vulnerar la autenticación.Control de Actividades Sospechosas Incluso los usuarios autorizados y autenticados pueden a veces poner en peligro el sistema. La identificación de actividades de la base de datos poco comunes (como, por ejemplo, que un empleado empiece de pronto a consultar mucha información de tarjetas de crédito, resultados de investigaciones u otra información confidencial) puede ser el primer paso para detectar el robo de información. La base de datos Oracle proporciona un amplio juego de herramientas de auditoría para realizar un seguimiento de la actividad de los usuarios e identificar tendencias sospechosas.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 296: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 10-8

Copyright © 2008, Oracle. Todos los derechos reservados.

Principio de Privilegio más Bajo

• Instalación sólo del software necesario en la máquina.

• Activación únicamente de los servicios necesarios en la máquina.

• Otorgamiento de acceso al sistema operativo y a la base de datos únicamente a aquellos usuarios que lo necesitan.

• Limitación del acceso a la cuenta raíz o de administrador.

• Limitación del acceso a las cuentas SYSDBA y SYSOPER.

• Limitación del acceso de los usuarios a únicamente los objetos de la base de datos necesarios para que hagan su trabajo.

Requisitos> Privilegio más Bajo

AuditoríaBasada en ValoresAuditoría DetalladaDBAActualiz. Seguridad

Principio de Privilegio más BajoAplique el principio de privilegio más bajo empezando por los niveles más bajos y continúe en cada nivel. Siempre hay nuevas vulnerabilidades de seguridad que no se pueden anticipar. Al aplicar este principio, la posibilidad de que esto ocurra se reduce y el daño se puede contener.

• Instalación sólo del software necesario en la máquina: Al reducir el número de paquetes de software, se reduce el mantenimiento, las actualizaciones, la posibilidad de agujeros de seguridad y los conflictos de software.

• Activación únicamente de los servicios necesarios en la máquina: Un número de servicios reducido implica menos puertos abiertos y menos vectores de ataque.

• Otorgamiento de acceso al sistema operativo y a la base de datos únicamente a aquellos usuarios que lo necesitan: A menor número de usuarios, menos contraseñas y cuentas. De esta forma se reduce la posibilidad de cuentas abiertas o anticuadas. Un número de cuentas reducido facilita al administrador la tarea de mantener las cuentas actualizadas.

• Limitación del acceso a la cuenta raíz o de administrador: La cuenta de administrador se debe guardar y auditar con cuidado y nunca se debe compartir.

• Limitación del acceso a las cuentas SYSDBA y SYSOPER: Los usuarios que necesitan acceso a estos roles deben tener su propia cuenta y se deben auditar.

• Limitación del acceso de los usuarios a únicamente los objetos de la base de datos necesarios para que hagan su trabajo: Los usuarios que tienen acceso a más objetos y servicios de los que necesitan tienen una oportunidad para causar daño.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 297: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 10-9

Copyright © 2008, Oracle. Todos los derechos reservados.

• Protección del diccionario de datos:

• Revocación de privilegios innecesarios de PUBLIC:

• Restricción de los directorios a los que pueden acceder los usuarios.

• Limitar los usuarios con privilegios administrativos.• Restricción de la autenticación de la base de datos

remota:

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

O7_DICTIONARY_ACCESSIBILITY=FALSE

REMOTE_OS_AUTHENT=FALSE

Aplicación del Principio de Privilegio Más Bajo

Aplicación del Principio de Privilegio Más BajoEl principio de privilegio más bajo significa que se debe dar a un usuario sólo aquellos privilegios que sean necesarios para realizar de forma eficaz una tarea. De esta forma se reducen las posibilidades de que los usuarios modifiquen o visualicen los datos, tanto de forma accidental como no autorizada, para los que no tienen privilegios de modificación o visualización.Protección del diccionario de datos: El parámetro O7_DICTIONARY_ACCESSIBILITY se define por defecto en FALSE. No permita que se cambie este valor sin un buen motivo, ya queimpide a los usuarios con privilegios del sistema ANY TABLE acceder a las tablas base del diccionario de datos. También garantiza que el usuario SYS se puede conectar sólo como SYSDBA.Revocación de privilegios innecesarios de PUBLIC: Los siguientes paquetes son muy útiles para aplicaciones que los necesitan, pero requieren una configuración correcta para utilizarlos de forma segura. Revoque el privilegio EXECUTE de PUBLIC y otórguelo a los roles cuando sea necesario para los siguientes paquetes: UTL_SMTP, UTL_TCP, UTL_HTTP y UTL_FILE.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 298: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 10-10

Aplicación del Principio de Privilegio Más Bajo (continuación)Entre los paquetes más potentes que se podrían utilizar de forma incorrecta se incluyen:• UTL_SMTP: Permite que se envíen mensajes de correo electrónico arbitrarios mediante el

uso de la base de datos como servidor de correo de Protocolo Simple de Transferencia de Correo (SMTP). Al otorgar este paquete a PUBLIC, se puede permitir el intercambio no autorizado de mensajes de correo.

• UTL_TCP: Permite al servidor de base de datos establecer conexiones de red salientes con cualquier servicio de red de recepción o en espera. Por lo tanto, se pueden enviar datos arbitrarios entre el servidor de base de datos y cualquier servicio de red en espera.

• UTL_HTTP: Permite al servidor de base de datos solicitar y recuperar datos a través de HTTP. Al otorgar este paquete a PUBLIC, se puede permitir el envío de datos a través de pantallas HTML a direcciones Web no autorizadas.

• UTL_FILE: Si se configura incorrectamente, permite el acceso de nivel de texto a cualquier archivo del sistema operativo de host. Incluso cuando se configura correctamente, este paquete no distingue entre las aplicaciones que realizan llamadas, cuyo resultado es que una aplicación con acceso a UTL_FILE puede escribir datos arbitrarios en la misma ubicación en la que escribe otra aplicación.

Restricción de acceso a directorios del sistema operativo: El objeto DIRECTORY de la base de datos permite a los DBA asignar directorios a rutas de acceso del sistema operativo y otorgar privilegios sobre esos directorios a usuarios individuales.Limitación de usuarios con privilegios administrativos: No proporcione a los usuarios de base de datos más privilegios de los necesarios. No otorgue el rol DBA a usuarios que no sean administradores. Para implementar el privilegio más bajo, restrinja los siguientes tipos de privilegios:

• Otorgamientos de privilegios de sistema y de objeto• Conexiones a la base de datos con privilegios SYS, como SYSDBA y SYSOPER • Otros privilegios de tipo DBA, como DROP ANY TABLE

Restricción de la autenticación de la base de datos remota: El parámetro REMOTE_OS_AUTHENT se define en FALSE por defecto. No se debe cambiar a menos que se pueda confiar en todos los clientes para autenticar de manera adecuada a los usuarios.En el proceso de autenticación remota:

• El usuario de base de datos se autentica de forma externa• El sistema remoto autentica el usuario• El usuario se conecta a la base de datos sin ninguna otra autenticación

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 299: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Control de Actividades Sospechosas

El control o la auditoría debe ser una parteintegral de los procedimientos de seguridad. Revise lo siguiente:• Auditoría obligatoria• Auditoría de la base de datos estándar• Auditoría basada en valores• Auditoría detallada (FGA)• Auditoría de DBA

RequisitosPrivilegio más Bajo

> Auditoría Basada en ValoresAuditoría DetalladaDBAActualiz. Seguridad

Control de Actividades SospechosasLa auditoría, que consiste en la captura y el almacenamiento de información sobre lo que sucede en el sistema, aumenta la cantidad de trabajo que debe realizar el sistema. La auditoría se debe centrar para que sólo se capturen los eventos que sean de interés. Una auditoría bien centrada tiene un impacto mínimo en el rendimiento del sistema. Una auditoría centrada incorrectamente puede afectar de forma significativa al rendimiento.

• Auditoría obligatoria: Todas las bases de datos Oracle auditan algunas acciones independientemente de otros parámetros u opciones de auditoría. El motivo de los logs de auditoría obligatoria es que la base de datos necesita registrar algunas actividades, como el inicio y cierre del sistema.

• Auditoría de la base de datos estándar: Se define a nivel del sistema al utilizar el parámetro de inicialización AUDIT_TRAIL. Tras activar la auditoría, seleccione los objetos y privilegios que desee auditar.

• Auditoría basada en valores: Amplía la auditoría de la base de datos estándar con la captura no sólo de que el evento auditado se ha producido, sino de los valores reales que se insertaron, actualizaron o suprimieron. La auditoría basada en valores se implementa mediante disparadores de base de datos.

• Auditoría detallada (FGA): FGA amplía la auditoría de la base de datos estándar con la captura de la sentencia SQL real emitida en lugar de tan sólo el evento producido.

• Auditoría de DBA: Separa las tareas de auditoría entre el DBA y el auditor o administrador de la seguridad que controla las actividades del DBA en una pista de auditoría del sistema operativo.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 300: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Pista deauditoría

Archivo de parámetros

Especificar opciones deauditoría.

Generar pista de

auditoría.

Auditoría de la Base de Datos Estándar

DBA Usuarioejecuta uncomando.

Database

Pista de auditoríaXML o sistema operativo

Opcionesde auditoría

Procesode servidor

1

2

3

Activarauditoríade base de datos.

Revisar informaciónde auditoría.

Mantener pistade auditoría.

4

Auditoría de la Base de Datos EstándarDespués de haber activado la auditoría de la base de datos y haber especificado las opciones de auditoría (los eventos de conexión, el ejercicio de privilegios del sistema y de objeto o el uso de sentencias SQL), la base de datos inicia la recopilación de información de auditoría. Si se define AUDIT_TRAIL en OS, los registros de auditoría se almacenan en el sistema de auditoría del sistema operativo. En un entorno de Windows, éste es el log de eventos. En un entorno de UNIX o Linux, los registros de auditoría se almacenan en un archivo. La ubicación de dicho archivo se especifica con el parámetro AUDIT_FILE_DEST. Si el parámetro AUDIT_TRAIL se define en DB, podrá revisar los registros de auditoría en la vista DBA_AUDIT_TRAIL, que forma parte del esquema SYS. Si AUDIT_TRAIL se define en XML o XML,EXTENDED, los registros de auditoría se escriben en archivos XML en el directorio hacia el que apunta el parámetro AUDIT_FILE_DEST. La vista V$XML_AUDIT_TRAIL permite visualizar todos los archivos XML de este directorio. El mantenimiento de la pista de auditoría es una tarea administrativa importante. En función del enfoque de las opciones de auditoría, la pista de auditoría puede aumentar muy rápidamente. Si no se mantiene correctamente, la pista de auditoría puede consumir tanto espacio que afectará al rendimiento del sistema.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 301: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Activación de Auditoría

Reiniciar la base de datos tras modificar un parámetro de inicialización estática.

ALTER SYSTEM SET audit_trail=“XML” SCOPE=SPFILE;

Activación de AuditoríaDebe activar la auditoría de la base de datos antes de especificar valores de auditoría.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 302: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Pistas de Auditoría Uniformes

Utilizar AUDIT_TRAIL para activar la auditoría de la base de datos

DBA_AUDIT_TRAIL DBA_FGA_AUDIT_TRAIL

DBA_COMMON_AUDIT_TRAIL

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

STATEMENTID,ENTRYID

AUDIT_TRAIL=DB,EXTENDED

Pistas de Auditoría UniformesPara utilizar la auditoría de la base de datos, primero debe definir que el parámetro no dinámico AUDIT_TRAIL apunte a una ubicación de almacenamiento para los registros de auditoría. De esta forma se activa la auditoría de la base de datos.La base de datos Oracle 10g realiza el seguimiento de los mismos campos en las auditorías estándar y detallada. De este modo, se facilita el análisis de las actividades de la base de datos. Para llevar a cabo este proceso, tanto la pista de auditoría estándar como la pista de auditoría detallada disponen de atributos para complementarse entre sí.Entre otros datos, la auditoría estándar recopila la siguiente información adicional:

• El número de cambio del sistema (SCN), que registra todos los cambios realizados en el sistema.

• El texto SQL exacto ejecutado por el usuario y las variables ligadas usadas con el texto SQL. Estas columnas sólo aparecen si se especifica AUDIT_TRAIL=DB,EXTENDED en el archivo de parámetros de inicialización.

Entre otros datos, la auditoría detallada recopila la siguiente información adicional:• El número de serie de cada registro de auditoría.• El número de sentencia que enlaza varias entradas de auditoría originadas a partir de una

sola sentencia.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 303: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Pistas de Auditoría Uniformes (continuación)Los atributos comunes incluyen:

• El registro de hora global según la zona horaria universal coordinada (UTC). Este campo resulta de utilidad para controlar todos los servidores de ubicaciones y zonas horarias distintas.

• El número de instancia único para cada instancia de Real Application Clusters (RAC). • El identificador de transacción que ayuda a agrupar los registros de auditoría de una única

transacción.La vista DBA_COMMON_AUDIT_TRAIL combina los registros log de auditoría estándar y detallada.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 304: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Página de Auditoría de Enterprise Manager

Página de Auditoría de Enterprise ManagerPara llegar a la página de auditoría desde la página inicial de Database Control, haga clic en el separador Administration y, a continuación, en el enlace Audit Settings de la región Users &Privileges.La página de auditoría contiene las siguientes regiones:

• Configuration: Muestra los valores actuales de los parámetros de configuración y contiene enlaces para modificar esos valores.

• Audit Trails: Proporciona un acceso sencillo para auditar información que se ha recopilado.

Utilice estas páginas con separadores para definir opciones de auditoría o anular su definición:• Audited Privileges: Muestra los privilegios que se están auditando.• Audited Objects: Muestra los objetos que se están auditando.• Audited Statements: Muestra las sentencias que se están auditando.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 305: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Especificación de Opciones de Auditoría

• Auditoría de sentencias SQL:

• Auditoría de privilegios del sistema (no centrada y centrada):

• Auditoría de privilegios de objeto (no centrada ycentrada):

AUDIT select any table, create any trigger;

AUDIT select any table BY hr BY SESSION;

AUDIT table;

AUDIT ALL on hr.employees;

AUDIT UPDATE,DELETE on hr.employees BY ACCESS;

Especificación de Opciones de AuditoríaAuditoría de sentencias SQL: La sentencia mostrada en la diapositiva puede auditar cualquiersentencia de lenguaje de definición de datos (DDL) que afecte a una tabla, incluidas CREATETABLE, DROP TABLE, TRUNCATE TABLE, etc. La auditoría de sentencias SQL se puede centrar por usuario o por el resultado de correcto/fallo.

SQL> AUDIT TABLE BY hr WHENEVER NOT SUCCESSFUL;

Auditoría de privilegios del sistema: Se puede utilizar para auditar el ejercicio de cualquier privilegio del sistema (como DROP ANY TABLE). Se puede centrar por usuario o por el resultado de correcto o fallo. Por defecto, la auditoría es BY ACCESS. Cada vez que se ejercita un privilegio del sistema auditado se genera un registro de auditoría. Puede agrupar esos registros con la cláusula BY SESSION de manera que sólo se genere un registro por sesión. (De esta forma, si un usuario actualiza 100.000 registros de una tabla que pertenece a otro usuario, sólo recopilará un único registro de auditoría). Puede utilizar la cláusula BY SESSION para limitar el impacto de la auditoría de privilegios del sistema en el rendimiento y el almacenamiento.Auditoría de privilegios de objeto: Se puede utilizar para auditar acciones en las tablas, vistas, procedimientos, secuencias, directorios y tipos de dato definidos por el usuario. Este tipo de auditoría se puede centrar en el resultado de correcto o fallo y agrupar por sesión o por acceso. A diferencia de la auditoría de privilegios del sistema, la agrupación por defecto es por sesión. Por este motivo, debe especificar implícitamente BY ACCESS si desea que se genere un registro de pista de auditoría independiente para cada acción.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 306: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 10-18

Copyright © 2008, Oracle. Todos los derechos reservados.

Uso y Mantenimiento de la Información de Auditoría

Desactivar las opciones de auditoría si no se van a utilizar.

Uso y Mantenimiento de la Información de AuditoríaPráctica recomendada: Puesto que la auditoría agrega una carga al sistema, desactívela siempre que no vaya a utilizarla.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 307: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 10-19

Copyright © 2008, Oracle. Todos los derechos reservados.

Auditoría Basada en Valores

Se realizael cambio del

usuario.

Se arranca eldisparador.

El disparador creael registro de auditoría.

Se inserta el registro de auditoría en una tabla de

pista de auditoría.

Un usuario realizaun cambio.

RequisitosPrivilegio más BajoAuditoría

> Basada en Valores Auditoría DetalladaDBAActualiz. Seguridad

Auditoría Basada en ValoresLa auditoría de la base de datos registra las inserciones, las actualizaciones y las supresiones que se han producido en los objetos auditados, pero no captura los valores reales que han cambiado. La auditoría basada en valores amplía la auditoría de la base de datos con la captura de los valores reales que se han cambiado. La auditoría basada en valores aprovecha disparadores de base de datos (construcciones PL/SQL controladas por eventos). Cuando un usuario inserta, actualiza o suprime datos de una tabla con el disparador adecuado conectado, este último funciona en segundo plano para copiar información de auditoría en una tabla designada para contener dicha información. La auditoría basada en valores tiende a reducir el rendimiento más que la auditoría de la base de datos estándar, porque el código del disparador de auditoría se debe ejecutar cada vez que se produce la operación de inserción, actualización o supresión. El grado de reducción depende de la eficacia del código del disparador. La auditoría basada en valores se debe utilizar sólo en situaciones en las que la información capturada por la auditoría de la base de datos estándar sea insuficiente.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 308: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 10-20

Auditoría Basada en Valores (continuación)La clave de la auditoría basada en valores es el disparador de auditoría. A continuación se muestra un disparador de auditoría típico.

CREATE OR REPLACE TRIGGER system.hrsalary_auditAFTER UPDATE OF salaryON hr.employees REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW

BEGINIF :old.salary != :new.salary THEN

INSERT INTO system.audit_employees VALUES (sys_context('userenv','os_user'), sysdate, sys_context('userenv','ip_address'),:new.employee_id || ' salary changed from '||:old.salary|| ' to '||:new.salary);

END IF; END;

/

Este disparador centra la auditoría en la captura de cambios en la columna de salario de la tabla hr.employees. Al actualizar una fila, el disparador comprueba la columna de salario. Si el salario antiguo no es igual que el nuevo, el disparador inserta un registro de auditoría en la tablaaudit_employees (creada mediante una operación independiente en el esquema SYSTEM). El registro de auditoría incluye el usuario, la dirección IP desde la que se ha realizado el cambio, la clave primaria que identifica el registro que se ha cambiado y los valores de salario reales que se han cambiado.También se pueden utilizar disparadores de base de datos para capturar información sobre las conexiones de usuario en casos en los que la auditoría de la base de datos estándar no recopile datos suficientes. Con los disparadores de conexión, el administrador puede capturar datos que identifiquen al usuario que se está conectando a la base de datos. Se incluyen estos ejemplos:

• Dirección IP de la persona que se conecta• Primeros 48 caracteres del nombre del programa que se ha utilizado para conectar a la

instancia• Nombre del terminal que se ha utilizado para conectar a la instancia

Para obtener una lista completa de los parámetros de usuario, consulte la sección titulada “SYS_CONTEXT” en Oracle Database SQL Reference.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 309: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 10-21

Copyright © 2008, Oracle. Todos los derechos reservados.

Auditoría Detallada

• Controla el acceso a datos según el contenido• Audita SELECT, INSERT, UPDATE, DELETE y MERGE

• Se puede enlazar a una tabla o vista, a una o más columnas

• Puede arrancar un procedimiento• Se administra con el paquete DBMS_FGA

employees

Policy: AUDIT_EMPS_SALARY

SELECT name, salaryFROM employeesWHEREdepartment_id = 10;

RequisitosPrivilegio más BajoAuditoríaBasada en Valores

> Auditoría Detallada DBAActualiz. Seguridad

Auditoría Detallada FGA permite que la auditoría se centre de forma más restringida que la auditoría de la base de datos estándar o basada en valores. Las opciones de auditoría FGA se pueden centrar en columnas individuales de una tabla o vista e incluso pueden ser condicionales para que sólo se capturen auditorías si se cumplen determinadas especificaciones definidas por el administrador. Las políticas de FGA soportan más de una columna relevante. Por defecto, se audita cualquiera de esas columnas que esté presente en la sentencia SQL. DBMS_FGA.ALL_COLUMNS y DBMS_FGA.ANY_COLUMNS permiten realizar la auditoría según se utilice o no alguna de las columnas relevantes (o todas ellas) en la sentencia.Utilice el paquete PL/SQL DBMS_FGA para crear una política de auditoría en la tabla o vista de destino. Si una de las filas devueltas por un bloque de consulta coincide con la columna auditada y la condición de auditoría especificada, un evento de auditoría hace que se cree y almacene un registro de auditoría en la pista de auditoría. Opcionalmente, el evento de auditoría también puede ejecutar un procedimiento. FGA centra automáticamente la auditoría en el nivel de sentencia, de forma que una sentencia SELECT que devuelve miles de filas genere un único registro de auditoría.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 310: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 10-22

Copyright © 2008, Oracle. Todos los derechos reservados.

Política de FGAdbms_fga.add_policy (object_schema => 'HR',object_name => 'EMPLOYEES',policy_name => 'audit_emps_salary',audit_condition=> 'department_id=10',audit_column => 'SALARY',handler_schema => 'secure',handler_module => 'log_emps_salary',enable => TRUE,statement_types => 'SELECT' );

SELECT name, job_idFROM employees;

SELECT name, salaryFROM employeesWHERE

department_id = 10;

SECURE.LOG_ EMPS_SALARY

employees

• Define:– Criterios de

auditoría– Acción de

auditoría• Se crea con

DBMS_FGA .ADD_POLICY

Política de FGAEl ejemplo de la diapositiva muestra una política de FGA creada con el procedimiento DBMS_FGA.ADD_POLICY. El procedimiento acepta los siguientes argumentos:Nombre de Política Asigne a cada política de FGA un nombre cuando la cree. En el ejemplo de la diapositiva se asigna a la política el nombre AUDIT_EMPS_SALARY mediante el siguiente argumento:

policy_name => 'audit_emps_salary'

Condición de Auditoría La condición de auditoría es un predicado de SQL que define cuándo se debe arrancar el evento de auditoría. En el ejemplo de la diapositiva, se auditan todas las filas del departamento 10 mediante el siguiente argumento de condición:

audit_condition => 'department_id = 10‘

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 311: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 10-23

Política de FGA (continuación)Columna de Auditoría La columna de auditoría define los datos que se están auditando. Se produce un evento de auditoría si se incluye esta columna en la sentencia SELECT o si la condición de auditoría permite la selección. En el ejemplo de la diapositiva se auditan dos columnas mediante el siguiente argumento:

audit_column => 'SALARY'

Este argumento es opcional. Si no se especifica, sólo el argumento AUDIT_CONDITIONdetermina si se debe producir un evento de auditoría.Objeto El objeto es la tabla o vista que se está auditando. Se transfiere como dos argumentos:

• El esquema que contiene el objeto• El nombre del objeto

En el ejemplo de la diapositiva se audita la tabla hr.employees mediante los siguientes argumentos:

object_schema => 'hr'object_name => 'employees'

Manejador Un manejador de eventos opcional es un procedimiento PL/SQL que define cualquier acción adicional que se debe llevar a cabo durante la auditoría. Por ejemplo, el manejador de eventos puede enviar una página de alerta al administrador. Si no se define, se inserta una entrada de evento de auditoría en la pista de auditoría. Si se define un manejador de eventos de auditoría, se inserta la entrada de auditoría en la pista de auditoría y se ejecuta el manejador de eventos de auditoría.La entrada de evento de auditoría incluye la política de FGA que provocó el evento, el usuario que ejecutó la sentencia SQL y la sentencia SQL junto con sus variables ligadas. El manejador de eventos se transfiere como dos argumentos:

• El esquema que contiene la unidad de programa PL/SQL• El nombre de la unidad de programa PL/SQL

En el ejemplo de la diapositiva se ejecuta el procedimiento SECURE.LOG_EMPS_SALARYmediante los siguientes argumentos:

handler_schema => 'secure'handler_module => 'log_emps_salary'

Por defecto, las pistas de auditoría siempre escriben el texto SQL y la información de enlace SQL en los LOB. Se puede cambiar el valor por defecto (por ejemplo, si el sistema experimenta una degradación de rendimiento).Status El estado indica si la política de FGA está activada. En el ejemplo de la diapositiva, el siguiente argumento activa la política:

enable => TRUE

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 312: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 10-24

Copyright © 2008, Oracle. Todos los derechos reservados.

Sentencia DML Auditada: Consideraciones

• Se auditan los registros si se satisface el predicado de FGA y si se hace referencia a las columnas relevantes.

• Se auditan las sentencias DELETE independientementede las columnas especificadas.

• Se auditan las sentencias MERGE con las sentencias generadas INSERT o UPDATE subyacentes.

UPDATE hr.employeesSET salary = 10WHERE department_id = 10;

UPDATE hr.employeesSET salary = 10WHERE employee_id = 111;

Sentencia DML Auditada: ConsideracionesCon una política de FGA definida para las sentencias DML, se audita una sentencia DML si se están manipulando las filas de datos (las nuevas y las antiguas) para cumplir con los criterios del predicado de la política.Sin embargo, si también se especifican las columnas relevantes en la definición de la política, se audita la sentencia cuando los datos cumplen con el predicado de la política de FGA y cuando la sentencia hace referencia a las columnas relevantes definidas.Con las sentencias DELETE, la especificación de las columnas relevantes durante la definición de la política no resulta muy útil ya que una sentencia DELETE toca todas las columnas de una tabla. Por esta razón, siempre se auditan las sentencias DELETE independientemente de las columnas relevantes.FGA soporta las sentencias MERGE. Las sentencias INSERT o UPDATE subyacentes se auditan si cumplen cualquiera de las políticas de FGA INSERT o UPDATE.Mediante la política de FGA definida anteriormente, se audita la primera sentencia pero no la segunda.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 313: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 10-25

Copyright © 2008, Oracle. Todos los derechos reservados.

Instrucciones de FGA

• Para auditar todas las sentencias, utilice una condición null.

• Los nombres de política deben ser únicos.• La tabla o vista auditada ya debe existir cuando

cree la política.• Si la sintaxis de la condición de auditoría no es

válida, se produce el error ORA-28112 cuando se accede al objeto auditado.

• Si la columna auditada no existe en la tabla, no se audita ninguna fila.

• Si el manejador de eventos no existe, no se devuelve ningún error y el registro de auditoría se crea de todos modos.

Instrucciones de FGACon las sentencias SELECT, FGA captura la propia sentencia y no las filas reales. Sin embargo, cuando se combina FGA con consultas de flashback, se pueden reconstruir las filas tal y como existían en ese punto concreto.Para obtener más información sobre las consultas de flashback, consulte la lección titulada “Realización de Flashback”.Para obtener más información sobre el paquete DBMS_FGA, consulte Oracle Database, PL/SQL Packages and Types Reference.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 314: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 10-26

Copyright © 2008, Oracle. Todos los derechos reservados.

Auditoría de DBA

Los usuarios con privilegios SYSDBA o SYSOPERpueden conectarse cuando la base de datos está cerrada.• La pista de auditoría se debe almacenar fuera de

la base de datos.• La conexión como SYSDBA o SYSOPER siempre se

audita.• Puede activar la auditoría adicional de acciones de

SYSDBA o SYSOPER con audit_sys_operations.• Puede controlar la pista de

auditoría con audit_file_dest.

RequisitosPrivilegio más BajoAuditoríaBasada en ValoresAuditoría Detallada

> DBAActualiz. Seguridad

Auditoría de DBALos usuarios SYSDBA y SYSOPER tienen privilegios para iniciar y cerrar la base de datos. Puesto que pueden realizar cambios mientras la base de datos está cerrada, la pista de auditoría para estos privilegios se debe almacenar fuera de la base de datos. La base de datos Oracle captura de manera automática los eventos de conexión de los usuarios SYSDBA y SYSOPER. Esto proporciona una forma valiosa para realizar un seguimiento de acciones SYSDBA y SYSOPER autorizadas y no autorizadas, si bien sólo resulta útil si se revisa la pista de auditoría del sistema operativo.La base de datos Oracle no captura nada que no sean eventos de conexión a menos que se active específicamente la auditoría. Active la auditoría de usuarios SYSDBA y SYSOPER mediante la definición del parámetro de inicialización:

audit_sys_operations=TRUE (El valor por defecto es FALSE).Si se auditan las operaciones SYS, el parámetro de inicialización audit_file_dest controla la ubicación de almacenamiento de los registros de auditoría. En una plataforma Windows, la pista de auditoría toma por defecto el registro de eventos de Windows. En plataformas UNIX o Linux, los registros de auditoría se almacenan en $ORACLE_HOME/rdbms/audit.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 315: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 10-27

Copyright © 2008, Oracle. Todos los derechos reservados.

Mantenimiento de la Pista de Auditoría

Se debe mantener la pista de auditoría. Siga estas recomendaciones:• Revise y almacene los registros antiguos.• Evite los problemas de almacenamiento.• Evite la pérdida de registros.

Mantenimiento de la Pista de AuditoríaEs necesario mantener cada tipo de pista de auditoría. El mantenimiento básico debe incluir la revisión de los registros de auditoría y la eliminación de los registros antiguos en la base de datos o el sistema operativo. Las pistas de auditoría pueden crecer de tamaño hasta llenar todo el almacenamiento disponible. Si el sistema de archivos está completo, el sistema puede fallar o provocar problemas de rendimiento. Si la pista de auditoría de la base de datos llena eltablespace, no se completarán las acciones auditadas. Si la pista de auditoría llena el tablespacedel sistema, se verá afectado el rendimiento de otras operaciones antes de que se paren las operaciones de auditoría. La pista de auditoría estándar se almacena en la tabla AUD$. La pista de auditoría para FGA es la tabla FGA_LOG$. Estas dos tablas se crean por defecto en el tablespace SYSTEM. Puede mover estas tablas a otro tablespace mediante las utilidades de exportación e importación. Nota: El movimiento de las tablas de auditoría fuera del tablespace SYSTEM no está soportado. Los registros de auditoría se pueden perder durante el proceso de eliminación de registros en las tablas de auditoría. Práctica recomendada: Utilice una exportación basada en un registro de hora y suprima las filas de la pista de auditoría que tengan el mismo registro de hora.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 316: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 10-28

Copyright © 2008, Oracle. Todos los derechos reservados.

Actualizaciones de Seguridad

• Oracle publica alertas de seguridad en la dirección Web de Oracle Technology Network en:http://www.oracle.com/technology/deploy/security/alerts.htm

• Los administradores y desarrolladores de la base de datos Oracle también pueden suscribirse para recibir notificaciones de las alertas de seguridad críticas a través de correo electrónico haciendo clic en el enlace “Subscribe to Oracle Critical Patch Update and Security Alert notifications”.

RequisitosPrivilegio más BajoAuditoríaBasada en ValoresAuditoría DetalladaDBA

> Actualiz. Seguridad

Actualizaciones de SeguridadLas alertas de seguridad de Oracle contienen una breve descripción de la vulnerabilidad, una evaluación del riesgo y del grado de exposición asociados a la vulnerabilidad, así como soluciones alternativas o parches que se pueden aplicar. Con Enterprise Manager, puede gestionar los parches. Oracle incluye una confirmación del individuo u organización que notificó la vulnerabilidad.Las alertas de seguridad se publican en la dirección Web de Oracle Technology Network y enOracleMetaLink (MetaLink). Aunque las alertas de seguridad se dan a conocer públicamente a cualquier persona que esté interesada en ellas, sólo los clientes con un número de identificación de soporte al cliente (Customer Support Identification o CSI) actual pueden descargar parches.Oracle agradece su cooperación en el mantenimiento de la seguridad de sus productos a través de notificaciones rápidas, completas y confidenciales de posibles vulnerabilidades de seguridad. Si descubre una vulnerabilidad de seguridad con cualquier producto Oracle, notifíquenoslo enviando una solicitud de servicio a través de MetaLink o un mensaje de correo electrónico a [email protected].

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 317: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 10-29

Copyright © 2008, Oracle. Todos los derechos reservados.

Aplicación de Parches de Seguridad

• Utilizar el proceso de actualización de parches críticos.

• Aplicar todos los parches de seguridad y soluciones alternativas.

• Ponerse en contacto con el equipo de productos de seguridad de Oracle.

Aplicación de Parches de SeguridadProceso de Actualización de Parches Críticos (CPU)Oracle inició el proceso CPU en enero de 2005. El proceso agrupaba los parches críticos de forma trimestral. Este programa sustituye las versiones de parches de alerta de seguridad. Estos parches son acumulativos e incluyen los parches de requisitos más solicitados y necesarios. La versión de parches trimestral se suministra con una matriz de valoración de riesgos para que pueda determinar en su ubicación el impacto y los riesgos de seguridad. Consulte la nota deMetaLink: 290738.1 “Oracle Critical Patch Update Program General FAQ”. Se debe suscribir a MetaLink para recibir estas actualizaciones. Aplicación de Todos los Parches de Seguridad y Soluciones AlternativasAplique siempre todos los parches de seguridad relevantes y actuales para el sistema operativo en el que reside la base de datos y el software de Oracle y para todas las opciones y componentes instalados.Contacto con el Equipo de Productos de Seguridad de OracleSi cree que ha encontrado una vulnerabilidad de seguridad en el software de Oracle, siga las instrucciones proporcionadas en el enlace Security Alerts en http://otn.oracle.com o en http://www.oracle.com/technology/deploy/security/alerts.htm.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 318: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 10-30

Copyright © 2008, Oracle. Todos los derechos reservados.

Resumen

En esta lección, debe haber aprendido lo siguiente:• Describir sus responsabilidades de DBA en

cuanto a seguridad• Aplicar el principio de privilegio más bajo• Activar la auditoría estándar de la base de datos• Especificar opciones de auditoría • Revisar la información de auditoría• Mantener la pista de auditoría

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 319: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 10-31

Copyright © 2008, Oracle. Todos los derechos reservados.

Visión General de la Práctica: Implementación de Seguridad de Oracle

Database

En esta práctica se abordan los siguientes temas:• Activación de la auditoría de base de datos

estándar• Especificación de las opciones de auditoría para la

tabla HR.JOBS• Actualización de la tabla• Revisión de la información de auditoría• Mantenimiento de la pista de auditoría

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 320: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 321: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Copyright © 2008, Oracle. Todos los derechos reservados.

Configuración del Entorno de Red de Oracle

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 322: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Objetivos

Al finalizar esta lección, debería estar capacitado para:• Utilizar Enterprise Manager para:

– Crear listeners adicionales– Crear alias de servicio de Red de Oracle– Configurar operaciones de failover de tiempo de

conexión– Controlar el listener de red de Oracle

• Utilizar tnsping para realizar pruebas de la conectividad de Red de Oracle

• Identificar cuándo se deben utilizar servidores compartidos frente a servidores dedicados

Recursos• Oracle Database, Net Services Administrator’s Guide, 10g Release 2 (10.2), número de

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

B14213-01

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 323: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Servicios de Red de Oracle

Aplicación

Red de Oracle

RDBMS

Red de Oracle

Cliente ocapa media

Servidor de base de datos

Red TCP/IP

Listener

Archivos de configuraciónde Red de Oracle

Archivos de configuraciónde Red de Oracle

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 324: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Listener de Red de Oracle

Listener

<oracle_home>/network/admin/listener.orasqlnet.ora

Bases de datosOracle

Archivos de configuraciónde Red de Oracle

EnterpriseManagerDatabaseControl

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 325: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Establecimiento de Conexiones de Red

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

Resolución de Nombres

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 326: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Listener

Establecimiento de una Conexión

Solicitud deconexión entrante

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 327: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 11-7

Copyright © 2008, Oracle. Todos los derechos reservados.

Procesode servidor

Sesiones de Usuario

PGA

Listener

Sesión de usuario

Proceso de usuario

Sesiones de UsuarioSi el paquete CONNECT solicita un nombre de servicio válido, el listener origina un nuevo proceso para que se ocupe de la conexión. Este nuevo proceso se conoce como “proceso de servidor”. El listener conecta con el proceso y le transfiere información de inicialización, incluida la información de dirección para el proceso de usuario. En este punto, el listener ya no se ocupa de la conexión y todo el trabajo se transfiere al proceso de servidor.El proceso de servidor comprueba las credenciales de autenticación del usuario (normalmente una contraseña) y, si las credenciales son válidas, se crea una sesión de usuario.Proceso de servidor dedicado: Con la sesión establecida, el proceso de servidor actúa ahora como el agente del usuario en el servidor. El proceso de servidor es responsable de:

• Analizar y ejecutar las sentencias SQL emitidas a través de la aplicación.• Comprobar si en la caché de buffers de la base de datos hay bloques de datos que necesitan

llevar a cabo sentencias SQL.• Leer bloques de datos necesarios de archivos de datos en disco en la parte de caché de

buffers de la base de datos del Área Global del Sistema (SGA), si los bloques no están ya en el SGA.

• Gestionar toda la actividad de ordenación. Una parte del proceso de servidor denominado Área Global de Programa (PGA) contiene un área de memoria denominada área de ordenación que se utiliza para trabajar con ordenación.

• Devolver resultados al proceso de usuario de modo que la aplicación pueda procesar la información.

• Leer las opciones de auditoría e informar de los procesos de usuario al destino de auditoría.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 328: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Herramientas para Configurar y Gestionar la Red de Oracle

• Página Net Services Administration de Enterprise Manager

• Oracle Net Manager• Oracle Net Configuration Assistant que ejecuta

Oracle Universal Installer• Línea de comandos

Herramientas para Configurar y Gestionar la Red de OraclePuede utilizar cualquiera de las siguientes herramientas para gestionar su configuración de Red de Oracle:

• Enterprise Manager: Proporciona un entorno integrado para configurar y gestionar servicios de Red de Oracle. Utilice Enterprise Manager para configurar los servicios de Red de Oracle para cualquier directorio raíz de Oracle en varios sistemas de archivos y para administrar listeners.

• Oracle Net Manager: Ofrece una interfaz gráfica de usuario (GUI) que permite configurar servicios de Red de Oracle para un directorio raíz de Oracle en un cliente local o en un hostde servidor.

• Asistente de Configuración de Red de Oracle: Lo ejecuta Oracle Universal Installercuando se instala el software de Oracle. Oracle Net Configuration Assistant permite configurar la dirección de protocolo de recepción y la información de servicios de una base de datos Oracle.

• Línea de Comandos: Se utiliza para iniciar, parar y visualizar el estado del proceso delistener. Se trata de un usuario del sistema operativo (en clase, oracle) que inicia o para el listener. Si no se inicia el listener, no se podrá utilizar Enterprise Manager. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 329: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 11-9

Copyright © 2008, Oracle. Todos los derechos reservados.

Utilidad Listener Control

Los listeners de Red de Oracle se pueden controlar con la utilidad de línea de comandos lsnrctl (odesde EM).

$lsnrctl

LSNRCTL for Linux: Version 10.2.0.0.0 on 12-MAY-2005 13:27:51

Copyright (c) 1991, 2004, Oracle. All rights reserved.

Welcome to LSNRCTL, type "help" for information.

LSNRCTL> help

The following operations are available

An asterisk (*) denotes a modifier or extended command:

start stop status

services version reload

save_config trace spawn

change_password quit exit

set* show*

Utilidad Listener ControlCuando se inicia una instancia, un proceso del listener establece una vía de comunicación con la base de datos Oracle. A continuación, el listener podrá aceptar las solicitudes de conexión de base de datos.La utilidad Listener Control permite controlar el listener. Con lsnrctl, puede:

• Iniciar el listener• Parar el listener • Comprobar el estado del listener• Reinicializar el listener a partir de los parámetros del archivo de configuración• Configurar dinámicamente muchos listeners • Cambiar la contraseña del listener

La sintaxis de comandos básica para esta utilidad es la siguiente:LSNRCTL> command [nombre_listener]

Cuando se emite el comando lsnrctl, el comando actúa en el listener por defecto (con nombre “LISTENER”) a menos que se especifique un nombre de listener distinto o se ejecute el comando SET CURRENT_LISTENER. Si el nombre del listener es LISTENER, el argumento nombre_listener se puede omitir. Los comandos válidos para lsnrctl se muestran en la diapositiva.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 330: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Sintaxis de la Utilidad Listener Control

Los comandos de la utilidad de control del listener se pueden emitir desde la línea de comandos o desde el prompt LSNRCTL.• Sintaxis de línea de comandos de UNIX o Linux:••••• Sintaxis de prompt:

$ lsnrctl <nombre_comando>

$ lsnrctl start

$ lsnrctl status

LSNRCTL> <nombre_comando>

LSNRCTL> start

LSNRCTL> status

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

$ lsnrctl start

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

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 331: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Sintaxis de la Utilidad Listener Control (continuación)Recuerde que si el listener tiene un nombre distinto de LISTENER, debe incluir el nombre dellistener con el comando o utilizar el comando SET CURRENT_LISTENER. Por ejemplo, ellistener se llama BACKUP. A continuación, aparecen dos ejemplos de cómo se para un listenercon nombre BACKUP mediante la sintaxis de prompt:

LSNRCTL> stop backupConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rhel)(PORT=5521)))The command completed successfully

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

Nota: En la sintaxis anterior, current_listener se puede abreviar como cur.También puede lograr los mismos resultados con la sintaxis de línea de comandos:

/home/oracle> lsnrctl stop backupLSNRCTL for Linux:Version 10.2.0.0.0 on 12-MAY-2005 15:19:33Copyright (c) 1991, 2004, Oracle. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rhel)(PORT=5521)))The command completed successfully

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 332: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Página Inicial del Listener

Página Inicial del ListenerHaga clic en el enlace Listener de la página inicial de la base de datos Enterprise Manager para acceder a la página inicial del listener.En esta página se puede ver:

• El estado y la disponibilidad del listener en las últimas 24 horas• La versión del listener y el directorio raíz de Oracle• La primera dirección de recepción para el listener• La ubicación de los archivos de configuración que se utilizan para iniciar el listener• La hora de inicio del listener y la información del host

Para iniciar el listener, vaya a la página inicial de la base de datos y haga clic en el nombre dellistener para abrir la página inicial del listener. Haga clic en Stop para parar el listener si se está ejecutando o en Start para iniciar el listener si no se está ejecutando. Conéctese al host como usuario del sistema operativo que puede iniciar y parar el listener.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 333: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Página Net Services Administration

Página Net Services AdministrationLa página Net Services Administration le permitirá configurar los servicios de Red de Oracle para cualquier directorio raíz de Oracle en varios sistemas de archivos. También proporciona funciones de administración comunes para los listeners. Puede utilizar Net ServicesAdministration para configurar y administrar lo siguiente:

• Listeners: Puede agregar, eliminar, iniciar y parar un listener, así como cambiar las características de rastreo y de registro. También puede ver el informe de estado de control de un listener.

• Directory Naming: Defina nombres simples e identificadores de conexión y asígnelos a descriptores de conexión para identificar la ubicación de la red y la identificación de un servicio. Guarde los servicios de base de datos, servicios de red y alias de servicio de red en un servicio de directorio centralizado.

• Local Naming: Guarde los nombres de servicio de red en el archivo tnsnames.ora.• Profiles: Configure los parámetros sqlnet.ora.• File Location: Cambie la ubicación de los archivos de configuración de los servicios de

red.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 334: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Creación de un Listener

1

2

34

Creación de un Listener Para crear un listener de Red de Oracle, haga clic en Net Services Administration en la regiónRelated Links de la página de propiedades del listener. Realizar los siguientes pasos:

1. Seleccione Listeners de la lista desplegable Administer y haga clic en Go.2. Haga clic en Create.3. Introduzca un nombre de listener. El nombre debe ser único para este servidor.4. Agregue una dirección de listener. Cada listener debe tener al menos una dirección de

listener.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 335: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Adición de Direcciones de Listener

56

7

Adición de Direcciones de Listener El flujo de trabajo para crear un listener continúa:

5. Seleccione el protocolo de red. TCP/IP es el más utilizado y el protocolo por defecto. Otras opciones son Comunicación Interna entre Procesos (IPC), utilizada normalmente para conectar a aplicaciones locales (que residen en el servidor de bases de datos), o bibliotecas de código externo (EXTPROC), Named Pipes (NMP) y TCP/IP con SSL.Nota: Los protocolos NMP y EXTPROC se configuran utilizando el separador OtherServices.

6. Introduzca el puerto que desea que controle el listener. El puerto por defecto de Red de Oracle es el 1521. Si decide utilizar un puerto que no sea el 1521, necesitará realizar una configuración adicional del listener o de la instancia.

7. Introduzca el nombre o la dirección IP del servidor en el que se ejecutará el listener.8. Los demás pasos de configuración son opcionales para el listener. Haga clic en OK para

guardar la dirección. La única configuración necesaria es la dirección de recepción y el nombre. Haga clic en OK para guardar los cambios.

9. Para iniciar el nuevo listener, seleccione Start/Stop de la lista desplegable Actions y haga clic en Go. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 336: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Registro de Servicio de Base de Datos

Registro de Servicio de Base de DatosPara que un listener reenvíe conexiones del cliente a una instancia, éste debe conocer el nombre de la instancia y el lugar donde está ubicado el directorio ORACLE_HOME de la instancia. Ellistener puede buscar esta información de dos formas:

• Registro de servicio dinámico: Las instancias de la base de datos Oracle8i, Oracle9i y Oracle 10g se registran automáticamente con el listener por defecto al iniciar la base de datos. No es necesario realizar ninguna configuración adicional en el listener por defecto.

• Registro de servicio estático: Las versiones anteriores de la base de datos Oracle no se registran automáticamente con el listener y, por tanto, necesitan que el archivo de configuración del listener contenga una lista de todos los servicios de base de datos de los que se ocupará el listener. Aún puede utilizar el registro de servicio estático con versiones más recientes si:

- El listener no está en el puerto por defecto 1521 y no desea configurar la instancia para que se registre con un puerto que no sea por defecto.

- La aplicación necesita un registro de servicio estático.Para agregar un servicio de base de datos estático, seleccione Static Database Registration en la página Edit Listener y haga clic en el botón Add. Introduzca el nombre del servicio (el mismo que el nombre de la base de datos global <DB_NAME>.<DB_DOMAIN>), la ruta de acceso ORACLE_HOME y el SID (el mismo que el nombre de la instancia). Haga clic en OK. Debe volver a cargar (utilice el comando RELOAD) o reiniciar el listener para que se apliquen los cambios.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 337: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Métodos de Nomenclatura

La Red de Oracle soporta varios métodos para resolver la información de conexión:• Nomenclatura de conexión sencilla: Utiliza una

cadena de conexión TCP/IP• Nomenclatura local: Utiliza un archivo de

configuración local• Nomenclatura de directorios: Utiliza un servidor

de directorios compatible con LDAP centralizado• Nomenclatura externa: Utiliza un servicio de

nomenclatura soportado que no es de Oracle

Cliente/servidor de aplicacionesRed de Oracle

Archivos de configuración de Red de Oracle

Métodos de NomenclaturaLa Red de Oracle soporta los siguientes métodos de nomenclatura:

• Nomenclatura de conexión sencilla: El método de nomenclatura de conexión sencilla permite a los clientes conectarse a un servidor de base de datos Oracle mediante una cadena de conexión TCP/IP formada por un nombre de host, un puerto opcional y un nombre de servicio, como en el siguiente ejemplo:

CONNECT username/password@host[:port][/service_name] El método de nomenclatura de conexión sencilla no exige ninguna configuración.

• Nomenclatura local: El método de nomenclatura local almacena descriptores de conexión que se identifican por su nombre de servicio de red en un archivo de configuración en el cliente denominado tnsnames.ora.

• Nomenclatura de directorios: El método de nomenclatura de directorios almacena identificadores de conexión en un servidor de directorios compatible con Lightweight Directory Access Protocol (LDAP) centralizado para acceder a un servicio de base de datos.

• Nomenclatura externa: El método de nomenclatura externa almacena nombres de servicios de red en un servicio de nomenclatura no de Oracle soportado. Los servicios de terceros soportados incluyen:

- Nomenclatura Externa de Servicios de Información de Red (NIS)- Servicio de Directorio de Celdas (CDS) del entorno Distributed Computing

Environment (DCE)

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 338: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Conexión Sencilla

• Activada por defecto• No necesita configuración del cliente• Soporta sólo TCP/IP (no SSL)• No ofrece soporte para opciones de conexión

avanzadas como:– Operación de failover de tiempo de conexión– Direccionamiento de origen– Equilibrio de carga

SQL> CONNECT hr/[email protected]:1521/dba10g

Archivos de configuración que no son de Red de Oracle

Conexión SencillaCon la conexión sencilla, se proporciona toda la información necesaria para la conexión de Red de Oracle como parte de la cadena de conexión. Las cadenas de conexión sencilla tienen el siguiente formato:

<nombre_usuario>/<contraseña>@<nombre_host>:<puerto_listener>/<nombre_servicio>

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

SQL> connect hr/[email protected]

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 339: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Nomenclatura Local

• Necesita un archivo de resolución de nombres del cliente

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

– Operación de failover de tiempo de conexión– Direccionamiento de origen– Equilibrio de carga

SQL> CONNECT hr/hr@orcl

Archivos de configuraciónde Red de Oracle

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 340: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Nomenclatura de Directorios

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

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

SQL> CONNECT hr/hr@orcl

Directorio LDAP

Archivos de configuraciónde Red de Oracle

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 341: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Método de Nomenclatura Externa

• Utiliza un servicio de nomenclatura soportado que no es de Oracle

• Incluye:– Nomenclatura Externa de Servicios de Información

de Red (NIS)– Servicio de Directorio de Celdas (CDS) del entorno

Distributed Computing Environment (DCE)

Red de Oracle

Servicio denomenclatura que no es de

Oracle

Método de Nomenclatura ExternaEl método de nomenclatura externa almacena nombres de servicios de red en un servicio de nomenclatura no de Oracle soportado. Los servicios de terceros soportados incluyen:

• Nomenclatura Externa de Servicios de Información de Red (NIS) • Servicio de Directorio de Celdas (CDS) del entorno Distributed Computing Environment

(DCE) Conceptualmente, la nomenclatura externa es parecida a la de directorios.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 342: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Configuración de Alias de Servicio

Crear oeditar

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 343: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Opciones de Conexión Avanzada

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

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 344: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

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

NoneUse only the first address.

Source routingUse each address in order until the destination is reached.

Load balancingTry one address selected at random.

FailoverLoad balancing

Try each address, randomly, until one succeeds.

FailoverTry each address, in order, until one succeeds.

Funcionalidad Avanzada

Opción

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 345: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Prueba de la Conectividad de Red de Oracle

La utilidad tnsping que comprueba los alias de servicio de Red de Oracle:• Garantiza la conectividad entre el cliente y el listener

de Red de Oracle• No verifica que el servicio solicitado esté disponible• Soporta resolución de nombres de conexión sencilla:

• Soporta nomenclatura local y de directorios:

tnsping db.us.oracle.com:1521/dba10g

tnsping orcl

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 346: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

User Sessions: Servidor Dedicado

Proceso de servidor

Proceso de servidor

Sesiones de usuario

Proceso de servidor

Listener

User Sessions: Servidor DedicadoCon procesos de servidor dedicado hay una relación equitativa entre procesos de servidor y procesos de usuario. Cada proceso de servidor utiliza recursos del sistema, incluidos ciclos de CPU y memoria.En un sistema con una carga intensiva, los recursos de memoria y CPU que utilizan los procesos de servidor dedicado pueden ser extremadamente altos y pueden afectar negativamente a la escalabilidad del sistema. Si el sistema sufre un impacto negativo por las demandas de recursos de la arquitectura del servidor dedicado, tiene las dos opciones siguientes:

• Aumentar los recursos del sistema agregando más memoria y capacidad adicional de CPU• Utilizar la arquitectura de servidor compartido Oracle

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 347: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 11-27

Copyright © 2008, Oracle. Todos los derechos reservados.

User Sessions: Servidores Compartidos

Listener

DistribuidorProceso de

servidor

Proceso deservidor

Proceso deservidor

Sesiones de usuario

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 348: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

SGA

Pool grande y otras estructuras

de memoria

Espaciode pila

PGA

SGA y PGA

Datos desesión deusuario

Estadodel

cursor

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

Ordenardatos

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

SGA y PGAEl contenido de SGA y PGA varía cuando se utilizan servidores dedicados o compartidos:

• Los formatos de texto y analizados de todas las sentencias SQL se almacenan en el SGA.• El estado del cursor contiene valores de memoria en tiempo de ejecución para la sentencia

SQL, como las filas recuperadas.• Los datos de sesión de usuario incluyen información sobre seguridad y uso de recursos.• El espacio de pila contiene variables locales para el proceso.

Nota TécnicaEl cambio en SGA y PGA es transparente para el usuario; sin embargo, si se admiten varios usuarios, debe aumentar el parámetro de inicialización LARGE_POOL_SIZE. Cada proceso de servidor compartido debe acceder a los espacios de datos de todas las sesiones para que cualquier servidor pueda manejar solicitudes desde cualquier sesión. El espacio se asigna en el SGA para el espacio de datos de cada sesión. Puede limitar el espacio que puede asignar una sesión configurando el límite del recurso PRIVATE_SGA en la región Database Services de la página General del perfil del usuario.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 349: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Servidor Compartido: Pool de Conexiones

La aplicación del cliente ha sobrepasado el tiempo de

inactividad especificado y un cliente entrante solicita una conexión.

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

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

Servidor debase de datos

Cliente inactivo

Cliente activo

Cliente nuevo

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 350: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Cuándo No se Debe Utilizar un Servidor Compartido

Algunos tipos de trabajos de base de datos no se deben realizar con servidores compartidos:• Administración de base de datos• Operaciones de copia de seguridad y recuperación• Procesamiento por lotes y operaciones de carga en

bloque• Operaciones de almacén de datos

Distribuidor Proceso deservidor dedicado

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 351: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Resumen

En esta lección, debe haber aprendido lo siguiente:• Utilizar Enterprise Manager para:

– Crear listeners adicionales– Crear alias de servicio de Red de Oracle– Configurar operaciones de failover de tiempo de

conexión– Controlar el listener de red de Oracle

• Utilizar tnsping para realizar pruebas de la conectividad de Red de Oracle

• Identificar cuándo se deben utilizar servidores compartidos frente a servidores dedicados

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 352: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Visión General de la Práctica: Trabajar con los Componentes de Red de Oracle

En esta práctica se aborda: • Configuración de la resolución de nombres local

para conectar a otra base de datos• Creación de un segundo listener para el failover

de tiempo de conexión

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 353: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Copyright © 2008, Oracle. Todos los derechos reservados.

Mantenimiento Proactivo

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 354: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Objetivos

Al finalizar esta lección, debería estar capacitado paralo siguiente:• Usar estadísticas• Gestionar el Repositorio de Carga de Trabajo

Automática (AWR)• Usar el Monitor de Diagnóstico de Base de Datos

Automático (ADDM)• Describir el marco de asesoramiento• Definir umbrales de alerta • Usar alertas generadas por el servidor• Usar tareas automáticas

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 355: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Mantenimiento Proactivo

Repositorio de Cargade Trabajo Automática

Alertasde servidor

Tareasautomáticas

Marco deasesoramiento

Almacén de datosde la base de datos

Recopilación automáticade estadísticas importantes

Acceso directoa memoria

Automático Proactivo

Eficaz

Mantenimiento ProactivoLa infraestructura sofisticada de la base de datos Oracle hace que el mantenimiento proactivo seasencillo. Los elementos principales son los siguientes:

• El repositorio de carga de trabajo automática (AWR) es un repositorio incorporado en cadabase de datos Oracle. En intervalos regulares, la base de datos Oracle realiza una instantánea de todas las estadísticas fundamentales y la información de carga de trabajo y la almacena en AWR. Los datos capturados los puede analizar el usuario, la propia base dedatos o ambos.

• Mediante el análisis de la información almacenada en AWR, la base de datos puede identificar la necesidad de realizar tareas de mantenimiento rutinarias, como realizar copiasde seguridad periódicas para maximizar la disponibilidad o refrescar las estadísticas que seutilizan para optimizar la ejecución de sentencias SQL.

• La base de datos Oracle proporciona alertas generadas por el servidor para los problemas que no se pueden resolver de manera automática y que se necesitan notificar a losadministradores (como, por ejemplo, la falta de espacio). La base de datos Oracle se puede controlar a sí misma y mandar alertas para notificar los problemas. Las alertas no sólo notifican los problemas sino que también ofrecen recomendaciones de cómo se pueden solucionar.

• Las recomendaciones se generan desde los diferentes asesores, cada uno de los cuales es responsable de un subsistema. Por ejemplo, existen asesores de memoria y de SQL.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 356: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Introducción a la Terminología

• Repositorio de Carga de Trabajo Automática(AWR): Infraestructura para recopilar datos,realizar análisis y recomendar soluciones

• Línea base: Datos recopilados de una “base dedatos que se ejecuta de manera normal” para comparar el rendimiento

• Métrica: Ratio de cambio en una estadística acumulativa

• Estadísticas: Recopilaciones de datos utilizadas para optimizar las operaciones internas, como la ejecución de una sentencia SQL

• Umbral: Valor de límite respecto al que se comparan los valores métricos

Introducción a la TerminologíaEl repositorio de carga de trabajo automática (AWR) proporciona servicios a los componentes deservidor de Oracle internos para recopilar, procesar, mantener y utilizar las estadísticas derendimiento para detectar posibles problemas y aplicar los ajustes necesarios automáticamente. El historial de sesiones activas (ASH) es el historial de la actividad de sesión más reciente,almacenado en AWR. Las estadísticas son una recopilación de datos que proporcionan más detalles sobre la base dedatos y los objetos de la misma. El optimizador de consulta utiliza las estadísticas deloptimizador para elegir el mejor plan de ejecución para cada sentencia SQL. En los datos de línea base se debe incluir:

• Estadísticas de aplicación (volúmenes de transacción, tiempo de respuesta)• Estadísticas de base de datos • Estadísticas del sistema operativo • Estadísticas de E/S de disco• Estadísticas de red

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 357: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Estadísticas del Optimizador

Las estadísticas del optimizador:• No son en tiempo real• Son persistentes tras los reinicios de la instancia• Se recopilan automáticamenteSQL> SELECT COUNT(*) FROM hr.employees;

COUNT(*)

----------

214

SQL> SELECT num_rows FROM dba_tables

2 WHERE owner='HR' AND table_name = 'EMPLOYEES';

NUM_ROWS

----------

107

> Estadísticas AWRADDMAsesoresAlertasTareas Autom.

Estadísticas del OptimizadorEn las estadísticas del optimizador se incluyen estadísticas de tabla, columna, índice y sistema. Las estadísticas para tablas e índices se almacenan en el diccionario de datos. Estas estadísticasno están destinadas a proporcionar datos en tiempo real. Proporcionan al optimizador una instantánea estadísticamente correcta del almacenamiento y la distribución de datos que eloptimizador utiliza para tomar decisiones sobre cómo acceder a los datos. En las estadísticas recopiladas se incluyen:

• Tamaño de la tabla o índice en los bloques de base de datos • Número de filas • Recuento de cadenas y tamaño medio de fila (sólo tablas)• Altura y número de filas de hoja suprimidas (sólo índices)

A medida que se insertan, suprimen y modifican datos, estos hechos cambian. El impacto en elrendimiento del mantenimiento de estadísticas de distribución de datos en tiempo real sería extremadamente alto, de modo que estas estadísticas se actualizan recopilando periódicamente estadísticas en tablas e índices. Las estadísticas del optimizador las recopila automáticamente el trabajo GATHER_STATS_JOBpreconfigurado, que se ejecuta una vez al día durante las ventanas de mantenimiento predefinidas.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 358: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Estadísticas del Optimizador (continuación)Una tabla grande que experimenta un crecimiento (o reducción) del 10% en un período de 24horas se suele considerar demasiado volátil para que sea suficiente una recopilación deestadísticas una vez al día. Para las tablas que experimenten este nivel de cambio, Oraclerecomienda recopilar estadísticas con más frecuencia, a ser posible con la periodicidad suficiente para que la tabla nunca cambie más de un 10% entre períodos de recopilación. Para ello senecesita la recopilación manual de estadísticas. Las estadísticas se pueden recopilar manualmente con Enterprise Manager o con el paqueteDBMS_STATS, como se muestra a continuación:

SQL> EXEC dbms_stats.gather_table_stats(‘HR’,’EMPLOYEES’); SQL> SELECT num_rows FROM dba_tables

2 WHERE owner='HR' AND table_name = 'EMPLOYEES'; NUM_ROWS

----------214

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 359: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Uso de la Página Manage Optimizer Statistics

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 360: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Uso de la Página Manage Optimizer Statistics (continuación)Desde esta página puede realizar las siguientes tareas en las estadísticas:

• Recopilar estadísticas del optimizador manualmente. Esta acción ejecuta el trabajo queGATHER_STATS_JOB realiza de manera automática. Se debe realizar en el caso de que elcontenido de una tabla haya cambiado tanto entre los trabajos de recopilación automáticos que las estadísticas ya no representen la tabla de forma precisa. Entre los ejemplos seincluye una tabla que se ha truncado a mitad del día y un trabajo por lotes que se ejecuta yagrega grandes cantidades de datos a una tabla.

• Restaurar las estadísticas del optimizador en un punto en el pasado. El punto en el tiempo seleccionado se debe situar dentro del período de retención de las estadísticas deloptimizador, que es de 30 días por defecto.

• Bloquear las estadísticas del optimizador para garantizar que las estadísticas dedeterminados objetos nunca se sobrescriban. Esta opción resulta útil si se han calculado las estadísticas de una determinada tabla en un momento en el que estaban presentes los datos más representativos y si desea mantener siempre esas estadísticas. Las fluctuaciones de latabla no afectarán a las estadísticas si están bloqueadas.

• Desbloquear las estadísticas del optimizador para deshacer un bloqueo realizado previamente.

• Suprimir las estadísticas del optimizador para suprimir estadísticas.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 361: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Repositorio de Carga de Trabajo Automática

(AWR)• Repositorio incorporado de información

sobre el rendimiento• Se toman instantáneas de las métricas de

la base de datos cada 60 minutos y se retienen durante 7 días

• Base para todas las funciones de autogestión

MMONEstadísticasen memoria Instantáneas

AWRSGA

60 minutos

Estadísticas> AWR

ADDMAsesoresAlertasTareas Autom.

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 362: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Infraestructura de AWR

SGA

V$ DBA_*

ADDM Componentede ajuste automático

Componentede ajuste automático

…Clientes internos

Clientes externosEM SQL*Plus …

Recopilacióneficaz

de estadísticasen memoria

Instantáneasde AWRMMON

Infraestructura de AWRLa infraestructura de AWR consta de dos partes principales:

• Un servicio de recopilación de estadísticas en memoria que utilizan los componentes de la base de datos Oracle 10g para recopilar estadísticas. Estas estadísticas se almacenan enmemoria por motivos de rendimiento. Para acceder a las estadísticas almacenadas enmemoria se utilizan las vistas de rendimiento dinámico (V$).

• Las instantáneas AWR que representan la porción persistente de la utilidad. Para acceder alas instantáneas AWR se utilizan las vistas del diccionario de datos y Enterprise Manager Database Control.

Las estadísticas se almacenan de forma persistente por varios motivos: • Las estadísticas deben sobrevivir a posibles fallos de la instancia.• Algunos análisis necesitan datos históricos para realizar comparaciones de línea base. • Se puede producir un desbordamiento de memoria. Cuando las estadísticas antiguas se

sustituyen por nuevas por falta de memoria, los datos sustituidos se pueden almacenar conobjeto de utilizarlos más adelante.

La versión de la memoria de las estadísticas se transfiere al disco regularmente mediante elproceso en segundo plano MMON. Con AWR, la base de datos Oracle ofrece un sistema para capturar datos estadísticos históricos automáticamente, sin intervención por parte de los DBA.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 363: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Juegos de Instantáneas de AWR

DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE ( -

start_snap_id IN NUMBER ,

end_snap_id IN NUMBER ,

baseline_name IN VARCHAR2);

Período relevanteen el pasado

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 364: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Enterprise Manager y AWR

Enterprise Manager y AWRSeleccione Administration > Database Administration > Statistics Management > Automatic Workload Repository y haga clic en Edit para cambiar los valores.Desde la página Automatic Workload Repository podrá:

• Editar los valores del repositorio de carga de trabajo.• Consultar información detallada acerca de las instantáneas creadas y crear manualmente

instantáneas nuevas.• Crear líneas base, también denominadas juegos de instantáneas mantenidas.• Generar un informe AWR.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 365: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Gestión de AWR

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

de almacenamiento• Intervalo de recopilación

– El valor por defecto es de 60 minutos

– Considere las necesidades de almacenamiento y el impacto en el rendimiento

• Nivel de recopilación– BASIC (desactiva la mayoría de las funciones de

ADDM) – TYPICAL (recomendado)– ALL (agrega información adicional de ajustes SQL a

las instantáneas)

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 366: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Niveles de Estadísticas

STATISTICS_LEVEL

BASIC TYPICAL ALL

Valor por defecto

recomendado

Estadísticas adicionalespara diagnósticos

SQL manuales

Capacidades deajuste automático

desactivadas

Niveles de EstadísticasPuede controlar el juego de estadísticas que se desea capturar mediante el parámetro deinicialización STATISTICS_LEVEL, que incluye los siguientes niveles de captura: • BASIC: Desactiva el cálculo de estadísticas y métricas de AWR.• TYPICAL: Sólo se recopilan algunas de las estadísticas. Representan lo que normalmente

se necesita para controlar el comportamiento de la base de datos Oracle. Esta recopilación automática de estadísticas reduce la posibilidad de sentencias SQL de rendimiento bajo debido a estadísticas anticuadas o no válidas.

• ALL: Se capturan todas las estadísticas posibles. Este nivel de captura sólo se deberá utilizar en algunos casos, poco usuales, en los que se necesite información de diagnósticoSQL adicional.FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 367: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Automatic Database DiagnosticMonitor (ADDM)

• Se ejecuta después de las instantáneas de AWR

• Controla la instancia y detecta los cuellos de botella

• Almacena resultados en AWR

Instantáneas

ADDM

AWR

EMResultados de

ADDM

EstadísticasAWR

> ADDM AsesoresAlertasTareas Autom.

Automatic Database Diagnostic Monitor (ADDM)A diferencia de otros asesores, ADDM se ejecuta automáticamente después de cada instantáneade AWR. Cada vez que se toma una instantánea, ADDM realiza un análisis del período correspondiente a las dos últimas instantáneas. ADDM controla de forma proactiva la instancia ydetecta la mayoría de los cuellos de botella antes de que se conviertan en un problema importante. En muchos casos, ADDM recomienda soluciones para los problemas detectados e incluso cuantifica las ventajas de las recomendaciones. Entre los problemas comunes que detecta ADDM se incluyen:

• Cuellos de botella en CPU• Gestión deficiente de la conexión de Red de Oracle• Contención de bloqueo • Capacidad de entrada/salida (E/S)• Reducción excesiva del tamaño de las estructuras de memoria de Oracle• Sentencias SQL de carga alta • Tiempos de PL/SQL y de Java altos• Carga alta de punto de control y causa (por ejemplo, archivos log pequeños)

Los resultados de los análisis de ADDM se almacenan en AWR y también se puede acceder aellos a través de Enterprise Manager.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 368: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Resultados de ADDM

1

2

3

Resultados de ADDMLa página Automatic Database Diagnostic Monitor (ADDM) le permite ver los resultados detallados del último análisis de ADDM ejecutado. Database Time representa la suma del tiempode actividad en las sesiones de la base de datos durante el período de análisis. Cada resultado tiene un porcentaje de impacto específico. El impacto representa el tiempo consumido por elproblema correspondiente comparado con el tiempo de la base de datos durante el período deanálisis. En esta diapositiva, puede observar:

1. El gráfico muestra que el número medio de usuarios activos aumentó drásticamente en este punto. Además, el problema más importante fue un problema de espera (Wait).

2. El icono muestra que la salida de ADDM que aparece en la parte inferior de la página corresponde a este momento. Puede ir a un momento anterior (para ver un análisis previo)haciendo clic en los otros iconos.

3. Los resultados le proporcionan un corto resumen de lo que descubrió ADDM como áreas ajustables. Al hacer clic en un problema concreto, pasará a la página Performance Finding Details.

Si hace clic en el botón View Report podrá acceder a información detallada sobre el análisis derendimiento en forma de informe de texto. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 369: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Recomendaciones de ADDM

Recomendaciones de ADDMLa página Performance Finding Details ofrece recomendaciones para solucionar los problemas encontrados. Las recomendaciones se agrupan en categorías, entre ellas categorías de esquema, de ajuste SQL y de configuración de la base de datos. La columna Benefit (%) muestra lareducción máxima de tiempo transcurrido en la base de datos al implementar la recomendación. ADDM considera la posibilidad de aplicar varios cambios al sistema y entre sus recomendaciones están:

• Cambios de hardware: Agregar CPU o cambiar la configuración del subsistema de E/S.• Configuración de la base de datos: Cambiar valores de parámetros de inicialización.• Cambios de esquema: Crear particiones hash de tablas o índices, o bien utilizar la gestión

automática de espacio de segmento (ASSM).• Cambios de aplicación: Utilizar la opción de caché para secuencias o usar variables

ligadas.• Utilizar otros asesores: Ejecutar el Asesor de Ajustes SQL en SQL con mucha carga o

ejecutar el Asesor de Segmentos en objetos activos.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 370: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Marco de Asesoramiento

ADDM

Asesor deAjustes SQL

Asesor deAcceso SQL

Memoria

Espacio

Asesor de PGA

SGA

Asesor de Segmentos

Asesor de Deshacer

Asesor de Cachéde Buffers

Asesor de Cachéde Bibliotecas

PGA

Copia deSeguridad Asesor de MTTR

EstadísticasAWRADDM

> Asesores AlertasTareas Autom.

Marco de AsesoramientoLos asesores son componentes de servidor que proporcionan información de gran utilidad acercade la utilización y el rendimiento de los recursos de sus respectivos componentes. Al contar con los datos capturados por AWR, ADDM permite a la base de datos Oraclediagnosticar su propio rendimiento y determinar cómo se pueden resolver los problemas identificados. ADDM se ejecuta automáticamente después de cada una de las capturas deestadísticas AWR. Puede llamar a otros asesores. Las principales ventajas que proporciona la infraestructura de asesores son las siguientes:

• Utiliza una interfaz uniforme para todos los asesores.• Todos los asesores disponen de un origen de datos común y un almacén de resultados al

utilizar el repositorio de carga de trabajo.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 371: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 372: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Enterprise Manager y Asesores

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 373: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Paquete DBMS_ADVISOR

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

GET_TASK_SCRIPT

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

MARK_RECOMMENDATION

Modifica un parámetro de tarea.SET_TASK_PARAMETER

Actualiza atributos de tarea.UPDATE_TASK_ATTRIBUTES

Hace que se reanude una tarea suspendida.RESUME_TASK

Crea y devuelve un informe de texto para latarea especificada.

GET_TASK_REPORT

Suspende una tarea que se está ejecutando actualmente.

INTERRUPT_TASK

Inicia la ejecución de la tarea.EXECUTE_TASK

Suprime una tarea del repositorio.DELETE_TASK

Crea una tarea nueva en el repositorio.CREATE_TASK

Descripción Procedimiento

Paquete DBMS_ADVISOR

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 374: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 12-22

Copyright © 2008, Oracle. Todos los derechos reservados.

Alertas Generadas por el Servidor

Colade alertas

del servidor.

La métrica excedeel umbral.

AWR

Enterprise Manager

Instancia de Oracle

EstadísticasAWRADDMAsesores

> Alertas Tareas Autom.

Alertas Generadas por el ServidorLas alertas sirven para notificar cuándo una base de datos está en un estado no deseado ynecesita atención. Por defecto, la base de datos Oracle proporciona alertas a través de Enterprise Manager Database Control. Opcionalmente, Enterprise Manager se puede configurar para enviarun correo electrónico al administrador acerca de las condiciones del problema, así como para mostrar la información de alerta en la consola.También puede definir los umbrales en varias de las métricas pertinentes para el sistema. La base de datos Oracle 10g notificará de forma proactiva si la base de datos se desvía de las lecturas normales lo bastante como para alcanzar dichos umbrales. Una notificación anticipada deposibles problemas permite responder rápidamente y, con frecuencia, resolver problemas antesincluso de que los usuarios los adviertan.Algunas métricas clave que pueden proporcionar una notificación anticipada del problema son:

• Average File Read Time (centiseconds) • Dump Area Used (%) • Response Time (per transaction) • SQL Response Time (%)• Tablespace Used (%) • Wait Time (%)

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 375: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Alertas Generadas por el Servidor por Defecto

Sesiónreanudablesuspendida

Instantáneademasiado antigua

Área derecuperación conpoco espacio libre

85% advertencia97% crítico

Uso de espaciode tablespace

Database Control:Métricas SYSTEM

Tablespace

Alertas Generadas por el Servidor por DefectoPor defecto, se activan las alertas generadas por el servidor en los siguientes casos:

• Uso de espacio de tablespace (advertencia 85%, crítico 97%)• Instantánea demasiado antigua • Área de recuperación con poco espacio libre • Sesión reanudable suspendida

Nota: Enterprise Manager Database Control define automáticamente umbrales en métricas delservidor con el tipo de objeto SYSTEM.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 376: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Definición de Umbrales

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 377: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Creación y Prueba de una Alerta

1. Especifique un umbral.2. Cree un caso de prueba.3. Compruebe la existencia

de una alerta.

21

3

Creación y Prueba de una AlertaTambién se pueden definir umbrales para un objeto concreto.Ejemplo: El usuario decide que necesita recibir una alerta crítica si el espacio utilizado en eltablespace INVENTORY supera el 75%. (Este tablespace no permite que los archivos de datos seamplíen automáticamente). Para crear y probar la alerta, realice los siguientes pasos:

1. En Enterprise Manager, navegue a la administración de tablespace y defina el umbral deseado.

2. Utilice la acción “Create Like” para duplicar una tabla ya existente y rellénela medianteSQL*Plus.

3. Después de haber recibido un error informándole de que la tabla no se puede ampliar,compruebe la página inicial de la instancia de base de datos para ver alertas relacionadas.

La mayoría de las alertas contienen el nombre de un asesor asociado al que se puede llamar para obtener asesoramiento detallado. Database Control ofrece un enlace para llamar al asesor correspondiente a cada mensaje de alerta.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 378: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Notificación de Alertas

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 379: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Notificación de Alertas (continuación)De manera opcional, puede especificar si desea que Enterprise Manager le proporcione una notificación directa cuando produzcan determinadas alertas. Por ejemplo, si especifica que desea una notificación por correo electrónico de las alertas críticas y tiene definido un umbral crítico para el tiempo de respuesta del sistema de cada métrica de llamada, puede enviar un correo electrónico que contenga un mensaje similar al siguiente:

Host Name=mydb.us.mycompany.com Metric=Response Time per Call Timestamp=08-NOV-2005 10:10:01 (GMT -7:00) Severity=Critical Message=Response time per call has exceeded the threshold.

See the latest ADDM analysis. Rule Name= Rule Owner=SYSMAN

El correo electrónico contiene un enlace al nombre del host y último análisis de ADDM.Por defecto, está definida la notificación de alertas en estado crítico como en el caso de que la base de datos esté caída, estado de error del log de alertas genéricas y tablespace usado. Sin embargo, para recibir estas notificaciones, debe configurar la información de correo electrónico realizando los siguientes pasos:

1. En cualquier página de Database Control, haga clic en el enlace Setup, visible tanto en lacabecera como en el pie de página.

2. En la página Setup, seleccione Notification Methods. 3. Introduzca la información necesaria en la región Mail Server de la página Notifications

Methods.Existen otros métodos de notificación, entre los que se incluyen archivos de comandos einterrupciones SNMP (Simplified Network Management Protocol). Este último se puede utilizar para comunicarse con aplicaciones de terceros. Para recibir notificaciones, realice los siguientes pasos:

1. En cualquier página de Database Control, haga clic en el enlace Preferences, visible tantoen la cabecera como en el pie de página.

2. En la página Preferences, seleccione General. Introduzca la dirección de correo electrónicoen la región E-mail Addresses.

3. De manera opcional, puede editar las reglas de notificación para, por ejemplo, cambiar elestado de gravedad necesario para recibir una notificación. Para ello, seleccioneNotification Rules. Aparece la página Notification Rules. Para obtener más información sobre la configuración de las reglas de notificación, consulte la documentación Oracle Enterprise Manager Advanced Configuration. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 380: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Reacción ante Alertas

• Si es necesario, recopile más entradas, por ejemplo, ejecutando ADDM u otro asesor.

• Tome medidas correctivas.• Confirme las alertas que no se borran

automáticamente.

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

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 381: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 12-29

Copyright © 2008, Oracle. Todos los derechos reservados.

Tipos de Alerta y Eliminación de Alertas

MMON

85% advertencia

97% crítico Limpiada

Limpiada

Alerta

Instantáneademasiado antigua

Sesiónreanudablesuspendida

Área de recuperacióncon poco

espacio libre

Basado en métricas

Basado en eventos

Alertasde umbral

(con estado)

Alertas no deumbral

(sin estado)

DBA_OUTSTANDING_ALERTS DBA_ALERT_HISTORY

Tipos de Alerta y Eliminación de AlertasHay dos tipos de alertas generadas por el servidor: de umbral y no de umbral.La mayoría de las alertas generadas por el servidor se configuran definiendo valores de umbral crítico y de advertencia en métricas de base de datos. Se pueden definir umbrales para más de 120 métricas. Por ejemplo:

• Lecturas físicas por segundo • Confirmaciones por segundo • Tiempo de respuesta del servicio SQL

Excepto por la métrica de uso de espacio de tablespace, relacionada con la base de datos, el restode las métricas están relacionadas con la instancia. Las alertas de umbral se conocen también como alertas con estado. Estas alertas se borran automáticamente cuando desaparece lacondición asociada. Las alertas con estado aparecen en DBA_OUTSTANDING_ALERTS y,cuando se borran, pasan a DBA_ALERT_HISTORY.También existen otras alertas generadas por el servidor que corresponden a eventos de bases dedatos específicos, como errores porque la instantánea sea demasiado antigua, porque el área derecuperación disponga de poco espacio libre y porque se haya suspendido una sesión reanudable.Estas son alertas que no se basan en umbrales, también conocidas como alertas sin estado. Lasalertas sin estado pasan directamente a la tabla de historial. Borrar una alerta sin estado sólo tiene sentido en el entorno de Database Control, ya que Database Control almacena alertas sinestado en su propio repositorio.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 382: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 12-30

Copyright © 2008, Oracle. Todos los derechos reservados.

Tareas de Mantenimiento Automáticas

• El planificador inicia los trabajos• Los trabajos se ejecutan en la ventana de

mantenimiento por defecto• Se limita el impacto de mantenimiento en

las operaciones habituales mediante eluso del gestor de recursos

Ejemplos de mantenimiento:• Recopilar estadísticas del optimizador• Recopilar información de segmentos• Realizar copias de seguridad de bases de

datos

EstadísticasAWRADDMAsesoresAlertas

> Tareas Autom.

Tareas de Mantenimiento AutomáticasMediante el análisis de la información almacenada en AWR, la base de datos puede identificar lanecesidad de realizar tareas de mantenimiento rutinarias como, por ejemplo, refrescar las estadísticas del optimizador. La infraestructura de las tareas de mantenimiento automáticas permite a la base de datos Oracle realizar de manera automática tales operaciones. Utiliza elplanificador para ejecutar las tareas en una “ventana de mantenimiento” predefinida.Por defecto, la ventana de mantenimiento empieza cada noche a las 10 p.m. y dura hasta las 6 a.m. de la mañana siguiente y a lo largo de todo el fin de semana. Todos los atributos de laventana de mantenimiento se pueden personalizar, entre los que se incluyen la hora de inicio yfinalización, la frecuencia, los días de la semana, etc. Asimismo, para poder limitar el impacto delas tareas de mantenimiento automáticas en operaciones habituales de la base de datos, se tiene que asociar un plan de recursos del Gestor de Recursos de la Base de Datos a una ventana demantenimiento. Los ejemplos de mantenimiento son los siguientes:

• Las estadísticas del optimizador se refrescan automáticamente mediante el uso de lainfraestructura de tareas de mantenimiento automáticas.

• El Asesor de Segmentos tiene trabajos por defecto, que se ejecutan en la ventana demantenimiento.

• Al crear una base de datos con DBCA, puede iniciar la realización de copias de seguridad periódicas de bases de datos.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 383: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Resumen

En esta lección, debe haber aprendido lo siguiente:• Usar estadísticas• Gestionar el repositorio de carga de trabajo

automática (AWR) • Utilizar el Monitor de Diagnóstico de Base de

Datos Automático • Describir el marco de asesoramiento• Definir umbrales de alerta • Usar alertas generadas por el servidor• Usar tareas automáticas

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 384: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Visión General de la Práctica:Mantenimiento Proactivo

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

ADDM– Configuración de un problema para analizarlo– Revisión del rendimiento de la base de datos– Implementación de una solución

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 385: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Copyright © 2008, Oracle. Todos los derechos reservados.

Gestión de Rendimiento

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 386: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Objetivos

Al finalizar esta lección, debería estar capacitado paralo siguiente:• Utilizar Enterprise Manager para controlar el

rendimiento• Ajustar SQL mediante el Asesor de Ajustes SQL• Ajustar SQL mediante el Asesor de Acceso SQL• Utilizar la gestión automática de memoria

compartida (ASSM)• Usar el Asesor de Memoria para ajustar el tamaño

de los buffers de memoria• Visualizar vistas dinámicas relacionadas con el

rendimiento• Solucionar problemas de objetos no válidos o no

utilizables

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 387: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Supervisión delRendimiento

Problemas deasignación de

memoria

Problemas deasignación de

memoria

Contención deldispositivo deentrada/salida

Contención deldispositivo deentrada/salida

Problemas decódigo deaplicación

Problemas decódigo deaplicación

Contenciónde

recursos

Contenciónde

recursos

Cuellos debotella

de la red

Cuellos debotella

de la red

?DBA

> Control Rend. Asesor de AjustesAsesor de AccesoMemoriaEstadísticasObjetos no Validos

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 388: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Supervisión del Rendimiento

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 389: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Supervisión del Rendimiento

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 390: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Supervisión del Rendimiento

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 391: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Control del Rendimiento: Top Sessions

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 392: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Control del Rendimiento: Top Services

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 393: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Asesor de Ajustes SQL: Visión General

Agregar el índice que faltaEjecutar el Asesor de Acceso

Reestructurar SQL

Ajustar el plan SQL(perfil SQL)

Optimizador Automático de Ajustes

Modo de optimizaciónSQL Analysis

Modo deoptimizaciónAccess Analysis

Modo deoptimizaciónPlan Tuning

Modo deoptimización decomprobación deestadísticas

Detectar estadísticas anticuadas o que falten

Ajustes SQL Globales

Asesor deAjustes SQL

Control Rend.> Asesor de Ajustes

Asesor de AccesoMemoriaEstadísticasObjetos no Validos

Asesor de Ajustes SQL: Visión GeneralEl Asesor de Ajustes SQL es el controlador principal del proceso de ajuste. Llama al optimizador automático de ajustes (ATO) para que realice cuatro tipos específicos de análisis:

• Análisis de estadísticas: El optimizador automático de ajustes comprueba todos losobjetos de las consultas por si faltan estadísticas o las existentes están anticuadas y ofrece una recomendación con las estadísticas relevantes que es necesario recopilar.

• Creación de perfiles SQL: ATO verifica sus propias estimaciones y recopila información auxiliar para eliminar los errores de estimación. Genera un perfil SQL con la información auxiliar y elabora una recomendación para crearlo. Al crear un perfil SQL, se permite aloptimizador de consultas generar un plan ajustado a la perfección.

• Análisis de rutas de acceso: ATO realiza una exploración para averiguar si es posible usarun nuevo índice que mejore de forma significativa el acceso a cada tabla de la consulta y, si procede, elabora las recomendaciones oportunas para crear esos índices.

• Análisis de la estructura SQL: ATO intenta identificar las sentencias SQL que utilizanplanes incorrectos y formula las sugerencias pertinentes para reestructurarlas. Los cambios sugeridos pueden ser tanto sintácticos como semánticos.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 394: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Recomendaciones y Opciones del Asesorde Ajustes SQL

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

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 395: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Uso del Asesor de Ajustes SQL

• Utilizar el Asesor de Ajustes SQL para analizar sentencias SQL y obtener recomendaciones derendimiento.

• Orígenes del Asesor de Ajustes SQL para analizar– SQL principal: Analiza las sentencias SQL

principales actualmente activas– Juegos de ajustes SQL: Analiza un juego de

sentencias SQL proporcionado– Instantáneas: Analiza una instantánea– Líneas base: Analiza una línea base

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 396: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Uso del Asesor de Ajustes SQL: Ejemplo

Uso del Asesor de Ajustes SQL: EjemploPara llamar al Asesor de Ajustes SQL, realice los siguientes pasos:

1. Haga clic en Advisor Central en la región Related Links de la página inicial de la base dedatos.

2. Haga clic en SQL Tuning Advisor. Aparecerá la página SQL Tuning Advisor Links. El asesor se puede ejecutar en uno de los siguientes orígenes:

- Top Activity: Sentencias SQL de carga más alta que se han ejecutado en la última hora

- Period SQL: Juego de sentencias SQL que abarca cualquier período de 24 horas- Juegos de ajustes SQL: Juego de sentencias SQL proporcionado- Instantáneas: Juego de sentencias SQL de una instantánea de AWR- Juegos de instantáneas mantenidas: Juego de sentencias SQL de un juego de

instantáneas mantenidas3. Seleccione Top SQL. Seleccione un intervalo de cinco minutos para analizarlo arrastrando

el recuadro sombreado por el período de tiempo de destino. Seleccione una o más sentencias para analizarlas durante el período de tiempo seleccionado.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 397: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Uso del Asesor de Ajustes SQL: Ejemplo (continuación)4. Haga clic en Run SQL Tuning Advisor. Aparecerá la página SQL Tuning Options donde se

mostrarán las sentencias SQL en ese intervalo. Asigne un nombre y una descripción a latarea, seleccione Comprehensive como ámbito y seleccione Inmediately como hora deinicio. Haga clic en OK.

5. Vuelva a la página Advisor Central. El estado de las tareas del asesor aparece bajo lacabecera correspondiente en la región de resultados. Espere hasta que el estado de la tareasea Completed. Compruebe el estado haciendo clic en Refresh en el explorador. Seleccione la tarea y haga clic en View Result. Aparecerá la página SQL Tuning Result.

6. Seleccione la sentencia SQL y haga clic en View Recommendations.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 398: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Asesor de Ajustes SQL: Estadísticas SQL

select count(*) from x where object_id < 340

select count(*) from x where object_id < 220

Cada sentencia produce un análisis pesado.

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 399: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Asesor de Ajustes SQL:Identificación de SQL Duplicados

Candidatosde variables

ligadas

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 400: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Uso del Asesor de Acceso SQL

Control Rend.Asesor de Ajustes

> Asesor de Acceso MemoriaEstadísticasObjetos no Validos

Uso del Asesor de Acceso SQLPuede utilizar el Asesor de Acceso SQL para ajustar el esquema y mejorar el rendimiento de las consultas. Este asesor precisa que identifique una carga de trabajo SQL, que sea un juego representativo de sentencias SQL que acceda al esquema. Puede seleccionar la carga de trabajode distintos orígenes, entre los que se incluyen la actividad SQL actual y reciente, un repositorioSQL o una carga de trabajo definida por el usuario como, por ejemplo, de un entorno dedesarrollo. El Asesor de Acceso SQL puede ofrecer recomendaciones como la creación de índices y vistasmaterializadas para mejorar el rendimiento de las consultas para la carga de trabajo concreta. Para llamar al Asesor de Acceso SQL, realice los siguientes pasos:

1. Haga clic en Advisor Central en la región Related Links de la página inicial de la base dedatos.

2. Haga clic en SQL Access para iniciar un asistente. Aparece la página SQL Access Advisor: Workload Source.

3. Especifique el origen de carga de trabajo y haga clic en Next. Aparece la página SQL Access Advisor: Recommendation Options. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 401: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Uso del Asesor de Acceso SQL (continuación)4. Indique si desea que el asesor recomiende índices, vistas materializadas o ambos. 5. Especifique el modo Limited o Comprehensive. El modo Limited se ejecuta más

rápidamente al concentrarse en sentencias de mayor costo. 6. Haga clic en Next. Aparece la página SQL Access Advisor: Schedule. Acepte el valor por

defecto de ejecución inmediata o planifique la ejecución para más tarde. 7. Haga clic en Next. Aparece la página SQL Access Advisor: Review. 8. Revise las opciones seleccionadas y haga clic en Submit para iniciar el trabajo.

Los resultados se publican en la página Advisor Central. Las recomendaciones del Asesor deAcceso SQL se ordenan por beneficio de costo. Por ejemplo, una recomendación puede constarde un archivo de comandos SQL con una o más sentencias CREATE INDEX, que puede implementar haciendo clic en Schedule Implementation.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 402: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Gestión de los Componentesde la Memoria

• Gestión Automática de Memoria Compartida:– Se recomienda para simplificar la gestión– Le permite especificar la memoria SGA total a través de un

parámetro de inicialización– Le permite al servidor de Oracle gestionar la cantidad de

memoria asignada al pool compartido, al pool Java, a lacaché de buffers, al pool de Streams y al pool grande

• Definición manual de la gestión de memoria compartida:– Fija un tamaño para los componentes mediante varios

parámetros de inicialización individuales– Utiliza el Asesor de Memoria para realizar

recomendaciones

Control Rend.Asesor de AjustesAsesor de Acceso

> Memoria EstadísticasObjetos no Validos

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 403: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

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

Haga clic en Enable para activar la gestión

automática de memoria compartida.

Activación de la Gestión Automática de Memoria CompartidaSi no ha activado esta función al configurar la base de datos, puede activarla realizando lossiguientes pasos:

1. Haga clic en Memory Parameters en la región Database Configuration de la páginaAdministration.

2. Haga clic en Enable.Aparece la página Enable Automatic Shared Memory Management.

3. Especifique el tamaño total del área SGA. Haga clic en OK.Puede aumentar el tamaño total del área SGA posteriormente si aumenta el valor del parámetrode inicialización SGA_TARGET, pero no podrá definirlo por encima del valor especificado por elparámetro SGA_MAX_SIZE. Para obtener más información, consulte Oracle Database Administrator’s Guide. Nota: Oracle le recomienda utilizar la gestión automática de memoria compartida para simplificar las tareas de gestión de la memoria.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 404: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 405: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 13-21

Copyright © 2008, Oracle. Todos los derechos reservados.

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

Definición Manual de la Gestión de Memoria CompartidaSi no utiliza la gestión automática de memoria compartida, debe proporcionar los valores para cada componente del SGA durante la instalación y la creación de base de datos. Realice losiguiente:

1. Acceda a la página Memory Parameters haciendo clic en el enlace Memory Parameters en la región Database Configuration de la página Administration.

2. Para llamar a uno de los asesores de memoria, haga clic en Advice. 3. Haga clic en Help para visualizar la ayuda en pantalla y obtener información adicional

sobre cómo funciona el Asesor de Memoria. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 406: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Uso del Asesor de Memoria

Uso del Asesor de MemoriaEl Asesor de Memoria ayuda a ajustar el tamaño de las estructuras de memoria. Puede utilizar este asesor sólo cuando esté desactivado el ajuste automático de la memoria. El Asesor de Memoria incluye tres asesores que ofrecen recomendaciones sobre las siguientes estructuras de memoria:

• Pool compartido del Área Global del Sistema (SGA)• Caché de buffers de SGA• Área Global de Programa (PGA)

Para llamar a los asesores de memoria, realice los siguientes pasos: 1. Haga clic en Advisor Central en la región Related Links de la página inicial de la base de

datos. 2. Haga clic en Memory Advisor en la página Advisor Central. Aparecerá la página Memory

Parameters. Esta página proporciona un desglose del uso de la memoria para SGA.Nota: El valor de gestión automática de memoria compartida debe estar desactivado para poder ejecutar el asesor.

3. Haga clic en Advice junto al valor de Shared Pool o de Buffer Cache para llamar a losasesores correspondientes.

4. Haga clic en PGA para acceder a la página de propiedades de PGA. Haga clic en Advicepara llamar al asesor de PGA.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 407: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

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

Estadísticas de RendimientoDinámicas

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

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

V$SESSTAT• sid• statistic#• value

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

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

Del sistema Específica de la sesión Específica del servicio

Estadísticas acumulativasEventos de espera

…Asesor de AccesoMemoria

> Estadísticas Objetos no Validos

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 408: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Estadísticas de Rendimiento Dinámicas (continuación)Visualización de Estadísticas del Sistema Por ejemplo:

SQL> SELECT name, class, value FROM v$sysstat; NAME CLASS VALUE ------------------------------- ------ ----------... table scans (short tables) 64 135116 table scans (long tables) 64 250 table scans (rowid ranges) 64 0 table scans (cache partitions) 64 3 table scans (direct read) 64 0 table scan rows gotten 64 14789836 table scan blocks gotten 64 558542 ...

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 409: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Instancia/Base de Datos V$DATABASE V$INSTANCE V$PARAMETER V$SPPARAMETER V$SYSTEM_PARAMETER V$PROCESS V$BGPROCESS V$PX_PROCESS_SYSSTATV$SYSTEM_EVENT

Vistas de Solución de Problemas y deAjustes

Disco V$DATAFILE V$FILESTAT V$LOG V$LOG_HISTORY V$DBFILE V$TEMPFILE V$TEMPSEG_USAGE V$SEGMENT_STATISTICS

Contención V$LOCK V$UNDOSTAT V$WAITSTAT V$LATCH

Memoria V$BUFFER_POOL_STATISTICS V$LIBRARYCACHE V$SGAINFO V$PGASTAT

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 410: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Objetos No Válidos o No Utilizables

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

Control Rend.Asesor de AjustesAsesor de AccesoMemoriaEstadísticas

> Objetos no Validos

Objetos No Válidos o No Utilizables El estado actual de determinados objetos de base de datos se puede ver si se consulta eldiccionario de datos, que se describe en la lección titulada “Gestión de Objetos de Esquema”. Siencuentra objetos PL/SQL con un estado INVALID, la primera pregunta que debe responder es si “este objeto ha tenido alguna vez el estado VALID”. A menudo, un desarrollador deaplicaciones no realiza la limpieza del código que no funciona. Si el objeto PL/SQL no es válido debido a un error de código, poco se puede hacer hasta que se resuelve el error. Si elprocedimiento fue válido en algún momento del pasado y se ha convertido en no válido recientemente, tiene dos opciones para resolver el problema:

• No hacer nada. La mayor parte de los objetos PL/SQL se recompilará automáticamente si es necesario cuando se les llame. Los usuarios experimentarán un breve retraso mientras serecompilan los objetos. (En la mayor parte de los casos apenas se advierte este retraso).

• Recompile el objeto no válido manualmente. Los objetos PL/SQL no válidos se pueden recompilar manualmente con Enterprise Manager o através de comandos SQL:

ALTER PROCEDURE HR.add_job_history COMPILE;

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 411: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Objetos No Válidos o No Utilizables (continuación)La recompilación manual de paquetes PL/SQL necesita dos pasos:

ALTER PACKAGE HR.maintainemp COMPILE; ALTER PACKAGE HR.maintainemp COMPILE BODY;

Los índices no utilizables se convierten en válidos reconstruyéndolos para volver a calcular lospunteros. La reconstrucción de un índice no utilizable vuelve a crear el índice en una nueva ubicación y después borra el índice no utilizable. Este proceso se puede llevar a cabo con Enterprise Manager o a través de comandos SQL:

ALTER INDEX HR.emp_empid_pk REBUILD; ALTER INDEX HR.emp_empid_pk REBUILD ONLINE; ALTER INDEX HR.email REBUILD TABLESPACE USERS;

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 412: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Resumen

En esta lección, debe haber aprendido lo siguiente:• Utilizar Enterprise Manager para controlar el

rendimiento• Ajustar SQL mediante el Asesor de Ajustes SQL• Ajustar SQL mediante el Asesor de Acceso SQL• Usar la Gestión Automática de Memoria Compartida• Usar el Asesor de Memoria para ajustar el tamaño de

los buffers de memoria• Visualizar vistas dinámicas relacionadas con el

rendimiento• Solucionar problemas de objetos no válidos o no

utilizables

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 413: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 13-29

Copyright © 2008, Oracle. Todos los derechos reservados.

Visión General de la Práctica:Control y Mejora del Rendimiento

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

Manager

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 414: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 415: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Copyright © 2008, Oracle. Todos los derechos reservados.

Conceptos de Copia de Seguridad yRecuperación

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 416: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Objetivos

Al finalizar esta lección, debería estar capacitado paralo siguiente:• Identificar los tipos de fallos que se pueden

producir en la base de datos Oracle• Describir las formas de ajustar la recuperación de

instancias• Identificar la importancia de los puntos de control,

archivos redo log y archivos archive log• Configurar el modo ARCHIVELOG

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 417: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Parte de su Trabajo

Las funciones del administrador son:• Proteger la base de datos contra fallos siempre

que sea posible• Aumentar el tiempo medio entre fallos (MTBF)• Disminuir el tiempo medio para la recuperación

(MTTR)• Minimizar la pérdida de datos

Parte de su TrabajoEl objetivo del administrador de la base de datos (DBA) es asegurarse de que la base de datos está abierta y disponible cuando los usuarios la necesiten. Para conseguirlo, el DBA (que suele trabajar con el Administrador del Sistema):

• Se anticipa y trabaja para evitar causas comunes de fallo.• Trabaja para aumentar el tiempo medio entre fallos (MTBF), garantizando que el hardware

sea lo más fiable posible, que los componentes críticos estén protegidos por redundancia yque el mantenimiento del sistema operativo se realice a tiempo. La base de datos Oracleproporciona opciones de configuración avanzadas para aumentar el MTBF, que incluyen:

- Real Application Clusters (se tratará en el curso Base de Datos Oracle 10g: Real Application Clusters)

- Streams (se tratará en el curso Base de Datos Oracle 10g: Implementación de Streams)

• Disminuye el tiempo medio para la recuperación (MTTR), mediante la realización deprocedimientos de recuperación con antelación, y la configuración de copias de seguridad para que estén disponibles de inmediato cuando sean necesarias.

• Minimiza la pérdida de datos. Los DBA, que siguen las recomendaciones aceptadas,pueden configurar sus bases de datos para que ninguna transacción confirmada jamás sepierda. Entre las entidades que permiten garantizar esto se incluyen:

- Los archivos archive log (se tratarán en esta lección)- Las bases de datos en espera y Oracle Data Guard (se tratarán en el curso Base de

Datos Oracle 10g: Administración de Data Guard)

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 418: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Categorías de Fallos

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

Categorías de FallosLos fallos se pueden dividir en unas amplias categorías:

• Fallo de sentencia: Fallo de una única operación de base de datos (select, insert, update, delete).

• Fallo de proceso de usuario: Fallo de una única sesión de base de datos.• Fallo de red: Se pierde la conectividad a la base de datos.• Error del usuario: Un usuario termina correctamente una operación, pero ésta no es

correcta (borrado de una tabla o introducción de datos erróneos).• Fallo de la instancia: La instancia de la base de datos se cierra de forma inesperada.• Fallo del medio físico: Se pierden uno o más archivos de base de datos (es decir, se han

suprimido los archivos o el disco ha fallado).FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 419: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Fallo de Sentencia

Posibles SolucionesProblemas Típicos

Trabaje con los desarrolladores para corregir errores delprograma.

Errores de lógica enaplicaciones

• Active la asignación de espacio reanudable.

• Aumente la cuota de propietario.• Agregue espacio al tablespace.

Fallo al intentar asignar espacio

Proporcione privilegios de objetoo del sistema adecuados.

Intentos para realizar operaciones con privilegios insuficientes

Trabaje con los usuarios para validar y corregir los datos.

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

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 420: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Fallo de Proceso de Usuario

Posibles SolucionesProblemas Típicos

Normalmente no es necesario que un DBA realice una acción para resolver fallos de procesode usuario. Los procesos ensegundo plano de la instancia realizan un rollback de cambiossin confirmar y liberan losbloqueos.

Observe lo que sucede.

Un usuario realiza una desconexión anormal.

La sesión de un usuario setermina de forma anormal.

Un usuario sufre un error delprograma que termina lasesión.

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 421: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Fallo de Red

Posibles SolucionesProblemas Típicos

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

Fallo de la conexión de red.

Configure varias tarjetas de red.Fallo de la tarjeta de interfazde red (NIC).

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

Fallo del listener.

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 422: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 14-8

Copyright © 2008, Oracle. Todos los derechos reservados.

Error del Usuario

Posibles SolucionesCausas Típicas

Recupere la tabla de la papelerade reciclaje.

Un usuario borra una tabla.

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

Un usuario suprime omodifica datos involuntariamente.

Oracle LogMiner

Error del UsuarioPuede que el usuario suprima o modifique datos involuntariamente. Cuando esto suceda, es posible que el DBA tenga que ayudar a los usuarios en la recuperación del error. Si los usuarios aún no han confirmado ni salido del programa, pueden simplemente realizar un rollback de laoperación. Si los usuarios ya han confirmado los cambios, se pueden utilizar consultas de flashback para determinar cuáles eran los valores anteriores (y, a continuación, se pueden actualizar los datos para restaurar la información original):

SQL> SELECT salary FROM employees WHERE employee_id=100; SALARY ------25 SQL> SELECT salary FROM employees 2 AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL’10’ minute) 3 WHERE employee_id=100; SALARY ------24000

En los casos en los que no son posibles las consultas de flashback porque se ha superado elperíodo de retención de deshacer, el DBA todavía puede recuperar la información originalmediante Oracle LogMiner.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 423: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 424: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Fallo de la Instancia

Fallo de uno de los procesosen segundo plano

Posibles SolucionesCausas Típicas

Procedimientos de cierre deemergencia

Fallo de hardware

Reinicie la instancia mediante elcomando “startup”. Larecuperación de un fallo deinstancia es automática e incluye laaplicación de transacciones pendientes de los redo logs y larealización de un rollback detransacciones sin confirmar.

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

Cortes en el suministro eléctrico

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 425: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Procesos en Segundo Plano yRecuperación: Punto de Control (CKPT)

CKPT es responsable de:• Señalar DBWn en los puntos de

control• Actualizar las cabeceras de los

archivosde datos con información de los puntos de control

• Actualizar los archivos de control con información de los puntos de control

Punto de control(CKPT)

Escritor de labase de datos

(DBWn)

SGA

Caché debuffers de la

base de datos

Archivo de control

Archivos de datos

Procesos en Segundo Plano y Recuperación: Punto de Control (CKPT)Para comprender la recuperación de instancias, es necesario entender el funcionamiento dedeterminados procesos en segundo plano.Cada tres segundos (o menos), el proceso CKPT almacena datos en el archivo de control para documentar qué bloques de datos modificados ha escrito DBWn del SGA al disco. Esto sedenomina “punto de control”. El objetivo de un punto de control consiste en identificar ese lugaren el archivo redo log online en el que va a empezar la recuperación de la instancia (denominado“posición de punto de control”). En el caso de un cambio de log, el proceso CKPT también escribe esta información de punto de control en las cabeceras de los archivos de datos. Los puntos de control existen por los siguientes motivos:

• Para asegurar que los bloques de datos modificados en memoria se escriben en el disco de forma regular para que los datos no se pierdan en el caso de que se produzca un fallo delsistema o de la base de datos.

• Para reducir el tiempo que se necesita para recuperar instancias. Se necesita procesar únicamente las entradas del archivo redo log que sigan al último punto de control para quese puedan recuperar.

• Para garantizar que todos los datos confirmados se han escrito en los archivos de datos durante el cierre.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 426: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Procesos en Segundo Plano y Recuperación: Punto de Control (CKPT) (continuación)

En la información de punto de control que escribe el proceso CKPT se incluye la posición depunto de control, el número de cambio del sistema, la ubicación en el archivo redo log onlinepara empezar la recuperación, la información sobre los logs, etc. Nota: El proceso CKPT no escribe bloques de datos en el disco ni bloques de redo en losarchivos redo log online.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 427: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Procesos en Segundo Plano yRecuperación: Archivos Redo Log y

Escritor de Log

Archivos redo log:• Registran cambios de la

base de datos• Se deben multiplexar como

protección ante pérdidasEl escritor de log escribe:• Durante la confirmación• Cuando está un tercio lleno• Cada tres segundos• Antes de que DBWn escriba

Grupo 3

Escritor de log

(LGWR)

Grupo 1 de redo log

Grupo 2 de redo log

Buffer de redo log

SGA

Grupo 3 de redo log

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

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 428: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Procesos en Segundo Plano yRecuperación: Proceso de Archivado

(ARCn)Proceso de archivado (ARCn): • Es un proceso en segundo

plano opcional• Archiva automáticamente

los archivos redo log onlinecuando se ha definido elmodo ARCHIVELOG para la base de datos

• Conserva el registro detodos los cambios realizados en la base dedatos

Escritor de log

(LGWR)

Procesode archivado

(ARCn)

Buffer de redo log

SGA

Redo log online

Archivosarchive log

Procesos en Segundo Plano y Recuperación: Proceso de Archivado (ARCn)ARCn es un proceso en segundo plano opcional. Sin embargo, es crucial para recuperar una base de datos tras la pérdida de un disco. Cuando se llena un grupo de redo logs online, la instancia de Oracle empieza a escribir en el siguiente grupo de redo logs online. El proceso de cambio de ungrupo de redo logs online a otro se denomina cambio de log. El proceso ARCn inicia elarchivado del grupo de logs lleno cada vez que se cambia de log. Archiva automáticamente elgrupo de redo logs online antes de que se pueda volver a utilizar el grupo de logs para que todoslos cambios realizados en la base de datos se mantengan. Esto permite la recuperación de la base de datos hasta el punto de fallo, incluso si la unidad de disco está dañada.Una de las decisiones importantes que un DBA debe tomar es si debe configurar la base de datos para que funcione en el modo ARCHIVELOG o en el modo NOARCHIVELOG.

• En el modo NOARCHIVELOG, los archivos redo log online se sobrescriben cada vez que se produce un cambio de log.

• En el modo ARCHIVELOG, los grupos inactivos de archivos redo log online llenos sedeben archivar antes de que se puedan volver a utilizar.

Nota: El modo ARCHIVELOG es esencial para la mayoría de las estrategias de copia deseguridad (y es muy sencillo de configurar). FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 429: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Recuperación de Instancias

La recuperación de fallos o de instancias:• Se produce por intentos de apertura de una base de

datos cuyos archivos no se sincronizan al cerrar• Es automática• Utiliza información almacenada en los grupos de

redo logs para sincronizar los archivos• Implica dos operaciones distintas:

– Aplicación de transacciones pendientes: Losarchivos de datos se restauran a su estado anterior alfallo de la instancia.

– Realización de un rollback: Los cambios realizados pero no confirmados vuelven a su estado original.

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 430: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Fases de la Recuperación de Instancias1. Archivos de datos no

sincronizados2. Aplicación de transacciones

pendientes (redo)3. Datos confirmados y sin

confirmar en archivos4. Realización de rollback

(deshacer)5. Datos confirmados

en archivos

Base de datos

Des-hacer

Instancia

Procesosen segundo

plano

Archivo de datosSCN: 99

Archivo de datosSCN: 129

Archivo de datosSCN: 140

Archivo de control

SCN: 143

Archivo de control

SCN: 143

Grupo de redo logs

SCN: 74-101

Grupo de redo logs

SCN: 102-143

SGA

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 431: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Ajuste de la Recuperación de Instancias

• Durante la recuperación de instancias, las transacciones entre la posición de punto de control y el final de redo log se deben aplicar a losarchivos de datos.

• Para ajustar la recuperación de instancias,controle la diferencia entre la posición de puntode control y el final de redo log.

Final de redo logPosición de punto de control

Transacciones

Recuperación de instancias

Ajuste de la Recuperación de InstanciasLa información de transacciones siempre se registra en los grupos de redo logs antes de que lainstancia devuelva commit complete para una transacción. La información de los grupos de redo logs garantiza que la transacción pueda recuperarse en caso de fallo. También es necesario escribir la misma información de transacciones en el archivo de datos. La escritura del archivode datos suele suceder poco después de que la información se registre en los grupos de redo logsporque el proceso de escritura del archivo de datos es mucho más lento que las escrituras de redo. (Las escrituras aleatorias en archivos de datos son más lentas que las escrituras en serie enarchivos redo log).Cada tres segundos, el proceso de punto de control registra información en el archivo de controlacerca de la posición del punto de control en el redo log. Por lo tanto, la base de datos Oraclesabe que todas las entradas de redo log registradas antes de este punto no son necesarias para larecuperación de la base de datos. En el gráfico de la diapositiva, los bloques rayados aún no sehan escrito en el disco. El tiempo necesario para la recuperación de instancias es el mismo que para pasar los archivosde datos de su último punto de control al último SCN registrado en el archivo de control. Eladministrador controla dicho tiempo mediante la definición de un destino de MTTR (ensegundos) y mediante el tamaño de los grupos de redo logs. La distancia entre la posición delpunto de control y el final del grupo de redo logs nunca puede ser superior al 90% del grupo de redo log más pequeño.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 432: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Uso del Asesor de MTTR

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

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 433: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Fallo del Medio Físico

Fallo del controlador de disco

Supresión o corrupción de un archivo de base dedatos

Posibles SolucionesCausas Típicas1. Restaure el archivo afectado a

partir de la copia de seguridad.2. Si es necesario, informe a la

base de datos sobre una nueva ubicación del archivo.

3. Si es necesario, recupere elarchivo aplicando lainformación de redo.

Fallo de la unidad de disco

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 434: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 14-20

Copyright © 2008, Oracle. Todos los derechos reservados.

Configuración de Recuperabilidad

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

Configuración de RecuperabilidadPara proporcionar la mejor protección de los datos, debe realizar lo siguiente:

• Planificar copias de seguridad periódicas: La mayoría de fallos del medio físico necesitan que restaure el archivo perdido o dañado a partir de una copia de seguridad.

• Multiplexar los archivos de control: Todos los archivos de control asociados a una base de datos son idénticos. La recuperación de la pérdida de un único archivo de control no es difícil. La recuperación de la pérdida de todos los archivos de control supone un mayorreto. Para protegerse contra la pérdida de todos los archivos de control, tenga al menos tres copias de dichos archivos.

• Multiplexar los grupos de redo logs: Para recuperarse del fallo de la instancia o delmedio físico, se utiliza la información de redo log para aplicar los cambios pendientes dearchivos de datos hasta la última transacción confirmada. Si los grupos de redo logsconfían en un único archivo redo log, la pérdida de dicho archivo significa que es probableque se pierdan esos datos. Asegúrese de que existen al menos dos copias de cada grupo de redo logs, si es posible, en controladores de disco distintos.

• Retener copias archivadas de redo logs: Si un archivo se pierde y se restaura de una copia de seguridad, la instancia debe aplicar la información de redo para actualizar elarchivo hasta el último SCN incluido en el archivo de control. Con el valor por defecto, la base de datos sobrescribe la información de redo después de que se haya escrito en losarchivos de datos. La base de datos se puede configurar para que retenga la información de redo en copias archivadas de los redo logs. Esto se denomina poner la base de datos enmodo ARCHIVELOG.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 435: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Archivos de Control

Protéjase contra un fallo de la base de datos mediantela multiplexión de archivos de control. Se recomienda que la base de datos tenga:• Al menos dos copias (Oracle recomienda tres) del

archivo de control• Cada copia en un disco independiente• Al menos una copia en un controlador de disco

independiente

Archivos de control

Archivos de ControlUn archivo de control es un pequeño archivo binario que describe la estructura de la base dedatos. Debe estar disponible para que el servidor de Oracle escriba en él siempre que se monte o se abra la base de datos. Sin este archivo, la base de datos no se puede montar y es necesario recuperar o volver a crear el archivo de control. La base de datos debe tener un mínimo de dosarchivos de control (es preferible tres) en distintos discos para minimizar el impacto de lapérdida de un archivo de control. Si la base de datos se crea con Database Configuration Assistant (DBCA) utilizando Oracle Managed Files (OMF), tendrá dos archivos de control. Si no utiliza OMF, hay tres archivos de control. La pérdida de un único archivo de control provoca que la instancia falle porque todos losarchivos de control deben estar disponibles en todo momento, aunque la recuperación es tansencilla como copiar uno de los demás archivos de control. Es un poco más difícil recuperarse de la pérdida de todos los archivos de control, pero no suele ser de gran repercusión.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 436: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Archivos Redo Log

Multiplexar grupos de redo logs para protegerse contrafallos del medio físico y la pérdida de datos. Se recomienda que los grupos de redo logs tengan:• Al menos dos miembros (archivos) por grupo• Cada miembro en una unidad de disco independiente• Cada miembro en un controlador de disco

independiente

Nota: El rendimientose ve altamenteafectado por la escritura en redo logs.

Grupo 1 Grupo 2 Grupo 3

Disco 1

Disco 2

Miembro1

Miembro2

Miembro1

Miembro2

Miembro1

Miembro2

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

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 437: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Multiplexión del Redo Log

Multiplexión del Redo LogPara multiplexar el redo log, agregue un miembro a un grupo de logs existente. Para agregar unmiembro a un grupo de redo logs (con la base de datos abierta y sin que tenga impacto en elrendimiento del usuario), realice los siguientes pasos:

1. Acceda a la página Redo Log Groups. 2. Seleccione un grupo y haga clic en el botón Edit o haga clic en el enlace del nombre del

grupo. Aparece la página Edit Redo Log Group. 3. En la región Redo Log Members, haga clic en Add. Se mostrará la página Add Redo Log

Member. 4. Introduzca el nombre de archivo y el directorio de archivos. Haga clic en Continue.

Nota: Se recomienda que almacene los miembros en discos independientes para protegersecontra la pérdida total de entradas de redo log en caso de fallo de un disco.

Repita estos pasos para cada uno de los grupos existentes.Cuando agrega el miembro del redo log a un grupo, el estado del archivo log agregado se define en INVALID, como se puede visualizar en la vista v$logfile. Éste es el estado esperado porque aún no se ha escrito en un miembro del grupo. Cuando se produce un cambio de log y elgrupo no válido se convierte en el actual, el estado cambia a CURRENT. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 438: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Archivos Archive Log

Para mantener la información de redo, cree copias archivadas de los archivos redo log, realizando lossiguientes pasos:1. Especifique la regla de nomenclatura de los

archivos archive log.2. Especifique una o más ubicaciones de los

archivos archive log.3. Cambie la base de datos al modo ARCHIVELOG.

Archivos redo log online Archivos archive log

Archivos Archive LogLa instancia trata los grupos de redo logs online como un buffer circular en el que almacenar lainformación de transacciones, llenando un grupo y, a continuación, pasando al siguiente.Después de que se haya escrito en todos los grupos, la instancia empieza a sobrescribir lainformación del primer grupo de logs. Para configurar la base de datos para la máxima recuperabilidad, debe indicarle que realice una copia del grupo de redo logs online antes de permitir que se sobrescriban. Estas copias sedenominan archive logs. Para facilitar la creación de archivos archive log, realice los siguientes pasos:

1. Especifique una regla de nomenclatura para los archive logs. 2. Especifique un destino o destinos para almacenar los archive logs. 3. Ponga la base de datos en modo ARCHIVELOG.

Note• Los pasos 1 y 2 no son necesarios si está utilizando un área de recuperación de flash. • El destino debe existir antes de poner la base de datos en modo ARCHIVELOG. Cuando se

especifica un directorio como destino, debe haber una barra al final del nombre deldirectorio. FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 439: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Archivo Archive Log: Nomenclatura y Destinos

Archivo Archive Log: Nomenclatura y DestinosPara configurar la nomenclatura y los destinos de archivos archive log, haga clic en Configure Recovery Settings en la página Maintenance. Los archivos archive log deben tener un nombre único para evitar sobrescribir archivos logantiguos. Especifique el formato de nomenclatura como se muestra en la diapositiva. Para ayudara crear nombres de archivo únicos, la base de datos Oracle 10g permite varios caracteres comodín en el formato de nombre:

• %s: Incluye el número de secuencia de log como parte del nombre de archivo• %t: Incluye el número de thread como parte del nombre de archivo• %r: Incluye el identificador de resetlogs para asegurarse de que el nombre del archivo

archive log sea único incluso después de determinadas técnicas de recuperación avanzadas que restablecen los números de secuencia de log

• %d: Incluye el identificador de base de datos como parte del nombre de archivoEl formato debe incluir %s, %t y %r. El uso de %d es opcional, pero se debe incluir si variasbases de datos comparten el mismo destino de archive logs. Los archivos archive log se pueden escribir en un máximo de diez destinos distintos. Losdestinos pueden ser locales (un directorio) o remotos (un alias de Red de Oracle para una base dedatos en espera). Los destinos locales deben terminar en una barra “/” (o barra invertida “\” si seutiliza Windows).

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 440: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Archivo Archive Log: Nomenclatura y Destinos (continuación)El destino por defecto (número 10) envía los archivos archive log a una ubicación determinada por el parámetro de inicialización DB_RECOVERY_FILE_DEST. DB_RECOVERY_FILE_DEST también se denomina área de recuperación de flash. Este destinose puede ver en la parte inferior de la página de propiedades Configure Recovery Settings como ubicación del área de recuperación de flash. Si no desea que se envíen los archivos a esta ubicación, suprima USE_DB_RECOVERY_FILE_DEST. Para cambiar los valores de recuperación, debe conectarse como SYSDBA o SYSOPER.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 441: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 14-27

Copyright © 2008, Oracle. Todos los derechos reservados.

Modo ARCHIVELOG

• Para poner la base de datos en modoARCHIVELOG, realice los siguientes pasos:1. Active la casilla de control del modo ARCHIVELOG. 2. Haga clic en Apply. La base de datos sólo se puede

definir en el modo ARCHIVELOG desde el estadoMOUNT.

3. Haga clic en Yes cuando se le pregunte si desea reiniciar la base de datos.

4. Cree una copia de seguridad de la base de datos.• Las bases de datos en modo ARCHIVELOG tienen

acceso a todas las opciones de copia deseguridad y de recuperación.

Modo ARCHIVELOG

Al poner la base de datos en el modo ARCHIVELOG los redo logs no se sobrescriben hasta queno se han archivado. El siguiente comando SQL se utiliza para poner la base de datos en modoARCHIVELOG:

SQL> ALTER DATABASE ARCHIVELOG;

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 442: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Resumen

En esta lección, debe haber aprendido lo siguiente:• Identificar los tipos de fallos que se pueden

producir en la base de datos Oracle• Describir las formas de ajustar la recuperación de

instancias• Identificar la importancia de los puntos de control,

archivos redo log y archivos archive log• Configurar el modo ARCHIVELOG

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 443: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Visión General de la Práctica:Configuración de Recuperabilidad

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

• Garantía de que se crean archive logsredundantes

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 444: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 445: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Copyright © 2008, Oracle. Todos los derechos reservados.

Realización de Copias de Seguridad de Bases de Datos

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 446: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Objetivos

Al finalizar esta lección, debería estar capacitado paralo siguiente:• Crear copias de seguridad de bases de datos

consistentes• Realizar copias de seguridad de bases de datos

sin cerrarlas• Crear copias de seguridad incrementales• Automatizar copias de seguridad de bases de

datos• Controlar el área de recuperación de flash

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 447: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Soluciones de Copia de Seguridad:Visión General

Las copias de seguridad se pueden realizar mediante:• Recovery Manager• Oracle Secure Backup• Un supuesto gestionado por usuario

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 448: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Oracle Secure Backup

• Oracle Secure Backup y RMAN proporcionan una completa solución de copia de seguridad para entornos de Oracle:– Gestión centralizada de copia de seguridad en

cintas de datos del sistema de archivos y de la base de datos Oracle

– Capa de gestión de medios físicos con la máxima integración para las copias de seguridad de RMAN

– Copia de seguridad de todos los datos de cualquier punto de la red

• Un único recurso de soporte técnico para toda lasolución de copia de seguridad acelera laresolución de problemas.

• Así se garantiza una protección fiable de los datoscon el menor costo y la mínima complejidad.

Oracle Secure BackupEl producto actual de Oracle para copia de seguridad y recuperación de la base de datos esRecovery Manager. Oracle Secure Backup complementa la funcionalidad existente de lossiguientes modos:

• Solución de copia de seguridad completa: Oracle Secure Backup proporciona proteccióna los datos de la base de datos y también a los datos que no son de la base para proteger todo el entorno de Oracle.

• Gestión de medios físicos: Oracle Secure Backup proporciona una capa de gestión demedios físicos que facilita la copia de seguridad de la base de datos de RMAN en cintas. Antes de que existiera Oracle Secure Backup, los clientes tenían que adquirir costosos productos de terceros para la gestión de medios físicos que ofrecieran integración con las copias de seguridad de RMAN en cintas.

• Copias de seguridad en cualquier punto de la red: Oracle Secure Backup realiza copiasde seguridad de los datos de varios sistemas de computadoras conectadas a la red enrecursos de almacenamiento terciario de la red. Oracle Secure Backup soporta diversas configuraciones de servidores, clientes, servidores Network Attached Storage (NAS) ydispositivos de almacenamiento terciario al tiempo que protege los entornos dealmacenamiento de la red.

La combinación de RMAN y Oracle Secure Backup proporciona una completa solución de copiade seguridad dentro de la pila de productos Oracle. Esto mejora el soporte al cliente ya queOracle Corporation es responsable de toda la solución de copia de seguridad.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 449: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Copia de Seguridad Gestionada por Usuario

Un supuesto gestionado por usuario:• Es un proceso manual en el que se realiza un

seguimiento de las necesidades y estado de las copias de seguridad.

• Necesita que el DBA escriba archivos de comandos.

• Necesita que los archivos de la base de datos se pongan en el modo correcto para la copia de seguridad.

• Se basa en comandos del sistema operativo para realizar copias de seguridad de archivos.

Copia de Seguridad Gestionada por UsuarioUna copia de seguridad gestionada por usuario implica la escritura de archivos de comandos para realizar la copia de seguridad. Hay varios supuestos que se pueden ejecutar; se deben escribir archivos de comandos para manejarlos. Estos son algunos de los pasos que deben realizar losarchivos de comandos:

• Consultar v$datafile para determinar los archivos de datos que se deben incluir en lacopia de seguridad y su estado actual.

• Consultar v$logfile para identificar los archivos redo log online.• Consultar v$controlfile para identificar el archivo de control para la copia de

seguridad.• Colocar cada tablespace en el modo de copia de seguridad online.• Consultar v$backup para ver qué archivos de datos forman parte de un tablespace que se

ha colocado en el modo de copia de seguridad online.• Ejecutar comandos de copia del sistema operativo para copiar los archivos de datos en la

ubicación de copia de seguridad.• Quitar cada tablespace del modo de copia de seguridad online.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 450: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Terminología

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

• El tipo de copia de seguridad puede indicar lainclusión:– De toda la información de todos los archivos de

datos (completa)– Sólo de la información que ha cambiado desde una

copia de seguridad anterior (incremental)• El modo de copia de seguridad puede

ser:– Offline (consistente, en frío)– Online (inconsistente, con la base de datos activa)

TerminologíaUna copia de seguridad de la base de datos completa incluye todos los archivos de datos y almenos un archivo de control. (Recuerde que todos los archivos de control dentro de una base dedatos son idénticos).La copia de seguridad de la base de datos parcial puede incluir cero o más tablespaces, cero omás archivos de datos y puede incluir o no un archivo de control.Las copias de seguridad completas realizan una copia de todos los bloques de datos que contienen datos y que están dentro de los archivos de los que se está realizando la copia deseguridad.Las copias de seguridad incrementales realizan una copia de todos los bloques de datos que han cambiado desde una copia de seguridad anterior. Oracle Database 10g soporta dos niveles decopia de seguridad incremental (0 y 1). Una copia de seguridad de nivel 0 o de línea base, aligual que una copia de seguridad completa, contiene todos los bloques de datos. Una copia deseguridad incremental de nivel 1 puede ser de dos tipos: acumulativa o diferencial. Una copia deseguridad acumulativa realiza una copia de seguridad de todos los cambios desde la última copiade seguridad de nivel 0. Una copia de seguridad diferencial realiza una copia de seguridad detodos los cambios desde la última copia de seguridad incremental (que podría ser de nivel 0 o denivel 1). FU

ND

ACIO

N P

RO

YDES

A (F

UN

DAC

ION

@PR

OYD

ESA

OR

G) h

as a

non

-tran

sfer

able

lice

nse

to u

se th

is S

tude

nt G

uide

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 451: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 452: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Terminología

Las copias de seguridad se pueden almacenar como:• Copias de imagen• Juegos de copias de seguridad

Archivo de datos nº 2

Archivo de datos nº 3

Archivo de datos nº 4

Archivo de datos nº 5

Archivo de datos nº 1

Archivo de datos nº 6Copias de imagen

Juego de copiasde seguridad

Archivo dedatos nº 6

Archivo dedatos nº 5

Archivo dedatos nº 4

Archivo dedatos nº 3

Archivo dedatos nº 2

Archivo dedatos nº 1

Terminología (continuación)Las copias de imagen son duplicados de archivos de datos o archive log (similar a copiar losarchivos utilizando comandos del sistema operativo).Los juegos de copias de seguridad son recopilaciones de uno o más archivos binarios que contienen uno o más archivos de datos o archive log. Con los juegos de copias de seguridad, losbloques de datos vacíos no se almacenan, por lo que los juegos de copias de seguridad utilizan menos espacio en disco o en cinta. Los juegos de copias de seguridad se pueden comprimir para reducir más los requisitos de espacio de la copia de seguridad.La copia de seguridad de las copias de imagen se debe realizar en disco. Los juegos de copias deseguridad se pueden enviar a disco o directamente a cinta. La ventaja de crear una copia de seguridad como una copia de imagen es la mejora en lagranularidad de la operación de restauración. Con una copia de imagen, sólo el archivo o losarchivos se deben recuperar de la cinta. Con los juegos de copias de seguridad, toda la copia deseguridad se debe recuperar de la cinta para extraer el archivo o los archivos necesarios. La ventaja de crear copias de seguridad como juegos es el mejor uso del espacio. La mayoría delas bases de datos contienen un 20% o más bloques vacíos. Las copias de imagen realizan lacopia de seguridad de todos los bloques de datos, incluso si están vacíos. Los juegos de copias deseguridad reducen significativamente el espacio necesario para la copia de seguridad. En la mayor parte de los sistemas, las ventajas de los juegos de copias de seguridad son mayores que las de las copias de imagen.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 453: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Recovery Manager (RMAN)

• Enterprise Manager utiliza Recovery Manager (RMAN) para realizar operaciones de copia deseguridad y recuperación

• RMAN:– Es un cliente de línea de comandos para funciones

avanzadas– Tiene un potente lenguaje de control y de archivos

de comandos– Tiene una API publicada que permite interactuar

con el software de copia de seguridad más conocido

– Realiza copia de seguridad de archivos de datos, de control, archive log y de parámetros de servidor

– Realiza copia de seguridad de los archivos en disco o cinta

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 454: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Configuración de Valores de Copia deSeguridad

Configuración de Valores de Copia de SeguridadAcceda a la página Maintenance y haga clic en Configure Backup Settings. En esta página depropiedades se gestionan los valores de copia de seguridad persistente que se utilizan para crear copias de seguridad. Hay valores distintos para disco y cinta. Los valores de cinta dependen delas capacidades de la biblioteca de gestión de medios físicos. Los valores de disco incluyen:

• Parallelism: Número de flujos de información de copia de seguridad distintos que desea crear. La mejor configuración para el paralelismo dependerá del hardware. Una única CPU, un único controlador de disco o un único servidor de disco no se beneficiarían de larealización de copias de seguridad paralelas. A medida que aumentan los recursos de hardware, el grado de paralelismo adecuado también aumenta.

• Disk Backup Location: Lugar donde se deben almacenar las copias de seguridad. El valorpor defecto es el área de recuperación de flash. Si lo cambia, haga clic en “Test Disk Backup” para verificar que RMAN puede escribir en la nueva ubicación.

• Disk Backup Type: Seleccione Image Copy, Backup Set o Compressed Backup Set.Haga clic en el separador Backup Set para definir el tamaño máximo de los archivos de juego decopias de seguridad. Este máximo se utiliza para dividir los juegos de copias de seguridad en loque se denominan “partes de copias de seguridad”, lo que facilita el archivado. Las credenciales de host son necesarias para que Enterprise Manager guarde los cambios a losvalores de copia de seguridad.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 455: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Configuración de Valores de Copia deSeguridad

Configuración de Valores de Copia de Seguridad (continuación)Haga clic en el separador Policy para:

• Realizar una copia de seguridad automática del archivo de control y del archivo deparámetros del servidor (SPFILE) con cada copia de seguridad. También puede especificar una ubicación para estas copias de seguridad, si no desea que vayan al área derecuperación de flash.

• Optimizar las copias de seguridad omitiendo la copia de archivos que coincidan exactamente con un archivo que ya forma parte de las copias de seguridad conservadas. Este valor permite saltar los archivos de datos de sólo lectura y offline.

• Activar el seguimiento de cambios de bloque y especificar una ubicación para el archivo deseguimiento. Si intenta crear copias de seguridad incrementales, este ajuste puede reducirel tiempo necesario para seleccionar los bloques que se deben incluir en la copia deseguridad incremental.

• Excluir el tablespace de una copia de la base de datos completa. Algunos administradores eligen no realizar la copia de seguridad de tablespaces que contengan datos u objetos quese pueden volver a crear fácilmente (como índices o datos que se cargan por lotes confrecuencia).

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 456: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Planificación de Copias de Seguridad:Estrategia

Seleccionar una copia de seguridad completa o parcialde la base de datos.

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 457: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Planificación de Copias de Seguridad:Opciones

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 458: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Planificación de Copias de Seguridad:Configuración

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 459: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Planificación de Copias de Seguridad:Planificación

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 460: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Planificación de Copias de Seguridad:Revisión

Haga clic en Edit RMAN Script para revisar comandosde RMAN.

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

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 461: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Copia de Seguridad del Archivo de Control en un Archivo de Rastreo

Los archivos de control tienen una opción adicional de copia de seguridad.

Las copias de seguridad para rastreo de archivos de control se pueden utilizar para recuperar la pérdidade todos los archivos de control.

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

SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

La copia de seguridad para rastreo se crea en la ubicación especificada mediante el parámetro deinicialización USER_DUMP_DEST con un nombre de archivo como sid_ora_pid.trc.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 462: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copia de Seguridad del Archivo de Control en un Archivo de Rastreo (continuación)El archivo de rastreo contiene información sobre los destinos de archive log seguida de comandos que crean archivos de control de sustitución y, a continuación, recupera la base de datos:

CREATE CONTROLFILE REUSE DATABASE ORCL NORESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 226

LOGFILE GROUP 1 '/oracle/oradata/orcl/redo01.log' SIZE 10M, GROUP 2 '/oracle/oradata/orcl/redo02.log' SIZE 10M, GROUP 3 '/oracle/oradata/orcl/redo03.log' SIZE 10M

DATAFILE '/oracle/oradata/orcl/system01.dbf', '/oracle/oradata/orcl/undotbs01.dbf', '/oracle/oradata/orcl/sysaux01.dbf', '/oracle/oradata/orcl/users01.dbf', '/oracle/oradata/orcl/example01.dbf'

CHARACTER SET WE8ISO8859P1; -- Commands to re-create incarnation table -- Below log names MUST be changed to existing filenames on -- disk. Any one log file from each branch can be used to -- re-create incarnation records. -- ALTER DATABASE REGISTER LOGFILE

'/oracle/flash_recovery_area/ORCL/archivelog/2003_12_05/o1_mf_1_1_%u_.arc';

-- ALTER DATABASE REGISTER LOGFILE '/oracle/flash_recovery_area/ORCL/archivelog/2003_12_05/o1_mf_1_1_%u_.arc';

-- Recovery is required if any of the data files are restored backups,

-- or if the last shutdown was not normal or immediate. RECOVER DATABASE -- All logs need archiving and a log switch is needed. ALTER SYSTEM ARCHIVE LOG ALL; -- Database can now be opened normally. ALTER DATABASE OPEN; -- Commands to add tempfiles to temporary tablespaces. -- Online tempfiles have complete space information. -- Other tempfiles may require adjustment. ALTER TABLESPACE TEMP ADD TEMPFILE

'/oracle/oradata/orcl/temp01.dbf' SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE

32767M;

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 463: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 15-19

Copyright © 2008, Oracle. Todos los derechos reservados.

Gestión de Copias de Seguridad

Gestión de Copias de SeguridadHaga clic en Manage Current Backups en la página de propiedades Maintenance para gestionar las copias de seguridad existentes. En esta página puede ver cuándo se completó una copia deseguridad, dónde se creó (disco o cinta) y si aún está disponible. En la parte superior de la página Manage Current Backups aparecen cuatro botones que permiten trabajar con copias de seguridad existentes.

• Catalog Additional Files: Aunque RMAN (al trabajar mediante Enterprise Manager) es elmodo recomendado para crear copias de seguridad, se pueden crear copias de imagen ojuegos de copias de seguridad mediante algún otro tipo de medio u entorno que no tenga encuenta RMAN. Esta tarea identifica esos archivos y los agrega al catálogo.

• Crosscheck All: RMAN puede suprimir automáticamente las copias de seguridad obsoletas, pero también puede suprimirlas utilizando comandos del sistema operativo. Sisuprime una copia de seguridad sin utilizar RMAN, el catálogo no tendrá conocimiento deque ésta falta hasta que realice una comprobación cruzada entre el catálogo y lo que hayrealmente allí.

• Delete All Obsolete: Suprime las copias de seguridad anteriores a la política de retención.• Delete All Expired: Suprime la lista del catálogo para las copias de seguridad que no se

encontraron al realizar la comprobación cruzada.

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 464: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

Oracle Database 10g: Taller de Administración I 15-20

Copyright © 2008, Oracle. Todos los derechos reservados.

Área de Recuperación de Flash

Controlar el área de recuperación de flash para:• Configurar el registro de flashback• Ajustar el tamaño del área de recuperación• Visualizar el consumo de espacio actual

Área de Recuperación de FlashEl área de recuperación de flash es un espacio separado en el disco para contener archive logs,copias de seguridad, logs de flashback, archivos de control duplicados y redo logs duplicados. Si ha configurado los archive logs para que se escriban en esta ubicación (con el indicadorUSE_DB_RECOVERY_AREA en una de las ubicaciones), es importante controlar este espacio para asegurarse de que no alcanza la capacidad. Si la instancia no puede crear un archive logdebido a falta de espacio, se detiene hasta que el administrador corrija la situación. Al hacer clic en Recovery Settings en la página de propiedades Maintenance se accede a losvalores de Flash Recovery Area. En esta página puede:

• Especificar la ubicación del área de recuperación de flash• Especificar el tamaño del área de recuperación de flash (Oracle recomienda que sea al

menos dos veces el tamaño de la base de datos para que pueda contener una copia deseguridad y varios archive logs)

• Verificar qué cantidad del área de recuperación de flash se ha consumido • Configurar el flashback de base de datos. El flashback de base de datos se trata en la

lección titulada “Realización de Flashback”. FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 465: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Resumen

En esta lección, debe haber aprendido lo siguiente:• Crear copias de seguridad de bases de datos

consistentes• Realizar copias de seguridad de bases de datos

sin cerrarlas• Crear copias de seguridad incrementales• Automatizar copias de seguridad de bases de

datos• Controlar el área de recuperación de flash

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.

Page 466: Oracle Database 10g - Taller de Administración I Volumen I - Guía Del Alumno

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

Copyright © 2008, Oracle. Todos los derechos reservados.

Visión General de la Práctica:Creación de Copias de Seguridad de

Bases de DatosEn esta práctica se abordan los siguientes temas:• Configuración de la base de datos para realizar

copias de seguridad• Realización de una copia de seguridad de la base

de datos mientras ésta está abierta para mantenerla actividad de los usuarios

• Planificación de copias de seguridad incrementales automáticas de la base de datos por las noches

FUN

DAC

ION

PR

OYD

ESA

(FU

ND

ACIO

N@

PRO

YDES

AO

RG

) has

a n

on-tr

ansf

erab

le li

cens

e to

use

this

Stu

dent

Gui

de

Unauthorized reproduction or distribution prohibited. Copyright© 2010, Oracle and/or its affiliates.