48
Administración de una base de datos BDOO Oracle 10g ÍNDICE 1.- Introducción............................... 3 1.1.- Conceptos clave...............................3 2.- Requisitos, instalación y primeros pasos. . .4 2.1.- Requisitos del sistema........................4 2.2.- Tipos de instalaciones........................4 2.2.1.- Instalación básica......................4 2.2.2.- Instalación avanzada....................4 2.3.- Primeros pasos................................5 2.3.1.- Inicio de una instancia.................5 2.3.2.- Conexión a Oracle 10g...................6 3.- Administración del espacio y creación manual de la BD....................................... 6 3.1.- Estimación del tamaño de una base de datos....6 3.2.- Espacios de tabla y Archivos de datos.........7 3.2.1.- Espacio de tabla o TABLESPACE...........7 3.2.2.- Archivo de datos........................7 4.- Creación y configuración de una base de datos 8 4.1.- Crear base de datos...........................8 4.2.- Gestionar plantillas.........................12 4.3.- Configurar una base de datos.................13 4.4.- Suprimir una base de datos...................13 5.- Administración de la seguridad en Oracle. .13 5.1.- Dos conceptos importantes....................13 5.2.- Servicios básicos de seguridad...............14 Página 1 de 48

AdministracionOracle10g

Embed Size (px)

Citation preview

Page 1: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

ÍNDICE

1.- Introducción.........................................................................................31.1.- Conceptos clave..........................................................................................3

2.- Requisitos, instalación y primeros pasos.............................................42.1.- Requisitos del sistema.................................................................................42.2.- Tipos de instalaciones.................................................................................4

2.2.1.- Instalación básica............................................................................42.2.2.- Instalación avanzada.......................................................................4

2.3.- Primeros pasos............................................................................................52.3.1.- Inicio de una instancia....................................................................52.3.2.- Conexión a Oracle 10g...................................................................6

3.- Administración del espacio y creación manual de la BD....................63.1.- Estimación del tamaño de una base de datos..............................................63.2.- Espacios de tabla y Archivos de datos........................................................7

3.2.1.- Espacio de tabla o TABLESPACE.................................................73.2.2.- Archivo de datos.............................................................................7

4.- Creación y configuración de una base de datos...................................84.1.- Crear base de datos......................................................................................84.2.- Gestionar plantillas....................................................................................124.3.- Configurar una base de datos....................................................................134.4.- Suprimir una base de datos.......................................................................13

5.- Administración de la seguridad en Oracle.........................................135.1.- Dos conceptos importantes.......................................................................135.2.- Servicios básicos de seguridad..................................................................14

5.2.1.- Autentificación y administración de usuarios...............................155.2.2.- Administración de privilegios.......................................................165.2.3.- Administración de contraseñas.....................................................165.2.4.- Establecimiento de límites de recursos de la base de datos..........17

5.3.- Mecanismos de protección de datos en Oracle.........................................175.3.1.- Registro de transacciones.............................................................175.3.2.- Copia de seguridad de la base de datos con RMAN.....................185.3.3.- Recuperación de una base de datos con RMAN...........................18

5.4.- Seguridad, gestión y administración de Oracle Enterprise Manager........19

Página 1 de 33

Page 2: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

5.4.1.- Administración de la seguridad....................................................195.4.2.- Administración de Oracle Enterprise Manager............................19

5.5.- Establecimiento de políticas......................................................................205.5.1.- Gestión de bibliotecas de políticas...............................................205.5.2.- Ejemplos de políticas....................................................................21

6.- Mantenimiento de la base de datos....................................................236.1.- Utilidades..................................................................................................23

6.1.1.- Exportación...................................................................................236.1.2.- Importación...................................................................................256.1.3.- Asistente de carga de data de archivos.........................................266.1.4.- Recopilación de estadísticas.........................................................276.1.5.- Reorganización de objetos............................................................28

6.2.- Copias de seguridad y Recuperación de la Base de Datos........................296.2.1.- Copias de seguridad lógicas y físicas...........................................296.2.2.- Copias de la base entera................................................................306.2.3.- Copias de tablespaces...................................................................306.2.4.- Copias de archivos de datos..........................................................306.2.5.- Copias de los archivos de control.................................................30

6.3.- Recuperación de la base de datos..............................................................316.4.- Estructuración / Despliegue de la base......................................................32

6.4.1.- Clonación......................................................................................326.4.2.- Gestión de bibliotecas de políticas...............................................326.4.3.- Gestión de violaciones de políticas...............................................33

Página 2 de 33

Page 3: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

1.- INTRODUCCIÓN

En este trabajo monográfico se pretende introducir a la administración de bases de datos. Como caso de ejemplo, se hará referencia a la versión de Oracle 10g.Se pretende aclarar conceptos que se puedan tener difusos, e introducir nuevos.No es un manual, es una guía que puede orientar a una persona inexperta en el campo de la administración de bases de datos.

1.1.- Conceptos clave:

SGBD: sistema gestor de bases de datos

Un SGBD está formado por: Una base de datos: Colección de datos Software: Para acceder y manipular los datos. Hardware y usuarios.

Componentes de un SGBD: Componentes de Procesamiento de sentencias DML/DDL (Lenguaje de

manipulación de datos / Lenguaje de definición de datos)o Compilador DMLo Precompilador DMLo Intérprete DDLo Motor de ejecución

Componentes de gestión de almacenamientoo Gestor de autorización e integridado Gestor de transaccioneso Gestor de archivoso Gestor de memoria intermedia

Otros componentes almacenados en disco:o Archivos de datos, diccionario de datos, índices, datos estáticos…

DBA: administrador de una base de datos. Funciones:

Control global de la base de datos. Definir el esquema de la base de datos: a partir del modelo conceptual. Definir estructuras de almacenamiento Conceder/Revocar permisos de acceso Especificación de restricciones de integridad

Usuarios de una base de datos.

Programadores de aplicaciones. Son de dos tipos:o Aplicaciones internas al SGBDo Aplicaciones externas al SGBD

Usuarios especializados: interactuan con el SGBD sin programas intermedios, sino directamente con el DML de SGBD

Página 3 de 33

Page 4: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

Usuarios normales: interactuan con el SGBD a través de programas de aplicación

2.- REQUISITOS, INSTALACIÓN Y PRIMEROS PASOS

Antes de instalar un SGBD, ya sea Oracle en cualquiera de sus versiones, como cualquier otro, es necesario conocer los requerimientos hardware y software.

2.1.- Requisitos del sistema:

Requerimientos Hardware

- 256 MB de memoria RAM- Memoria virtual: El doble que de memoria RAM- Espacio para archivos temporales: 100 MB en disco- Adaptador de video de 256 colores- Procesador: mínimo 200 MHz- Espacio en el disco de 100 MB- 100 MB para el System Drive- De 1’4 a 1’5 GB según el tipo de instalación, para Oracle Home Drive

Requerimientos Software

- Procesador de 32 bits- Sistemas Operativos: Windows NT: Server 4.0

Enterprise Edition 4.0 … no es soportado por la versión workstation.

Windows: 2000 + SP1 o superior Server 2003

XP Profesional- Protocolo de red TCP/IP, TCP/IP con SSL y Named Pipes

2.2.- Tipos de instalaciones

2.2.1.- Instalación Básica

Es la instalación rápida de Oracle 10g. Necesita la intervención mínima del usuario.Se debe especificar la dirección del directorio raíz de Oracle, donde se va a instalar el software.Si se crea una base de datos inicial hay que especificar el nombre y las contraseñas para las cuentas de base de datos administrativas (SYS, SYSTEM, DBSNMP y SYSMAN).

2.2.2.- Instalación Avanzada

Se elige para poder realizar cualquiera de las siguientes tareas:

Página 4 de 33

Page 5: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

- Personalizar el software- Para instalar Oracle Real Application Cluster- Actualizar una base de datos existente.- Seleccionar caracteres o idioma diferente- Crear el Tablespace EXAMPLE durante la instalación- …

