Download mantenimiento de la base de datos

Document related concepts

Oracle Database wikipedia , lookup

Automatic Storage Management wikipedia , lookup

Área Global del Sistema wikipedia , lookup

Navicat wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Transcript
Administración de una base de datos
Oracle 10g
BDOO
Í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
5.2.1.- Autentificación y administración de usuarios .............................. 15
5.2.2.- Administración de privilegios ...................................................... 16
5.2.3.- Administración de contraseñas ..................................................... 16
5.2.4.- Establecimiento de límites de recursos de la base de datos ......... 17
5.3.- Mecanismos de protección de datos en Oracle ......................................... 17
5.3.1.- Registro de transacciones ............................................................. 17
5.3.2.- Copia de seguridad de la base de datos con RMAN .................... 18
5.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
5.4.1.- Administración de la seguridad .................................................... 19
Página 1 de 34
Administración de una base de datos
Oracle 10g
BDOO
5.4.2.- Administración de Oracle Enterprise Manager ............................ 19
5.5.- Establecimiento de políticas ..................................................................... 20
5.5.1.- Gestión de bibliotecas de políticas ............................................... 20
5.5.2.- Ejemplos de políticas ................................................................... 21
6.- Mantenimiento de la base de datos .................................................... 23
6.1.- Utilidades .................................................................................................. 23
6.1.1.- Exportación .................................................................................. 23
6.1.2.- Importación .................................................................................. 25
6.1.3.- Asistente de carga de data de archivos ......................................... 26
6.1.4.- Recopilación de estadísticas ......................................................... 27
6.1.5.- Reorganización de objetos............................................................ 28
6.2.- Copias de seguridad y Recuperación de la Base de Datos ....................... 29
6.2.1.- Copias de seguridad lógicas y físicas ........................................... 29
6.2.2.- Copias de la base entera ............................................................... 30
6.2.3.- Copias de tablespaces ................................................................... 30
6.2.4.- Copias de archivos de datos ......................................................... 30
6.2.5.- Copias de los archivos de control ................................................. 30
6.3.- Recuperación de la base de datos ............................................................. 31
6.4.- Estructuración / Despliegue de la base ..................................................... 32
6.4.1.- Clonación...................................................................................... 32
6.4.2.- Gestión de bibliotecas de políticas ............................................... 32
6.4.3.- Gestión de violaciones de políticas .............................................. 33
Página 2 de 34
Administración de una base de datos
Oracle 10g
BDOO
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 DML
o Precompilador DML
o Intérprete DDL
o Motor de ejecución
 Componentes de gestión de almacenamiento
o Gestor de autorización e integridad
o Gestor de transacciones
o Gestor de archivos
o 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 SGBD
o Aplicaciones externas al SGBD
Usuarios especializados: interactuan con el SGBD sin programas intermedios,
sino directamente con el DML de SGBD
Página 3 de 34
Administración de una base de datos
Oracle 10g

BDOO
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
Página 4 de 34
Administración de una base de datos
Oracle 10g
BDOO
Se elige para poder realizar cualquiera de las siguientes tareas:
- 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.dominioBD
Por defecto: ORCL
Al final de la instalación se obtiene:
Nombre de la BD
SID: identificador del sistema
Nombre del archivo de parámetros del servidor
URL: 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:
Página 5 de 34
Administración de una base de datos
Oracle 10g
BDOO
INICIO  Panel de Control  Rendimiento y Mantenimiento  Herramientas
administrativas  Servicios.
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ísicas
o 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 34
Administración de una base de datos
Oracle 10g
BDOO
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/SQL
o Procedimientos, funciones almacenadas, triggers…
o Los objetos de la base de datos
o 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 34
Administración de una base de datos
Oracle 10g
BDOO
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).
Página 8 de 34
Administración de una base de datos
Oracle 10g
BDOO
 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.
 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:
Página 9 de 34
Administración de una base de datos
Oracle 10g
BDOO
 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,
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
Página 10 de 34
Administración de una base de datos
Oracle 10g
BDOO
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.
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.
Página 11 de 34
Administración de una base de datos
Oracle 10g
BDOO

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.
 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
