viernes, 5 de marzo de 2010

FROMUSER TOUSER en DataPump

Para poder usar DataPump debemos crear un “directory object” y otorgar los privilegios necesarios al usuario para que pueda trabajar con ese directorio.
Para crear dicho directorio debemos ejecutar:

SQL> CREATE DIRECTORY prueba_dpump AS ‘/u01/oracle/prueba’;

Una vez creado el directorio, tendremos que darles los permisos necesarios a los usuarios que queramos para que pueda escribir o leer sobre ese directorio. Para eso hacemos lo siguiente (Usamos al usuario Scott como ejemplo):

SQL> GRANT READ,WRITE ON DIRECTORY prueba_dpump TO scott;

A su vez, a nivel operativo oracle debe tener acceso de lectura y escritura sobre el directorio físico.

Una vez que tenemos todo lo anterior, podemos proceder a exportar el owner scott con el siguiente comando:

$ORACLE_HOME\bin\expdp ‘scott/password’ DIRECTORY=prueba_dpump dumpfile=scott.dmp

Habiendo realizado esta pequeña introducción para dataPump lo que quería compartir en este post es el cambio que hubo con dataPump cuando intentamos realizar un import en un owner distinto al que exportamos.

Antes, para realizar esta operación utilizábamos el siguiente comando (en este caso pasaremos las tablas del usuario scott al usuario peter):

$ORACLE_HOME\bin\imp ‘username/password’ FILE=scott.dmp FROMUSER=scott TOUSER=peter TABLES=(*)

Con data Pump Import ahora tenemos:

$ORACLE_HOME\bin\impdp ‘username/password’ DIRECTORY=prueba_dpump DUMPFILE=scott.dmp TABLES=scott.emp REMAP_SCHEMA=scott:jim

Como podemos ver la opción FROMUSER/TOUSER fue sustituida por la opción REMAP_SCHEMA

Espero les haya servido

Saludos!
Gondalf

3 comentarios:

  1. Excelente post Gonza. Claro, útil, cortito y al pie.

    ResponderEliminar
  2. Muchas gracias a ambos...

    Trataré de seguir posteando cosas de su interés.

    Saludos!
    Gondalf

    ResponderEliminar