Dentro del tipo de instalación avanzada se puede elegir entre:

Enterprise Edition. Standard Edition: Para un grupo de trabajo pequeño o PYMES. Proporciona

opciones y servicios de gestión de BD relacionales esenciales Personal Edition: Sólo soporta un entorno de desarrollo y de despliegue

monousuario.

El nombre de la base de datos global será normalmente: nombreBD.dominioBDPor defecto: ORCLAl final de la instalación se obtiene:

Nombre de la BDSID: identificador del sistemaNombre del archivo de parámetros del servidorURL: para acceder

Se establecen las contraseñas para cada cuenta. Las cuentas predeterminadas son: SYS, SYSTEM y SYSMAN

2.3.- Primeros pasos

Una vez instalado el software de Oracle, los primeros pasos a seguir para su utilización son los siguientes:

2.3.1.- Inicio de una instancia:

1. Arrancar el sevidor de BD.2. Iniciar una instancia de BD. Una instancia es el conjunto de procesos y áreas de

memoria del servidor que utiliza Oracle para administrar el acceso a una BD. En Windows NT/2000/XP una instancia de bases de datos Oracle 10g es un servicio de Windows.

3. Asociar la BD a la instancia. Cuando aparezcan las distintas instancias (por defecto ORCL), hay que conectarse. La opción es Connect database”.

4. Abrir la BD. A continuación hay que definir el método de autenticación {user, password}. Es entonces cuando se produce la conexión a la instancia.

Dado que cada instancia de base de datos Oracle 10g es un servicio de Windows, la forma de comprobar, iniciar, o parar una instancia será utilizando el cuadro de diálogo Servicios de Windows, que se encuentra en:

INICIO Panel de Control Rendimiento y Mantenimiento Herramientas administrativas Servicios.

Página 5 de 33

Page 6: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

Con el nombre OracleServicenombre, donde nombre es el SID que se le ha dado a la base de datos al crearla (Ejemplo: OracleServiceORCL)

2.3.2.- Conexión a Oracle 10g

Una vez instanciada la BD se establece una conexión al servidor de BD Oracle para comenzar el trabajo con la información de la misma.La herramienta de trabajo habitual es SQL*Plus.El entorno SQL*Plus es una herramienta que permite establecer conexión con el servidor de base de datos Oracle y comenzar el trabajo con la información de la base de datos.Se encuentra en:

INICIO Todos los programas Oracle-Ora10gHome1 Application Development SQL Plus

3.- ADMINISTRACIÓN DEL ESPACIO Y CREACIÓN MANUAL DE LA BASE DE DATOS

3.1.- Estimación del tamaño de una base de datos

Al diseñar una base de datos se puede necesitar hacer una estimación del tamaño que tendrá cuando esté llena. Esta estimación puede determinar si el diseño es correcto o por el contrario necesita reajustes.

Para realizar esta estimación hay que tener en cuenta que contiene el espacio en total:

Estructuras lógicas:o Tablas, bases de datos…

Estructuras físicaso Archivos de datos, bloque de datos

Es espacio total está compuesto por estructuras lógicas y físicas que componen Oracle, y que esencialmente son:

- Espacios de tabla (TABLESPACE)- Archivos de control

- Segmentos de datos- Segmentos de índice- Segmentos temporales- Segmentos de restauración- Extensiones- Bloques de datos y división de datos para tablas e índices.

Página 6 de 33

Page 7: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

3.2.- Espacios de tabla y Archivos de datos

Las estructuras básicas son los espacios de tabla (estructura lógica) y los archivos de datos (estructura física)

3.2.1.- Espacio de tabla o TABLESPACE

El espacio de tabla, también denominado TABLESPACE, se define de la siguiente manera: “Es la estructura que almacena físicamente los datos de la tabla en uno o más archivos de datos asociados”Al crear un nuevo objeto, la base de datos se almacena en el tablespace elegido (o en el predefinido por defecto)Toda BD tiene al menos un TABLESPACE. Este se denomina SYSTEM con el fin de almacenar:

o El diccionario de datos: Es un conjunto de tablas internas del sistema donde se almacena la información propia de la base de datos

o Los códigos fuente y compilado de los programas PL/SQLo Procedimientos, funciones almacenadas, triggers…

o Los objetos de la base de datoso Vistas, sinónimos, secuencias…

También pueden existir otro tipo de espacios de tabla como por ejemplo:o TEMP: Separa los datos temporales usados durante el procesamiento interno del

sistema.o ROLLBACK: Separa los datos de restauración de transacciones del sistema de

otro tipo de datos.Oracle utiliza varios espacios de tabla para separar lógica y físicamente el almacenamiento de distintos conjuntos de información de base de datos.Los espacios de tabla pueden estar en varios estados:

- en linea: los datos están a disposición de las aplicaciones y de las bases de datos.- fuera de línea: los datos no están a disposición de los usuarios de la base de datos, incluso aunque la base de datos esté disponible.

Los espacios de tabla son por defecto de escritura y de lectura, pero se pueden modificar a sólo lectura.

3.2.2.- Archivos de datos

El archivo para el almacenamiento físico en disco de un espacio de tabla de una base de datos se denomina archivo de datos.

Después de crear un espacio de tabla se pueden agregar más archivos de datos nuevos para incrementar su capacidad de almacenamiento.

Página 7 de 33

Page 8: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

4.- CREACIÓN Y CONFIGURACIÓN DE UNA BASE DE DATOS

Para la realización de estas tareas, Oracle 10 dispone de un asistente de configuración de Bases de Datos. Este asistente nos permitirá crear, modificar y eliminar una base datos. Para la creación pueden utilizarse plantillas, tanto las proporcionadas por Oracle 10g como las que podemos crear y almacenar nosotros mismos para su posterior uso.

Para ejecutar el asistente debemos elegir la aplicación “Database Configuration Assistant”, que se encuentra en la carpeta “Configuration and Migration Tools” de “Oracle-OraDb10g_Home1”.

Tras pasar por la pantalla de bienvenida, podemos elegir 4 opciones: Crear Base de Datos, Configurar Opciones de Base de Datos, Suprimir Base de Datos y Gestionar Plantillas.

4.1.- Crear una base de datos

Plantillas

Si seleccionamos la primera opción “Crear Base de Datos” nos aparecerá la siguiente pantalla. En esta ocasión se nos presentan 4 plantillas: Almacén de Datos (Data Warehouse), Procesamiento de transacciones, Uso General y Personalizar Base de Datos. Las tres primeras incluyen Archivos de Datos, pero la opción de Personalizar Base de Datos contiene tan solo la estructura de la base de datos, y proporciona control total para especificar y cambiar todos los parámetros de la base de datos. Si se selecciona esta opción, la creación de la base de datos tardará más, ya que se deben ejecutar todos los archivos de comandos para crear el esquema.

Si por el contrario seleccionamos cualquiera de las otras tres opciones la creación de la base de datos será mucho más rápida porque el esquema está presente en los archivos de datos existentes, pero no se podrá agregar ni eliminar archivos de datos, tablespaces ni segmentos de rollback. Sin embargo, se pueden agregar utilizando Enterprise Manager después de crear la base de datos.

Pulsando sobre “mostrar detalles” aparecerán los detalles de cada plantilla, en la que se reflejan las “Opciones Comunes” y los Parámetros de inicialización.

Las Opciones Comunes de Base de Datos son las siguientes:Oracle Spatial: proporciona una forma para almacenar y recuperar datos

multidimensionales. Se utiliza fundamentalmente en los Sistemas de Información Geográfica (GIS).

Oracle Text: agrega el soporte que permite a Oracle 10g gestionar el contenido multimedia, tanto de Internet como de otras aplicaciones que necesitan acceder a imagen, audio, video, texto e información de ubicación.

Oracle JVM (JServer): es un sistema del servidor Java para la base de datos Oracle10g.

Página 8 de 33

Page 9: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

Oracle Advanced Replication: permite a los usuarios mantener y manipular varias copias de datos en ubicaciones diferentes en un entorno distribuido.

