Datapump 05 - Cómo funcionan los parámetros DUMPFILE, FILESIZE Y PARALLEL en un expdp.

DUMPFILE, FILESIZE y PARALLEL son parámetros dentro de la herramienta expdp, los cuales tienen una estrecha relación y se llegan afectar entre sí. En este post vamos a descubrir esa relación.

Comencemos:

DUMPFILE indica el nombre del archivo o los archivos generados (dump file), incluso también se puede definir la ruta donde se van a almacenar a través de un objeto directorio. Tenemos el comodín “%U” si lo colocamos en el nombre del archivo va a sustituir ese comodín por un valor entero de forma consecutiva desde el 01 hasta el 99 según lo requiera.

PARALLEL indica cuántos procesos van a trabajar simultáneamente para cargar los datos en los archivos (dump file).
(Nota: El paralelismo únicamente funciona en la versión Enterprise Edition)

FILESIZE especifica el tamaño máximo que pueden alcanzar los archivos generados (dump file)

Ejemplos:
Supongamos vamos a exportar una tabla de aproximadamente 240MB, veamos que sucede en diferentes casos:
Caso 01:
En el siguiente ejemplo se van crear 5 archivos (dump file), 4 de 50M y uno de 40 MB. Los archivos creados serían expTAB01.dmp, expTAB02.dmp, expTAB03.dmp, expTAB04.dmp y expTAB05.dmp
DUMPFILE=expTAB%U.dmp FILESIZE=50M
Caso 02:
Con estos parámetros se crearían 3 archivos de 80MB.
DUMPFILE=expTAB%U.dmp PARALLEL=3
Caso 03:
En este caso se crearían solamente 2 archivos de 120 MB en los dos directorios diferentes.
DUMPFILE=DMPDIR1:expTAB_A%U.dmp,DMPDIR2:expTAB_B%U.dmp
Caso 04:
Al estar los dos parámetros PARALLEL y FILESIZE se crearían 9 archivos 6 archivos de 30MB y 3 archivos de aproximadamente 27 MB. Cuando se trabaja en PARALLEL el datapump va a tratar de no dejar ningún proceso ocioso por lo cual va a forzar que se trabajen en archivos de 3 en 3 sin sobrepasar lo especificado en el parámetro FILESIZE.
DUMPFILE=exp%U.dmp PARALLEL=3 FILESIZE=30M
Caso 05:
Aquí se están especificando dos directorios diferentes DIR_01 y DIR_02, en esta situación se van a crear 4 archivos de 60MB dos en cada directorio.
DUMPFILE=DIR_01:expTAB_A%U.dmp,DIR_02:expTAB_B%U.dmp FILESIZE=60M
Caso 06:
En este caso se definen 3 directorios, nombre de archivos con el comodín %U, un filesize de 25MB y un parallel de 3, entonces se van a crear 12 archivos, 4 archivos en cada directorio, los primeros 9 archivos con 25MB (un total de 225MB) y los últimos tres archivos distribuidos en los tres directorios con un tamaño aproximado de 5MB para así completar los 240 MB de datos.
DUMPFILE=DIR_01:expTAB_A%U.dmp, DIR_02:expTAB_B%U.dmp, DIR_03:expTAB_C%U.dmp PARALLEL=3  FILESIZE=25M

Al final de la ejecución del expdp se va a mostrar una lista de todos los archivos creados (dump file) por ejemplo para el último caso:
Dump file set for SYSTEM.EXPFULL is:
  /workarea/dp_dir_01/expTAB_A_01.dmp
  /workarea/dp_dir_02/expTAB_B_01.dmp
  /workarea/dp_dir_03/expTAB_C_01.dmp
  /workarea/dp_dir_01/expTAB_A_02.dmp
  /workarea/dp_dir_02/expTAB_B_02.dmp
  /workarea/dp_dir_03/expTAB_C_02.dmp
  /workarea/dp_dir_01/expTAB_A_03.dmp
  /workarea/dp_dir_02/expTAB_B_03.dmp
  /workarea/dp_dir_03/expTAB_C_03.dmp
  /workarea/dp_dir_01/expTAB_A_04.dmp
  /workarea/dp_dir_02/expTAB_B_04.dmp
  /workarea/dp_dir_03/expTAB_C_04.dmp


Espero les sea útil, nos leemos en el próximo post.

Comments