Página 12 de 34
Administración de una base de datos
Oracle 10g
BDOO
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.
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.
Página 13 de 34
Administración de una base de datos
Oracle 10g
BDOO
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
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
Página 14 de 34
Administración de una base de datos
Oracle 10g
BDOO
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.
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
Página 15 de 34
Administración de una base de datos
Oracle 10g
BDOO
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.
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.
Página 16 de 34
Administración de una base de datos
Oracle 10g
BDOO
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
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
Página 17 de 34
Administración de una base de datos
Oracle 10g
BDOO
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
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.
Página 18 de 34
Administración de una base de datos
Oracle 10g
BDOO
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
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.
Página 19 de 34
Administración de una base de datos
Oracle 10g
BDOO
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
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
Página 20 de 34
Administración de una base de datos
Oracle 10g
BDOO
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.
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 34
Administración de una base de datos
Oracle 10g
Priori
dad
Y
Y
Y
Y
Y
Regla de
Política
Categoría
BDOO
Tipo de
destino
Asesores de
parches críticos
para directorios Configura host
ción
raíz de Oracle
Numero
insuficiente de Configura Base de
archivos de
ción
Datos
control
Puertos abiertos
Seguridad Host
Rol del Sistema
operativo
Base de
Seguridad
remoto
datos
Administración
directa del
Listener
Seguridad Listener
Autenticación
del sistema
operativo remoto
Y
Seguridad
Base de
datos
Contraseña del
Listener
Y
Seguridad Listener
http Server
Access Login
Y
Y
Web Cache
Access Login
Seguridad
Servidor
HTTP
Seguridad
Web
Cache
Descripción
Comprueba los
directorios raíz de
Oracle por si
faltan parches
críticos
Comprueba el uso
unico de un
archivo de control
Comprueba los
puertos abiertos
Comprueba la
autenticación no
protegida de los
usuarios remotos
Asegura que los
listener no se
pueden
administrar de
forma directa
Comprueba la
autenticación no
protegida de los
usuarios
remotos(autentica
ción del sistema
operativo remoto)
Prueba los
Listener esten
protegidos con
contraseña
Check that HTTP
Server Access
logging is
enabled
Check that Web
Cache Access
logging is enabled
Desacti Desac
var
por
No
Si
No
No
No
No
No
Si
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 34
Z
Z2
Administración de una base de datos
Oracle 10g
BDOO
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.
Página 23 de 34
Administración de una base de datos
Oracle 10g
BDOO
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
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ón
declare
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;
Página 24 de 34
Administración de una base de datos
Oracle 10g
BDOO
begin
dbms_datapump.set_parameter(handle => h1, name => 'ESTIMATE',
value => 'BLOCKS');
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ón
declare
h1
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);
Página 25 de 34
=>
Administración de una base de datos
Oracle 10g
BDOO
end;
begin
dbms_datapump.add_file(handle => h1, filename => 'IMPORT.LOG',
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 DATA
INTO TABLE ofertas
REPLACE
FIELDS 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; Wireless
2; 20031125; Office Equipment; Optical Mouse; Network Router
3; 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 34
Administración de una base de datos
Oracle 10g
BDOO
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 34
Administración de una base de datos
Oracle 10g
BDOO
- 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 34
Administración de una base de datos
Oracle 10g
BDOO
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
- 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
Lógicas
- 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:
BOUM !!!
Copias consistentes
Copias inconsistentes
Página 29 de 34
Administración de una base de datos
Oracle 10g
- realizadas cuando la base esta cerrada y
contiene las ultimas modificaciones
BDOO
- 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 34
Administración de una base de datos
Oracle 10g
BDOO
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.
2.
3.
4.
Ultima copia de seguridad realizada al sistema, cuando NCS valía 100
La base de datos falla cuando NCS vale 500
Se restaura la copia de la base de datos hecha cuando NCS era 100
Se utilizan los archivos de transacciones para rehacer los cambios realizados
entre NCS = 100 hasta 500
Página 31 de 34
Administración de una base de datos
Oracle 10g
BDOO
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:
Página 32 de 34
Administración de una base de datos
Oracle 10g
-
BDOO
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
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 34
Administración de una base de datos
Oracle 10g
Página 34 de 34
BDOO