Esquemas de Ejemplo Servicios de Oracle OLAP: proporciona herramientas para desarrollar

aplicaciones de inteligencia comercial basadas en Internet. Proporcionan servicios que soportan complicados cálculos financieros, matemáticos y estadísticos dentro de un modelo de datos multidimensional.

Oracle Ultra Search: es una solución de gestión de texto que permite a las organizaciones acceder a las fuentes de información de texto de forma tan fácil y rápida como a los datos estructurados. Combina la potencia y la escalabilidad de la base de datos Oracle y sus herramientas basadas en SQL con tecnología de recuperación de texto avanzada para ayudar a los usuarios a encontrar exactamente la información que necesitan.

Oracle Label Security: basada en los conceptos de etiquetado utilizados por el gobierno y por organizaciones de defensa para proteger la información sensible y proporcionar separación de datos. La etiqueta proporciona una dimensión de control de acceso que no se obtiene fácilmente mediante los datos de la aplicación existentes.

Los Parámetros de Inicialización definidos en el asistente son: Nombre de la base de datos para la que se inicia una instancia. Cantidad de memoria que se utiliza para las estructuras de memoria de la

SGA. Qué hacer con los archivos de redo log online rellenos. Nombres y ubicaciones de los archivos de control de la base de datos. Nombres de los segmentos de rollback privados de la base de datos.

Posteriormente se podrán ajustar varios parámetros para mejorar el rendimiento: Optimizar el rendimiento mediante el ajuste de las estructuras de memoria

como, por ejemplo, el número de búferes de la base de datos en la memoria. Definir algunos valores por defecto de toda la base de datos como, por

ejemplo, la cantidad de espacio asignado inicialmente al crear un área de contexto.

Definir los límites de la base de datos como, por ejemplo, el número máximo de usuarios de la base de datos.

Especificar los nombres de los archivos.

Identificación

Tras seleccionar una plantilla y pulsar en siguiente, accedemos al siguiente paso de la creación de la base de datos, en la que se identifica la misma. En esta ocasión se nos pedirá que rellenemos dos campos:

Nombre de la base de datos global: nombre completo de la base de datos que la identifica como única distinguiéndola de las demás bases de datos. Su formato es nombreBaseDatos.dominioBaseDatos.

SID: identifica la instancia específica del software Oracle 10g en ejecución. El SID no puede ser un nombre utilizado para otra instancia en el mismo computador. El SID puede tener hasta una longitud de 8 caracteres alfanuméricos,

Página 9 de 33

Page 10: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

y es necesario para cualquier operación que quiera realizarse sobre la base de datos.

Gestión

Una vez introducidos los dos nombres podemos acceder a la siguiente pantalla de configuración, en la que se decide si la base de datos Oracle se puede gestionar de forma central con Oracle Enterprise Manager Grid Control o localmente con Oracle Enterprise Manager Database Control. Se puede seleccionar también activar copias de seguridad diarias y notificaciones de correo electrónico.

Contraseñas

En este punto se nos permite seleccionar una contraseña para cada usuario administrador, o seleccionar la misma contraseña para todos ellos.

Almacenamiento

En este punto se decide el mecanismo de almacenamiento que se desea utilizar para la base de datos. Las opciones son:

Sistema de Archivos: utilice el sistema de archivos para el almacenamiento en la base de datos.

Gestión de almacenamiento Automatizada (ASM): simplifica la administración de almacenamiento de la base de datos y optimiza el diseño de la misma para el rendimiento de E/S. Para utilizar esta opción, debe proporcionar un juego de discos para crear un grupo de discos ASM o especificar un grupo de discos de ASM existente.

Dispositivos RAW: Las particiones o volúmenes raw puede proporcionar el almacenamiento compartido necesario para las bases de datos Real Application Clusters (RAC) si no utiliza la Gestión de Almacenamiento Automatizada y si no está disponible un sistema de archivos de agrupamiento. Debe haber creado un dispositivo raw para cada archivo de datos, archivo de control y archivo log si desea realizar una creación en la base de datos.

Tras elegir una opción nos aparecerá una pantalla en la que debemos elegir las ubicaciones en las que se desean crear los archivos de base de datos. Podemos:

Usar las Ubicaciones de Archivos de Base de Datos de Plantilla. Usar Ubicación Común para Todos los Archivos de Base de Datos. Usar Oracle Managed Files.

Recuperación

La siguiente pantalla nos pide que seleccionemos las opciones de recuperación para la base de datos.El botón Variables de Ubicación de Archivos permite especificar las ubicaciones del archivos de inicialización, archivos de datos, archivos de control, archivos redo y cualquier otro tipo de archivos utilizados por la base de datos.

Página 10 de 33

Page 11: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

Esquemas de ejemplo

Se nos da la posibilidad de crear unos esquemas de ejemplo, en un tablespace de 130MB que se denominará EXAMPLE.

Ajuste de parámetros de la base de datos

Esta pantalla nos presenta 4 pestañas: Memoria: El campo típica crea un base de datos con información mínima. Es

suficiente para la mayoría de los entornos y para administradores de bases de datos Oracle sin mucha experiencia en procedimientos avanzados de creación de bases de datos. En la opción Personalizada se puede elegir una configuración de memoria a medida.

Tamaño: Parámetros de tamaño de la base de datos. Juegos de caracteres: Parámetros relacionados con el juego de caracteres de la

base de datos (idioma, formato de fecha, etc). Modo de Conexión:

o Modo Servidor Dedicado: Se trata de un servidor que necesita un proceso de servidor dedicado para cada proceso de usuario. Hay un proceso de servidor para cada cliente. La Red de Oracle devuelve la dirección de un proceso de servidor existente al cliente y éste, a su vez, vuelve a enviar la solicitud de conexión a la dirección del servidor proporcionada. Esta opción se selecciona cuando:

La Base de Datos se utiliza en un entorno de almacenes de datos. Se espera un número total de conexiones del cliente inferior. Los clientes realizan solicitudes reiteradas y de larga duración a

la base de datos.o Modo Servidor Compartido: En este caso varios procesos del usuario

pueden compartir un número muy reducido de procesos del servidor, de forma que aumenta la cantidad de usuarios soportados. Sin el servidor compartido, cada proceso del usuario requiere su propio servidor dedicado. En este modo, varios procesos del usuario se conectan a un distribuidor, que dirige distintas solicitudes de sesiones de entrada en red a una cola común. Un proceso del servidor compartido inactivo desde un conjunto compartido de procesos del servidor recoge las solicitudes de la cola. De este modo, un grupo pequeño de procesos del servidor puede servir a una gran cantidad de clientes. Esta opción se selecciona cuando:

Utilice la base de datos en un entorno de procesamiento de transacciones en línea (OLTP).

El procesamiento de Transacciones en Línea obtiene importantes ventajas del uso de Servidor Compartido.

Un gran número de usuarios necesite acceder a la base de datos y utilizar de forma eficaz los recursos del sistema disponibles.

Tenga restricciones de memoria. El Servidor Compartido reduce el uso de memoria total confrome aumenta el número de usuarios en relación con los servidores dedicados. En este modo, la memoria consumida aumenta casi proporcionalmente al número de usuarios.

Página 11 de 33

Page 12: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

El servidor Compartido permite ajustar y optimizar el rendimiento del sistema general. Por tanto, en los casos en que un alto grado de control del ajuste de la base de datos sea un criterio importante, puede que desee utilizar Servidor Compartido.

Desee utilizar las funciones de la Red de Oracle, como conjuntos de conexiones, concentración de conexiones y equilibrio de carga.

La gestión y uso de los recursos del sitema en alto grado sea un criterio importante. Los tiempos de conexión previsibles y rápidos sean muy importantes, por ejemplo para las aplicaciones Web.

o NOTA: incluso cuando esté activado Servidor Compartido, algunas funciones, como la administración de la instancia, necesitan servidores dedicados. En estos caso utilice conexiones dedicadas.

