A partir de Oracle Database 10g está disponible la utilidad Data Pump Export, que al igual que su predecesora, Export utility, permite exportar datos y metadatos a un archivo binario que podrá contener tanto la información completa de una base de datos como únicamente ciertos esquemas o tablas.
Como tarea previa a la ejecución de un dump, puede ser de gran utilidad disponer de información sobre el tamaño estimado que el dump ocupará en disco. Data Pump permite a través del parámetro ESTIMATE_ONLY
indicar que la ejecución del job únicamente calculará este espacio sin ejecutar la operación de exportación.
A continuación muestro un ejemplo de la estimación de cálculo de espacio para un export completo. Antes de utilizar Data Pump (comando expdb
) debemos haber especificado en la instancia correspondiente el directorio específico para almacenar todo lo relacionado con estas tareas:
SQL> create directory backup_dir as '/backup';
Una vez realizado, podemos ejecutar el job:
# expdp DIRECTORY=backup_dir FULL=y \ LOGFILE=${ORACLE_SID}_20160721.dmp.log \ EXCLUDE=STATISTICS ESTIMATE_ONLY=Y
Durante la ejecución del job veremos el detalle de proceso de cálculo de espacio y después la estimación final de ocupación del export:
6/7/2016 3:52:19 PM: Estimate in progress using BLOCKS method... 6/7/2016 3:52:19 PM: Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA 6/7/2016 3:59:48 PM: . estimated "schema"."table1" 1.82 GB 6/7/2016 3:59:48 PM: . estimated "schema"."table2" 41.68 GB 6/7/2016 3:59:48 PM: . estimated "schema"."table3" 21.02 GB [...] Total estimation using BLOCKS method: 239.187 GB Job "foo"."SYS_EXP..." successfully completed at 04:00:00
Toda la información quedará también registrada en el archivo de log que hemos especificado en el job.