A continuación describiremos la forma de realizar un Export/Import en nuestro Oracle, probado en la versión 9i y a funcionado sin problemas ninguna, ante todo tendremos que saber que es esto de Export/Import
¿Que 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.
Se realiza en los siguientes casos:
- Para realizar backups de 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
EXPORT
Comenzemos a ver como se realizaria un export para nuestra base de datos.
- Podemos realizar una copia completa de la base de datos mediante la siguiente orden
$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.
- Copiando las tablas especificas de un usuario
$exp scott/tiger file=orasitescott.dmp tables=(emp,dept) buffer=1000000
Realizando el export de las tablas que tiene el usuario scott
- Copiando tablas de un usuario con una condición especifica
$exp scott/tiger file=c:\orasitempleados.dmp tables=emp query=\”where deptno=10\”
Con query espeficificamos una condición para realizar el export de esa tabla
IMPORT
- 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
- 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
Existe la opcion de realizar import y export interactivo, esto es que en la consola introducimos el comando imp (para import) o exp (para export) y nos irá pidiendo parámetros para la acción a realizar, usuarios, tablas, permisos……