El botón Todos los parámetros de inicialización permite ver y editar los parámetros de configuración de la base de datos. Dichos parámetros son los valores concretos que inicializan los valores de memoria y del proceso para una instancia de base de datos concreta. Los parámetros de inicialización definidos en el Asistente de Creación de Bases de Datos (DBCA) incluyen el nombre de la base de datos para la que se inicia una instancia, la cantidad de memoria que se utiliza para las estructuras de memoria de la SGA, los archivos redo log online rellenos, los nombres y ubicaciones de los archivos de control de la base de datos y los nombres de los segmentos de rollback privados de la base de datos.

Almacenamiento en la base de datos

En esta pantalla se pueden especificar todo tipo de parámetros de almacenamiento para la base de datos. Esta página muestra un listado en árbol y una vista de resumen que permite cambiar y ver los siguientes objetos: Archivos de control, Tablespaces, Archivos de Datos, Segmentos de Rollback y Grupos Redo Log.La pestaña opciones permite elegir el número máximo de archivos de datos, el número máximo de grupos de archivos redo log, y el número máximo de miembros log.

Opciones de creación

Finalmente nos aparecen las últimas opciones disponibles. Podemos generar la base de datos, podemos guardar estos parámetros como plantilla o podemos generar archivos de comandos de creación de bases de datos. Seleccionando esta última opción, podemos acceder a todos los archivos de comandos utilizados para crear la base de datos.

4.2.- Gestionar plantillas

Si seleccionamos la opción de Gestionar Plantillas nos aparecerá la una pantalla en la que seleccionar el tipo de plantilla que queremos crear. Las opciones son: De una plantilla existente, de una plantilla existente (sólo estructura), de una base de datos existente (estructura y datos) y suprimir plantilla.El resto de los pasos son muy similares a los explicados anteriormente.

Página 12 de 33

Page 13: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

Las plantillas ahorran tiempo al guardar la definición de la base de datos en un formato de archivo XML en la unidad de disco duro local. Entre las ventajas del uso de plantillas podemos citar:

Al crear una plantilla que contenga valores de la base de datos, puede crear de forma fácil una base de datos duplicada sin tener que especificar los parámetros dos veces.

Puede cambiar opciones de la base de datos de forma rápida de los valores de la plantilla

Puede compartir plantillas copiando la plantilla de una máquina a otra.

4.3.- Configurar una base de datos

Tras elegir la opción de configurar una base de datos se nos pedirá que indiquemos el identificador SID de la base de datos a modificar, y también se nos pedirá un nombre de usuario con privilegios SYSDBA y una contraseña. Estos datos los pedirá únicamente si el sistema operativo no ha reconocido al usuario actual como miembro del grupo local ORA_DBA u ORA_SID_DBA.Las opciones de configuración que se nos van a permitir realizar son las siguietes:

Podremos agregar a la base de datos las opciones que no se hubieran configurado anteriormente: Oracle JServer, Oracle Text, Oracle Spatial, Servicios de Oracle OLAP, Oracle Advanced Replication, Esquemas de Ejemplo, Oracle iSearch, Oracle Label Security, etc…

Podremos seleccionar las componentes estándar a configurar para utilizarlos en la base de datos.

Cambiar la configuración de modo del servidor.

4.4.- Suprimir una base de datos

Como su nombre indica, eligiendo esta opción podremos eliminar los ficheros de la base de datos seleccionada.

5.- ADMINISTRACIÓN DE LA SEGURIDAD EN ORACLE

En cualquier sistema es necesaria la seguridad y esta necesidad se acentúa cuando el sistema es multiusuario, esto ocurre en el uso de Oracle, una base de datos suele dar en casi todos los casos servicio a multitud de usuarios que la comparten.

5.1.- Dos conceptos importantes:

Para poder entender mejor esta parte de la presentación se debe definir antes dos términos que se van a usar en la exposición de la seguridad Oracle

Perfil

Página 13 de 33

Page 14: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

Es un conjunto de propiedades que se asignan a uno o más usuarios de una de base de datos. Son típicos los perfiles que limitan el uso de ciertos recursos del sistema (tiempo de CPU, tiempo de conexión,...), otro perfil típico es el que limita parámetros tales como el número de intentos fallidos de conexión.

Para crear un perfil se utiliza la sentencia CREATE PROFILE “nombre_pérfil”. En esta sentencia se establecen valores para parámetros del perfil, parámetros tales como número de sesiones por usuario, tiempo de CPU por llamada y sesión, tiempo de conexión, coste total de los recursos para una sesión,... Hay infinidad de parámetros que nos permiten fijar el modo de comportamiento de los usuarios asociados a un perfil.

Rol

Este término se usará en el apartado Administración de privilegios y funciones. Rol es una colección de privilegios del sistema y de objetos que pueden asociarse a usuarios y a otras tareas.

Se usan para dar privilegios rápidamente a usuarios. Puede ser bastante complejo dar privilegios ya que es muy configurable (muchas sentencias por asignación de privilegios), se asocian formas de interactuar (privilegios) con todos los tipos de objetos que existen en Oracle. En vez de establecer privilegios cada vez que creamos un usuario creamos un rol y asociamos el usuario a este.

Para crear un Rol se usa la sentencia CREATE ROLE “nombre Rol” y después una lista que incluye todos los privilegios asociados al Rol. Para modificar un Rol se usa ALTER ROLE “nombre Rol” (misma sintaxis posterior que CREATE), para eliminarlo DROP ROLE “nombre Rol”.

Oracle dispone de muchos roles predeterminados que se pueden usar para conceder privilegios rápidamente a tipos comunes de usuarios de base de datos. Por ejemplo, el rol CONNECT permite al usuario conectarse a la base de datos y crear tablas, vistas, secuencias, sinónimos y otros objetos del esquema asociado o RESOURCE que permite al usuario utilizar los recursos típicos para programación de aplicaciones (clústeres, paquetes, funciones,..). Uno de los roles predefinido más usado es DBA, típico de los administradores, permite al usuario realizar cualquier función de la base de datos y disponer de cualquier privilegio.

5.2.- Servicios básicos de seguridad

Hay que establecer un mecanismo de seguridad que al menos nos proporcione la capacidad de establecer unas mínimas condiciones de seguridad:

Autenticación y administración de usuarios. Administración de privilegios y funciones. Administración de contraseñas.

Página 14 de 33

Page 15: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

Establecimiento de limites de recursos de la base de datos.

5.2.1.-Autentificación y administración de usuarios

Cualquier usuario que quiera entrar en sistema debe ser autenticado por Oracle, para realizar esta acción el usuario debe identificarse con un nombre registrado en el sistema.

Oracle presenta tres tipos de autenticación distintas, cada una con sus características propias:

-Autenticación mediante contraseña: Es la forma de autenticación a la que estamos más habituados, cuando intentamos entrar a un sistema protegido. Introducimos un login y un password registrados en el sistema, asociados a un rol con sus permisos de comportamiento dentro del sistema.-Autenticación de sistema operativo: Típica en sistemas cliente-servidor. Consiste en que el sistema Oracle autentica al usuario usando el sistema operativo del servidor donde ejecuta el sistema operativo.

Este sistema evita que tengamos que introducir dos veces tanto el login como password.

-Autenticación global de usuario: Oracle utiliza un servicio de seguridad externo, aunque Oracle dispone de sus propios servicios de seguridad para realizar la autenticación global de usuario, como es el caso de Oracle Security Server.

Principal uso, en redes no seguras y en accesos de los usuarios a varias bases de datos distribuidas. Evitamos tener que autenticarnos cada vez que accedamos a una nueva base de datos incluida en la red distribuida.

Cuando se crea un usuario se establece el tipo de autenticación por la que esté “afectado” el nuevo usuario, al comando CREATE USER “nombre_usuario” se le indica las opciones INDENTIFIED (by | EXTERNALLY | GLOBALLY AS) dependiendo si se le quiere aplicar respectivamente autenticación por contraseña, sistema operativo o de tipo global.

