Export Oracle 10g con datapump

En este documento se expone un ejemplo de cómo poder hacer un export en oracle 10g mediante la utilidad datapump.

 

1. DataPump

La utilidad DataPump es la que ORACLE10g utiliza para realizar los exports. (expdp). Para poder hacer uso de esta utilidad hay que especificar el directorio que va a ser utilizado por ORACLE10g Export/Import (impdp) para poder exportar e importar los datos.

Existen diversas formas de especificar este directorio, una de las formas que se puede utilizar es la siguiente:

SQL > CONNECT system/manager
-- creamos el mapeo del directorio export a /backup/database/BBDD/orasite
SQL > CREATE OR REPLACE DIRECTORY export as ‘/’backup/database/BBDD/orasite’;
-- creamos el mapeo del directorio export a /backup/database/BBDD/orasite/log
SQL > CREATE OR REPLACE DIRECTORY log as ‘/backup/database/BBDD/orasite/log’;
-- otorgamos permisos lectura, escritura a esos directorios
SQL > GRANT read,write ON DIRECTORY export TO system;
SQL > GRANT read, write ON DIRECTORY log TO system;

En este caso es system el usuario encargado de hacer el export, por eso se le otorgan los privilegios a el

NOTA:

Directory: Este parámetro especifica la localización en la cual Export DataPump or Import DataPump pueden escribir el “dump file”, “log file”, “SQL file”

Si queremos ver los directorios disponibles podemos utilizar dicha consulta

SQL >SELECT privilege,directory_name 
FROM user_tab_privs t, all_directories d
WHERE t.table_name(+)=d.directory_name ORDER BY 2,1;

Los permisos de lectura y escritura en un directorio sólo significa que la base de datos ORACLE deberá leer o escribir el fichero en esa ubicación.

 

2. EXPDP

Dando los permisos ( anteriormente vistos ) a los directorios en los que se van a generar el backup ( export ) podemos realizar un export completo de la base de datos de la siguiente forma

$ expdp system/manager DUMPFILE=export:orasite.dmp FULL=Y LOGFILE=log:orasite.log

 

Aclaraciones del export:

Realizamos el export con el usuario system (system/manager)
Ponemos el nombre del fichero mediante DUMPFILE indicándole el directorio que hemos creado y dado permisos para el efecto. (export)
Indicamos el nombre del fichero log mediante LOGFILE indicándole el directorio creado para ubicar estos archivos ( log )

About: admin


0 thoughts on “Export Oracle 10g con datapump”

  1. En vez de poner FULL=Y ( que significa que haremos un export completo de toda la base de datos ) tenemos que sustituirlo por

    tables=EMP,DEPT ( siendo emp y dept las tablas que queremos exportar ).

  2. diste el ejemplo de solo exporrtar unas tablas o la base de datos completo, y para exportar otras cosas distintas? cuales son los comandos?

  3. Para importar un solo esquema lo que tienes que hacer es esto: (ojo que esto es solo para backups logicos)

    $imp system/password file= fromuser= touser= buffer=10000.

    Por ejemplo si quieres importar solo el esquema HR seria asi:

    $imp system/password file=backup20071231.dmp fromuser=HR touser=HR buffer=1000

    Espero te sirva.

    GJ

  4. Buenas a todos, alguno me podria ayudar tengo que exportar datos de una base de datos en oracle a un fichero .txt para luego utilizar en sap?

    Un Saludo y gracias.

  5. Compañeros necesito realizar el unload de un select en ORACLE9i, pero no tengo la sintaxis correcta, la verdad manejo mas sql pero no me funciono la sintasix

    unload to “/tmp/tablas.txt

    select table_name ,owner from all_tables

    Me podrian indicar como hacerlo en ORACLE.

    Mil gracias.

  6. Hola. He instalado el oracle10g e intento exportar 1 tabla y trato de hacer uso del comando exp través del sql +; pero obtengo un error

    SP2-0042: comando desconocido “exp” – resto de la línea ignorado

    Alguien me puede decir que no reconoce el comando y como solucionarlo?

    Tambien intente hacerlo x la interfaz web y me pide que ingrese en Credenciales de Host, un Usuario y su Contraseña ; pero pongo system y su clave pero em da error de clave…. es raro porque con ese loguin y esa clave estoy logueado en la aplicacion?

    Saludos

  7. RE: Export Oracle 10g

    Hola. He instalado el oracle10g e intento exportar 1 tabla y trato de hacer uso del comando exp través del sql +; pero obtengo un error

    SP2-0042: comando desconocido “exp” – resto de la línea ignorado

    Alguien me puede decir que no reconoce el comando y como solucionarlo?

    Tambien intente hacerlo x la interfaz web y me pide que ingrese en Credenciales de Host, un Usuario y su Contraseña ; pero pongo system y su clave pero em da error de clave…. es raro porque con ese loguin y esa clave estoy logueado en la aplicacion?

    Saludos

    ————————————

    Tienes instaldo el cliente Oracle?

  8. Albeto prueba poniendo el signo $ antes de exp. Así lo probé , así aparentemente me funciona. Te doy un ejemplo:

    sql> $exp file=mi_back.dmp log=mi_log.log full=y

    o bien aprovecha, prueba mientras aprovechas de leer la ayuda:

    sql> $exp help=yes

    Espero te sirva. Saludos. Virginia.

  9. Estoy tratando de que el export datapump de la base de datos sol que esta en la maquina A pueda ser generado en la máquina B, no he sido capaz ya que veo que todo se configura local. Gracias.

  10. Hola:

    Mi comentario es si el expdp y impdp tiene mucho mejor perfornance que el exp/imp original, ademas de que si hay un documento con las equivalencias o comparaciones de que hacen los parametros del expdp/impdp con los parametros del exp/imp original.

    Por ejemplo en el import original los parametros fromuser y touser, cuales seria el equivalente en el import data pump.

    Saludos.

  11. ala esto me ayudo =D me dio problema con el .log decia que el archivo no se podia abrir =s asi que omiti esa parte xD pero esta muy bueno eso que pusiste

  12. buena las ayudas, pero necesito hacer lo contrario, esportar un usuario completo menos 2 tablas de todo el equema, sin individualizar tooodas las tablas del usuario..

    saludos y muchas gracias

  13. hola,
    si no tengo espacio en disco para hacer un expdp y necesito realizarlo en otra maquina, ¿podría crear el directorio en otra maquina e indicar que se haga en esta ubicación?

    gracias

Deja un comentario

Tu dirección de correo electrónico no será publicada.