miércoles, 8 de junio de 2011

Respaldo y Recuperacion Export / Import Oracle 9i y Oracle 10g

Proyecto punto 9.b

1. Objetivos

Breves apuntes de cómo hacer un export/import en Oracle9i ( DataPump utility en oracle10g sustituye al export/Import de oracle9i )

2. ¿Qué es un export/import en Oracle?

Export/Import es una utilidad de Oracle para realizar backups lógicos de Oracle ( y luego poderlos restaurar ). Esto significa que copian el contenido de la BD pero sin almacenar la posición física de los datos. Para realizar estas operaciones la base de datos tiene que estar abierta.

Para crear el fichero de backup se utiliza la utilidad export y para importar el contenido o recuperar la base de datos se realiza import.
Este tipo de backup se utiliza en los siguientes casos:


- Para realizar backups de bases de datos ( pequeñas/medianas bases de datos )
- Para corregir "Row Migration & Row Chaining"
- Detectar alguna corrupción en la base de datos, puesto que al hacer el export se lee toda la bd.
- Para "migrar" una base de datos a otro servidor

3. Export en Oracle 9i

Mediante unos ejemplos vamos a explicar cómo realizar algunos export en una versión de base de datos 9i, por supuesto existirán más formas de hacer exports según los argumentos que se le pasen:

El comando para realizar export en Oracle 9i es exp

Para ver todos los argumentos y significado de ellos de un export basta con realizar un exp help=yes

Ejemplo1: Copia completa de la base de datos

$exp file=/oracle9/export_orasite.dmp full=yes log=/oracle9/log/export_orasite.log buffer=1000000

file=/oracle9/export_orasite.dmp > Nombre y ubicación del archivo del export ( el usuario oracle tiene que tener permisos para escribir ahi. La extensión de este archivo es dmp.

full=yes> Con esto indicamos que el export es completo, todos los esquemas de la base de datos y sus datos permisos, privilegios ..

log=/oracle9/log/export_orasite.log > fichero para tener el log del export, el usuario oracle también tiene que tener permisos en ese directorio para escribir.

buffer=1000000 > reservamos buffer para la operación.

Ejemplo2: Copia de tablas especificas de un usuario

$exp scott/tiger file=orasitescott.dmp tables=(emp,dept) buffer=1000000

En este caso realizamos sólo un backup de las tablas especificadas en el argumento tables del usuario scott

Ejemplo3: Copiar tablas de un usuario con una condición especifica

$exp scott/tiger file=c:\orasitempleados.dmp tables=emp query=\"where deptno=10\"

Exportamos la tabla emp del usuario scott y en el argumento query espeficificamos una condición para realizar el export de esa tabla

"Export interactivo"

Otra forma de realizar un export es poniendo simplemente en la línea de comando exp y esperar a que te vaya pidiendo la utilidad los parámetros que requiere.
De esta forma te pedirá el usuario, constraseña, si quieres hacer copia sólo de la estructura, con datos, sin datos, nombre del archivo ... etc.

Recomendaciones

Se pueden hacer exports con diferentes versiones de Oracle, aunque es recomendable realizar el export con la misma versión de la base de datos.En todo caso si se hace con un cliente, si la versión es superior o la misma a la de la base de datos, Oracle "asegura" que no existe ningún problema en realizarlo.

4. Import Oracle 9i

Partiendo de un archivo realizado con la utilizad export podemos recuperar datos de toda la base de datos, de ciertas tablas, etc.

El comando para realizar export en Oracle 9i es imp

Para ver todos los argumentos y significado de ellos de un export basta con realizar un imp help=yes

Ejemplo1: Importar todo el archivo exportado

$imp system/manager file=c:\orasitefull.dmp full=yes ignore=yes
log=c:\orasite\log\import_log.log buffer=1000000

Importamos con el usuario system que tiene permisos para importar el archivo orasitefull.dmp dejando un log de dicha importación en import_log.log reservando un buffer de 100000

Ejemplo2: Importar una tabla de un usuario concreto

$imp scott/tiger file=orasitempleados.dmp fromuser=scott touser=scott tables=dept

Importamos del archivo orasitempleados.dmp sólo del usuario scott de ese archivo al esquema del usuario scott la tabla departamento

"Import interactivo"

Otra forma de realizar un import al igual que el export es introducir en la línea de comando imp y esperar a que te vaya pidiendo la utilidad los parámetros que requiere.
De esta forma te pedirá el usuario, constraseña, el archivo para importar, qué quieres importar del archivo ... etc.

No hay comentarios:

Publicar un comentario