Para crear un nuevo usuario debe tener el que ejecuta la operación suficientes permisos para la ejecución de este comando. Este usuario se habrá autenticado previamente en el sistema y habrá obtenido del mismo permisos de administración. Inicialmente en Oracle se crean cuentas con permisos de administración, a partir de este rol se irán creando nuevos usuarios que puedan acceder al sistema Oracle.

En cualquier momento podemos cambiar las características de un usuario, en este apartado estamos hablando de autenticación, solo el tipo de acceso nos interesa. Para modificarlo se usara el comando ALTER USER y estableceremos el nuevo tipo de autenticación, recordemos que debemos estar trabajando con un usuario debidamente autenticado en el sistema con permisos suficientes para ejecutar esta operación.

Página 15 de 33

Page 16: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

Podemos Eliminar un usuario registrado en el sistema, si tenemos suficientes privilegios para ejecutar el mandato DROP USER

5.2.2- Administración de privilegios.

Para que puedan realizar operaciones en la base de datos, los nuevos usuarios deben disponer de privilegios. Hay dos tipos de privilegios, de sistema y privilegios de objeto.

-Pivilegios de sistema: operaciones que afectan a todo el sistema. Ejemplo: CREATE SESSION, CREATE TABLE (creación tabla espacio propio), CREATE ANY TABLE (creación de la tabla en cualquier esquema).-Privilegios de objeto: operaciones específicas sobre elementos específicos de la base de datos, tablas, vistas, etc. Ejemplo: para una tabla SELECT; INSERT, UPDATE, DELETE, ALTER,..

La sentencia para asignar privilegios en Oracle es GRANT, seguida de una lista de privilegios de sistema y objetos. Para poder quitar privilegios se hace uso de la sentencia REVOQUE, esta sentencia retira los privilegios o roles especificados a los usuarios o roles situados en la clausula FROM (ver uso de REVOQUE)

Ejemplo: REVOQUE DROP ANY TABLE FROM hr, manolito;

5.2.3.-Administración de contraseñas.

En el caso de que hubiéramos establecido un modo de autenticación basado en contraseña. Cuando se crea un usuario se puede establecer una contraseña para que el usuario pueda ser autenticado en el sistema. Para realizar esto debemos estar trabajando con un usuario con permisos de administración. De igual modo podemos modificar la contraseña del usuario.

Podemos fijar una opción adicional para el uso de contraseñas, en la creación o modificación de usuarios podemos indicar el modificador PASSWORD EXPIRE, esto producira que la contraseña establecida solo tenga validez en la primera autenticación del usuario, obligando al usuario a introducir el nuevo password.

Si establecemos el modo de autenticación del sistema operativo. La forma en la que se administran las contraseñas de los usuarios es responsabilidad del sistema operativo donde ejecuta el servidor del sistema operativo. Si se ha establecido autenticación global, la responsabilidad de administrar las contraseñas recae en algún sistema externo.

En los perfiles se pueden aplicar políticas para la administración de contraseñas. Los parámetros de contraseña que se pueden establecer en un perfil son: numero máximo de intentos de login, tiempo de vida de la contraseña (días), tiempo de reutilización (días), máximo periodo de reutilización (días), número de días cuenta cerrada después de error

Página 16 de 33

Page 17: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

login, periodo de gracia de la contraseña (días) y verificación de la contraseña por función, por defecto o no verificación.

Como podemos ver tenemos muchas posibilidades para poder establecer una política de gestión de las contraseñas que más se adecue a nuestras necesidades particulares.

5.2.4.-Establecimiento de límites de recursos de la base de datos

Es típico limitar los recursos de acceso de la base de datos. Hay dos formas de establecer dichos límites:

- En la creación y modificación de un usuario se puede fijar el espacio con el que el usuario podrá trabajar en el sistema. Hay dos cuotas de espacio que se pueden fijar para los usuarios. DEFAULT TABLESPACE es el espacio donde el usuario puede crear sus objetos y TEMPORARY TABLESPACE es el espacio donde se crean los objetos necesarios para la ejecución de la operaciones. Para fijar dichos tamaños se utiliza las palabras resaltadas en mayúscula seguido de la palabra QUOTA y el numero de megas establecidos.

- Se puede habilitar la imposición de límites de recursos del sistema en la base de datos, para ello se utiliza la sentencia ALTER SYSTEM. Esta sentencia suele estar acompañada de modificadores tales como verificación para sistema global o la instancia local, activación de recuperación distribuida, situar la base de datos en estado de inctividad/actividad para posibilitar a los administradores la realización de operaciones no aconsejables en situación de concurrencia,....Se utiliza este comando para establcer cualquier tipo de parámetro de ejecución del sistema ORACLE. Ejemplos de parámetros que se pueden modificacar son establecer el numero de procesos servidores, el numero de usuarios que puede acceder al sistema al mismo tiempo o establecer el numero máximo de conexiones desde una instancia determinada.

5.3.- Mecanismos de protección de datos en Oracle

La seguridad no solo depende de establecer un correcto control de acceso de los usuarios a la base de datos. Debemos también protegernos de los posibles errores producidos en la información que da soporte a todo el sistema (meta-información) y la información añadida al repositorio.

Oracle dispone de distintos mecanismos de protección para situaciones de caída del sistema, fallos del disco duro,.. La pérdida de un archivo de la base de datos, corrupción de un fichero. Para poder recuperarnos de estos fallos, debemos guardar una copia de seguridad de los datos contenidos en el sistema y un registro de transacciones para ver las ejecuciones que se van realizando por parte de los usuarios.

5.3.1.- Registro de transacciones

Página 17 de 33

Page 18: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

Para poder ver el estado del registro de transacciones o modificar la configuración del mismo debemos estar trabajando en el sistema con privilegios de administrador de sistema.

Como administrador del sistema tenemos dos accesos a los privilegios: SYSOPER y SYSDBA. El primer acceso nos permite iniciar / cerrar un servidor Oracle, montar, abrir, cerrar, copiar y recuperar una base de datos y administrar estructura transacciones . SYSDBA ya lo hemos comentado anteriormente permite realizar cualquier operación sobre la base de datos y asignar permisos al resto de usuarios.

Para ver la configuración del registro de transacciones se utiliza la opción LIST del comando ARCHIVE LOG. Por defecto la base de datos Oracle opera con la recuperación de medios deshabilitada. Para poder usar la recuperación es necesario habilitar el registro de transacciones y configurarla de acuerdo a nuestras necesidades particulares.

Habilitación de la recuperación de medios.Para poder habilitar la recuperación de medios, debemos cerrar la instancia actual de la base de datos haciendo uso del comando SHUTDOWN. Iniciamos una nueva instancia y antes de permitir o ejecutar algún tipo de operación en el sistema, habilitamos el modo registro de la base de datos modificando ARCHIVELOG ( ALTER DATABASE ARCHIVELOG;).

Una vez habilitado el registro, podemos abrir para el uso normal la instancia de la base de datos, para ello ejecutamos el mandato ALTER DATABASE OPEN;

5.3.2.- Copia de seguridad de la base de datos con Recovery manager (RMAN)

Rman es una herramienta que permite hacer backup de toda la base de datos o de una parte, siempre y cuando este habilitada la recuperación de medios.

Rman funciona bajo en entorno MS-DOS. Para poder ponerlo en funcionamiento tecleamos RMAN NOCATALOG, una vez hecho esto conectamos a la base de datos sobre la cual queremos realizar la copia de seguridad. Se puede realizar la copia de seguridad de toda la base de datos o solo se realiza backup del tablespace SYSTEM.

Rman nos ofrece la posibilidad de realizar copia de seguridad de los ficheros de todos los ficheros de registro archivados. Con Rman podremos consultar el estado de todas las copias de seguridad realizadas en el sistema, todas aquellas a las que podamos recurrir cuando se produzca un fallo en la base de datos.

No vamos a entrar en la sintaxis necesaria para poder usar esta herramienta, ya que para mayor detalle se puede consultar la bibliografía incluido en el trabajo. No pensamos que el lenguaje necesario para usar esta herramienta sea contenido relevante en este trabajo.

5.3.3.- Recuperación de una base de datos con RMAN

Página 18 de 33

Page 19: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

Oracle puede recuperar la base de datos ante una caída de sistema, una pérdida de datos u otra causa.

Supongamos que se ha producido un error en la instancia actual de ejecución. Para recuperar el tablespace, reiniciamos la instancia y abrimos la base de datos. La tarea siguiente es restaurar el archivo de datos perdido del espacio de tabla dañado. Una vez finalizada la recuperación con éxito salimos del Rman con el comando exit.

Dado que Rman es una importante herramienta de seguridad, es recomendable la lectura de los manuales del mismo y profundizar en todas las operaciones que se pueden hacer con esta utilidad.

5.4.- Seguridad, gestión y administración de Oracle Enterprise Manager

5.4.1.- Administración de la seguridad

La sección seguridad de la pantalla Administración de la consola Oracle Enterprise Manager permite a los administradores autorizados dar de alta y borrar usuarios, roles y perfiles y conceder privilegios y roles a múltiples usuarios de la base de datos.

La sección seguridad tiene tres apartados: Usuarios (administrar cuentas de usuario), Roles (asignar privilegios de rol) y Perfiles (para gestionar recursos limitados en la base de datos según perfiles). Se comentará los aspectos que se alejen de la administración normal, ya que desarrollar todo este apartado obligaría a repetir todo la expuesto hasta ahora.

- Usuarios: además de crear, editar, ver, suprimir o realizar cualquier función de comando sobre el usuario, se podrá crear un nuevo usuario tomando como base uno ya creado (Crear como). La página grupo de consumidores nos permite gestionar grupos de usuarios de forma cómoda fijando los privilegios de mismo. La página Usuarios del Proxy permite seleccionar los usuarios que pueden actuar de proxy para el usuario actual y designar los usuarios para los que el usuario puede actuar como proxy.- Roles: Nos permite utilizar las mismas posibilidades que el lenguaje SQL pero mucho mas sencillo debido al uso de un interfaz gráfico. Se puede crear un rol tomando como base otro.- Perfiles: Nos permite utilizar las mismas posibilidades que el lenguaje SQL pero mucho mas sencillo debido al uso de un interfaz gráfico. Se puede crear un perfil tomando como base otro.

Lo más interesante de esta herramienta es que nos evita tener que “lidiar” con el lenguaje SQL pudiendo hacer las tareas de administración de seguridad mediante una intuitiva interfaz gráfica.

5.4.2.- Administración de Oracle Enterprise Manager

Página 19 de 33

Page 20: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

Se debe utilizar las funciones de administrador para gestionar las cuentas de administración de Enterprise Manager. Desde la consola de Enterprise Manager Grid Control puede crear y gestionar nuevas cuentas de administración de Enterprise Manager. Cada cuenta de administrador incluye sus propias credenciales de conexión, así como un juego de roles y privilegios que se asignan a la cuenta. Por defecto, solo los usuarios de la base de datos SYS, SYSTEM y SISMAN se pueden conectar y utilizar la consola de la base de datos.

Gestión de los métodos de notificación:

Uno de las herramientas más destacadas de este modulo. Los métodos de notificación permiten globalmente diferentes mecanismos para enviar notificaciones. Estos métodos incluyen correo electrónico, interrupciones SNMP y archivos de comandos personalizados en ejecución. Una vez definidos, estos métodos se pueden utilizar con las reglas de notificación para enviar notificaciones a los administradores como resultado de las incidencias de alerta. Cada administrador tiene sus propias reglas de notificación.

Mediante la página Métodos de notificación es posible configurar los servidores de correo saliente si se desea enviar notificaciones de correo electrónico mediante las reglas de notificación y gestionar archivos de comandos e interrupciones SNMP.

Configuración de parches:

En la página Configuración de Perches puede especificar los parámetros que permiten utilizar las funciones de parches de Enterprise Manager. Estas funciones simplifican el almacenamiento en zona intermedia y la aplicación de parches y juegos de parches de Oracle a cualquier host en el que esté ejecutando Oracle Manager Agent. También permiten recopilar información sobre asesores de parches críticos de Oracle importantes para la empresa.

Gestión de interrupciones:

Las interrupciones permiten suspender el control de uno o más destinos para realizar operaciones de mantenimiento. Si no es superusuario, solo podrá ver las interrupciones que ha creado en esta página. El superadministrador puede verlas todas.

5.5.- Establecimiento de políticas

5.5.1.- Gestión de bibliotecas de políticas

Existen reglas de políticas para diferentes tipos de destino, como host, bases de datos Oracle y listeners. La página Gestionar Biblioteca de políticas muestra una lista de todas las reglas de políticas que Enterprise Manager comprueba para que los destinos de la empresa lo cumplan, se puede ver la prioridad, la categoría y la descripción de cada política. Para cada regla la columna tipo de destino indica el donde se aplica la regla.

Página 20 de 33

Page 21: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

Puede activarse en cualquier momento la ejecución de una regla, en el caso de desactivarse las violaciones detectadas anteriormente para esa regla se suprimiran del repositorio de gestión. Si activa una regla desactivada anteriormente, cuando Enterprise Manager terminará la siguiente evaluación de reglas de políticas para la empresa, carga las violaciones a la regla en el repositorio de gestión.

5.5.2.- Ejemplos de políticas

Como hemos indicado anteriormente hay muchas categorías en las que están divididas las políticas. Estas políticas pueden aplicarse a cualquier maquina, base de datos con la que este relacionada la base de datos que estamos administrando.

Al establecer las políticas establecemos el modo de comportamiento de nuestra base de datos con todos los sistemas esternos al mismo. Por eso caba resaltar la necesidad de establecer un correcta biblioteca de políticas con la que trabajará nuestro sistema.

A continuación y para poder darnos una idea de las distintas posibilidades a las que tenemos acceso en el establecimiento de políticas, se incluye un listado donde podemos ver ejemplos de las mismas.

Ejemplos de políticas.

Página 21 de 33

Page 22: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

Prioridad

Regla de Política

Categoría Tipo de destino

Descripción Desactivar

Desac por

Y

Asesores de parches críticos para directorios raíz de Oracle

Configuración

host

Comprueba los directorios raíz de Oracle por si faltan parches críticos

No

Y

Numero insuficiente de archivos de control

Configuración

Base de Datos

Comprueba el uso unico de un archivo de control

Si Z

YPuertos abiertos

Seguridad HostComprueba los puertos abiertos No

Y

Rol del Sistema operativo remoto Seguridad

Base de datos

Comprueba la autenticación no protegida de los usuarios remotos

No

Y

Administración directa del Listener Seguridad Listener

Asegura que los listener no se pueden administrar de forma directa

No

Y

Autenticación del sistema operativo remoto

SeguridadBase de datos

Comprueba la autenticación no protegida de los usuarios remotos(autenticación del sistema operativo remoto)

No

Y

Contraseña del Listener

Seguridad Listener

Prueba los Listener esten protegidos con contraseña

No

Y

http Server Access Login

SeguridadServidor HTTP

Check that HTTP Server Access logging is enabled

Si Z2

Y

Web Cache Access Login Seguridad

Web Cache

Check that Web Cache Access logging is enabled

No

Podemos ver en esta tabla todos los campos que se muestran en la herramienta Enterprise Manager. La prioridad de la política, nombre de la política con la que estamos tratando, la categoría a la que pertenece, el tipo destino de la misma, descripción para mejor entendimiento de los objetivos que persigue, si esta activada/desactivada y en el caso de estar desactivada quien es el responsable de ello.

Página 22 de 33

Page 23: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

6.- MANTENIMIENTO DE LA BASE DE DATOS

El mantenimiento de la base de datos conlleva operaciones importantes que deben ser ejecutas por los administradores del sistema. Estas operaciones son agrupadas en Oracle en tres categorías importantes:

● Utilidades● Copias de seguridad y recuperación de la base● Estructuración / Despliegue de la base

Las operaciones básicas de mantenimiento son:- mover rápidamente datos desde una base de datos a otra utilizando

operaciones de Exportación / Importación- extraer representaciones completas de los objetos de la base- importar datos en las tablas de Oracle desde archivos del sistema operativo

utilizando SQL*Loader - ejecutar tareas de copias de seguridad y recuperación de datos- analizar y optimizar el uso de los objetos de la tabla- clonar bases de datos

6.1.- Utilidades

La interfaz web “Enterprise Manager” ofrece opciones para la exportación e importación de datos en las distintas tablas de la base de datos. El sistema es muy rápido incluso para cantidades grandes de datos.

La interfaz se presenta de la manera siguiente:

Utilidades● Exportación en archivo● Importación de archivo● Importación de la base de datos● Cargo de datos de archivo● Recopilación de estadísticas● Reorganización de objetos● Reorganizar objetos de gestión de tablespaces localmente

6.1.1.- Exportación

El asistente “Data Pump Export”, que llamaremos a partir de ahora Exportación, es una utilidad para descargar data de la base de datos en un conjunto de archivos del sistema operativo. Estos archivos se pueden mover de un sistema a otro e importar utilizando la utilidad de Importación.

El conjunto exportado contiene varios archivos con los datos de las tablas, datos de los distintos objetos de la base e información de control. El formato de los archivos es

Página 23 de 33

Page 24: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

propietario Oracle y puede ser leído solo con la utilidad de Importación que viene con el programa.

Al iniciar el proceso de exportación, Oracle pide que se quiera exportar:

En función del tipo de exportación elegido, las etapas siguientes piden que se seleccionen los objetos a exportar, que se introduzca el nombre de usuario y la contraseña del servidor donde se guardaran los archivos, y finalmente se genera un script que se puede ejecutar enseguida o guardar para una ejecución diferida.

En la tabla abajo se puede ver un script de exportación obtenido con la exportación de la tabla “Patient” del esquema “Toto”.

Ejemplo de un script de exportacióndeclare h1 NUMBER;begin begin h1 := dbms_datapump.open (operation => 'EXPORT', job_mode => 'TABLE', job_name => 'ExportacionPatients', version => 'COMPATIBLE'); end; begin dbms_datapump.set_parallel(handle => h1, degree => 1); end; begin dbms_datapump.add_file(handle => h1, filename => 'EXPDAT.LOG', directory => 'DATA_FILE_DIR', filetype => 3); end; begin dbms_datapump.set_parameter(handle => h1, name => 'KEEP_MASTER', value => 0); end; begin dbms_datapump.metadata_filter(handle => h1, name => 'SCHEMA_EXPR', value => 'IN(''TOTO'')'); end; begin dbms_datapump.metadata_filter(handle => h1, name => 'NAME_EXPR', value => 'IN(''PATIENT'')'); end; begin dbms_datapump.set_parameter(handle => h1, name => 'ESTIMATE', value => 'BLOCKS');

Página 24 de 33

Page 25: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

end; begin dbms_datapump.add_file(handle => h1, filename => 'EXPDAT%U.DMP', directory => 'DATA_FILE_DIR', filetype => 1); end; begin dbms_datapump.set_parameter(handle => h1, name => 'INCLUDE_METADATA', value => 1); end; begin dbms_datapump.set_parameter(handle => h1, name => 'DATA_ACCESS_METHOD', value => 'AUTOMATIC'); end; begin dbms_datapump.start_job(handle => h1, skip_current => 0, abort_step => 0); end; begin dbms_datapump.detach(handle => h1); end;end;/

6.1.2.- Importación

El asistente “Data Pump Import”, llamado para simplificar Importación, es una utilidad que permite cargar datos que han sido creados con la utilidad de exportación. El conjunto de archivos exportados por Oracle solo pueden ser leídos con esta utilidad, dado que el formato de los archivos es propietario Oracle.

La utilidad de importación puede ser utilizada para cargar datos en una base de datos directamente de otra base de datos, sin pasar por archivos intermediarios. Así se permite minimizar los tiempos de ejecución de la operación.

El proceso para importar un conjunto de archivos es similar con el proceso de exportación. Oracle pide la ubicación de los archivos que se utilizaran para la importación, el usuario y la contraseña por el servidor, y luego genera un script de importación que se puede ejecutar enseguida o guardar para una ejecución diferida. En la tabla siguiente se puede ver el inicio de un script de importación:

Script de importacióndeclareh1 NUMBER; begin begin h1 := dbms_datapump.open (operation => 'IMPORT', job_mode => 'FULL', job_name => 'IMPORT000049', version => 'COMPATIBLE'); end; begin dbms_datapump.set_parallel(handle => h1, degree => 1); end; begin dbms_datapump.add_file(handle => h1, filename => 'IMPORT.LOG',

Página 25 de 33

Page 26: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

directory => 'DATA_FILE_DIR', filetype => 3); end; begin dbms_datapump.set_parameter(handle => h1, name => 'KEEP_MASTER', value => 0); end;

6.1.3.- Asistente de carga de data de archivos

Este método utiliza dos archivos: uno de control (.ctl) y uno con los datos (.dat). El formato de estos dos archivos es SQL*Loader estándar.

Analicemos el siguiente ejemplo. Se trata de importar datos en la tabla con el nombre “ofertas”, que contiene cinco campos: id, fecha, descripción, producto1 y producto 2.

El archivo load.ctl contiene las instrucciones de importación.LOAD DATAINTO TABLE ofertasREPLACEFIELDS TERMINATED BY ';'(id,fecha date 'yyyymmdd',descripcion char(25),producto1 char(25),producto2 char(25))

El archivo load.dat contiene los datos.1; 20031025; DSL/Wireless Expense Oct; Home DSL; Wireless2; 20031125; Office Equipment; Optical Mouse; Network Router3; 20031225; Computer System; Dell Pentium 4 Laptop; Docking Bay

Para cargar estos datos, se debe entrar en Enterprise Manager con una cuenta que tiene derechos de administrador (como SYS).

1. En la pagina “Maintenance” clic en el enlace “Load Data from File”. El proceso tiene varias etapas:

2. En la etapa “Control File” se debe especificar el nombre del archivo “.ctl” situada en la maquina servidor, y el nombre de usuario y la contraseña para la maquina servidor.

Página 26 de 33

Page 27: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

3. En la etapa “Data File” se debe especificar el camino hacia el archivo ‘.dat’ situado en la maquina servidor de Oracle.

4. En la etapa “Opciones” se puede elegir de crear un archivo “log” con el resumen del proceso de importación. Esta página ofrece otras opciones que se pueden modificar al gusto del usuario.

5. En la etapa “Schedule” se puede elegir ejecutar la tarea inmediatamente o dejarla para mas tarde:

6. Por fin, la última etapa muestra el resumen de las opciones elegidas y permite ejecutar la operación.

6.1.4.- Recopilación de estadísticas

Oracle permite analizar objetos para colectar información estadística. Se puede utilizar el paquete DBMS_STATS o la comanda ANALYSE para recopilar estadísticas sobre las características de almacenamiento de tablas, indexes o clusters. Esas estadísticas son almacenadas en el diccionario de datos y son utilizadas por el agente de optimización cuando elige la mejor manera de ejecutar consultas SQL sobre los elementos analizados.

Hay varios tipos de estadísticas:◦ Sobre Tablas:- numero de filas- numero de bloques

Página 27 de 33

Page 28: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

- longitud media de una fila◦ Sobre columnas:- numero de valores distintas- numero de NULL en una columna- histograma de distribución de datos◦ Sobre index:- numero de hojas- numero de niveles◦ Sobre el sistema:- rendimiento de UPC- rendimiento de E/S

El paquete DBMS_STATS ofrece cuatro métodos para recopilar estas estadísticas:

- GATHER_INDEX_STATS- GATHER_TABLE_STATS- GATHER_SCHEMA_STATS- GATHER_DATABASE_STATS

En el ejemplo siguiente, recopilamos estadísticas sobre la tabla Empleados del tablespace Recursos Humanos:

EXECUTE DBMS_STATS.GATHER_TABLE_STATS ('RH', 'EMPLEADOS');

Oracle mostrara datos sobre el index de la tabla y sobre la utilización física de la tabla. En el paquete DBMS_STATS vienen muchas funciones para realizar una gama variada de tareas de recopilación de estadísticas sobre los distintos objetos y el sistema.

6.1.5.- Reorganización de objetos

La reorganización de objetos es necesaria para:- reconstruir los archivos “index” fragmentados- reconstruir las tablas fragmentadas- mover objetos de un tablespace a otro- recrear tablas con atributos óptimos para el almacenamiento

Al crear una tabla en la base de datos, se utilizan ciertos parámetros para determinar el espacio inicial utilizado por los datos. Las operaciones ulteriores de inserción, modificación y supresión de datos llevan a la fragmentación de la tabla y el index asociado. Esto resulta en tiempos más largos de operación – acceso a los datos, consultas SQL.

La operación de reorganización actúa sobre la estructura física del archivo asociado a la base de datos, almacenado en el disco duro. De esta manera se reordenan las filas de la tabla en el orden lógico y se supriman físicamente las filas borradas. El proceso es similar a la de fragmentación de un disco duro.

Página 28 de 33

Page 29: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

6.2.- Copias de seguridad y Recuperación de la Base de Datos

Copias de seguridad / Recuperación de la base● Planificación de copias de seguridad● Recuperación de la base de datos● Gestión de copias de seguridad● Configuración de valores de copias de seguridad● Configuración de valores de recuperación● Configuración de valores del catalogo de recuperación

Una copia de seguridad es simplemente una copia de toda la base de datos o de algunas de sus partes, por ejemplo los archivos de control o de datos. Las copias de seguridad se realizan para prevenir perdidas de datos imprevistas. Si los datos originales se pierden, se podrán reconstruir a partir de las copias.

6.2.1.- Copias de seguridad lógicas y físicas

Hay dos tipos de copias de seguridad:

Físicas Lógicas- son copias de los datos de la base- se pueden realizar con utilidades del sistema de operación o con la utilidad RMAN de Oracle

- son copias de distintas partes de una base de datos (tablespaces, tablas, métodos almacenados) extraídos con una herramienta Oracle y almacenados en archivos binarios- se pueden utilizar en complemento de las copias físicas

Dependiendo del momento cuando la copia de seguridad se realiza, se pueden distinguir dos tipos:

Página 29 de 33

Page 30: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

Copias consistentes Copias inconsistentes- realizadas cuando la base esta cerrada y contiene las ultimas modificaciones

- realizadas cuando la base de datos esta en uso - realizadas después de un cierre anormal- se utilizan cuando la base de datos tiene que ser disponible 24 / 7

En función de las necesidades de cada administrador de un servidor Oracle, se pueden incluir en las copias de seguridad los siguientes elementos:

la base entera los tablespaces los archivos de datos los archivos de control los archivos de transacciones

6.2.2.- Copias de la base entera

Son las copias más comunas, incluyendo todos los archivos de datos de la base más los archivos de control. La copia resultada puede ser consistente o inconsistente, dependiendo de cómo se ha cerrado la base de datos. Si la copie resulta inconsistente, se debe utilizar el archivo de transacciones para corregir los errores eventuales.

6.2.3.- Copias de tablespaces

Permite guardar solo un tablespace de los muchos que puede contener una base de datos. Por ejemplo, si el tablespace “usuarios” contiene los archivos de datos 2, 3 y 4, entonces una copia de seguridad de este tablespace incluirá estos tres archivos.

6.2.4.- Copias de archivos de datos

Guarda en una ubicación segura solo un archivo de datos especificado por el administrador. Estas copias no suelen ser tan comunes como los de tablespaces.

6.2.5.- Copias de los archivos de control

Sin los archivos de control una base de datos no puede ser abierta. Dado su importancia, los archivos de control se suelen incluir en copias de seguridad automáticas, utilizando la sentencia SQL

CONFIGURE CONTROLFILE AUTOBACKUP

De esta manera el sistema se encargara de realizar solo las copias de seguridad de estos archivos.

Página 30 de 33

Page 31: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

6.3.- Recuperación de la base de datos

Si un día falla el disco duro donde se esta guardando una base de dato, todo el contenido de la base se pierde. Si hay copias de seguridad, la base de datos se puede reconstruir, utilizando la última copia de seguridad y los archivos de transacciones (que contienen los cambios realizados sobre la base de datos desde la última copia). Si la base de datos funciona en el modo ARCHIVELOG, se podrán reconstituir las operaciones desde la última copia de seguridad, sino no.

La próxima figura ilustra todo el proceso de recuperación.

1. Ultima copia de seguridad realizada al sistema, cuando NCS valía 100 2. La base de datos falla cuando NCS vale 5003. Se restaura la copia de la base de datos hecha cuando NCS era 1004. Se utilizan los archivos de transacciones para rehacer los cambios realizados

entre NCS = 100 hasta 500

Página 31 de 33

Page 32: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

6.4.- Estructuración / Despliegue de la base

Estructuración / Despliegue de la base

● Parches● Clonar bases de datos● Clonar el directorio raíz de Oracle● Caché de parches● Gestión de configuración● Gestión de bibliotecas de políticas● Gestionar violaciones de políticas

6.4.1.- Clonación

En su última versión, Oracle utiliza plantilla para crear las bases de datos. Las plantillas son más potentes que los scripts porque permiten clonar una base de datos. Así se ahorra el tiempo de creación de los archivos del núcleo de la base.

Cuando se clona una base de datos se copian los archivos del núcleo de una base ya existente en otra ubicación. El proceso suele ser rápido porque los archivos del núcleo ya han sido generados al crear la primera base.

Hay dos tipos de plantillas. Las primeras tienen la extensión “.dbc” e incluyen los archivos del núcleo de la base. Se pueden utilizar como “semilla” para crear varias clonas, que solo difieren por su nombre. El según tipo de plantillas tienen la extensión “.dbt” y no contienen los archivos del núcleo de la base. Solo tienen las características, y al crear una base de datos partiendo de esta plantilla se deben crear todos los archivos.

El Asistente de Configuración de la Base de Datos (DBCA) permite crear bases de datos utilizando plantillas, o clonas de existentes. Si se utiliza una plantilla se clonara la “semilla” contenida en la plantilla, y si se selecciona una base de datos ya existente se duplicaran sus archivos de núcleo. La base de datos creada será una clona de la base original.

6.4.2.- Gestión de bibliotecas de políticas

La biblioteca de políticas de Oracle contiene una lista de tareas y sugerencias que pueden influir sobre el rendimiento y la seguridad de la base de datos. Cada una de los elementos de esta biblioteca pertenece a una categoría (Seguridad, Configuración…) y tiene una prioridad. Las tareas con alta prioridad deberían ser revisadas cuanto antes posible por el administrador del sistema, para tomar las medidas necesarias o por desactivar la política si se considera que no corresponde a la base de datos que se administra.

Algunas tareas típicas son:- comprobar la lista de puertos abiertos de la maquina servidor, para no sufrir

ataques en los puertos abiertos- comprobar que hay varios archivos de control

Página 32 de 33

Page 33: AdministracionOracle10g

Administración de una base de datos BDOOOracle 10g

- comprobar la visibilidad del servidor web- etc.

En la figura abajo se ve la manera de gestionar las tareas con Enterprise Manager:

6.4.3.- Gestión de violaciones de políticas

Para asegurar el buen funcionamiento del servidor y para prevenir contra los ataques de fuera, Oracle ofrece la opción de ver la lista de las políticas que han sido violadas, la maquina de origen y la fecha. Con esta lista el administrador del sistema puede tomar medidas en contra de las violaciones. En la imagen abajo se pueden ver mensajes de advertencia con respecto a los puertos abiertos en la maquina servidor (mi ordenador) que son susceptibles a ataques.

Página 33 de 33