quarta-feira, 16 de outubro de 2013

Utilizando o “datapump” com a opção de compactação


A partir da versão 10g, com a criação da ferramenta “datapump”, para realizar a importação e exportação do banco de dados, o DBA conta com algumas facilidades que aumentaram a produtividade na geração de arquivos de “dump”.

 

Neste artigo vamos demonstrar a utilização da compactação durante a geração do arquivo de “dump”.

 

Existem dois métodos para a geração de “dump”:

 

1º Método

 

Método também pode ser utilizado em versões anteriores, quando só existia o utilitário “export” (exp).

 

Exportar o “schema” usando o utilitário “datapump” (expdp).

 

$ expdp / schemas=scott dumpfile=test.dmp logfile=test.log

 

Export: Release 11.2.0.1.0 - Production on Wed Oct 2 15:54:08 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

FLASHBACK automatically enabled to preserve database integrity.

Starting "OPS$ORACLE"."SYS_EXPORT_SCHEMA_02": /******** schemas=scott dumpfile=test.dmp logfile=test.log

Estimate in progress using BLOCKS method...

Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA

Total estimation using BLOCKS method: 20 MB

Processing object type SCHEMA_EXPORT/USER

Processing object type SCHEMA_EXPORT/SYSTEM_GRANT

Processing object type SCHEMA_EXPORT/ROLE_GRANT

Processing object type SCHEMA_EXPORT/DEFAULT_ROLE

Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA

Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA

Processing object type SCHEMA_EXPORT/TABLE/TABLE

. . exported "SCOTT"."TABLE_01"                          1.036 MB   15105 rows

. . exported "SCOTT"."TABLE_02"                          1.036 MB   15105 rows

. . exported "SCOTT"."TABLE_03"                          1.036 MB   15105 rows

. . exported "SCOTT"."TABLE_04"                          1.036 MB   15105 rows

. . exported "SCOTT"."TABLE_05"                          1.036 MB   15105 rows

. . exported "SCOTT"."TABLE_06"                          1.036 MB   15105 rows

. . exported "SCOTT"."TABLE_07"                          1.036 MB   15105 rows

. . exported "SCOTT"."TABLE_08"                          1.036 MB   15105 rows

. . exported "SCOTT"."TABLE_09"                          1.036 MB   15105 rows

. . exported "SCOTT"."TABLE_10"                          1.036 MB   15105 rows

Master table "OPS$ORACLE"."SYS_EXPORT_SCHEMA_02" successfully loaded/unloaded

******************************************************************************

Dump file set for OPS$ORACLE.SYS_EXPORT_SCHEMA_02 is:

  /home/oracle/exp/test.dmp

Job "OPS$ORACLE"."SYS_EXPORT_SCHEMA_02" successfully completed at 15:54:25

 

 

Tamanho do arquivo gerado, sem compactação: 11.169.792 (11 MB).

 

 

Após a geração do arquivo, deve-se compactar o arquivo de “dump”, utilizando comandos do sistema operacional (para esse exemplo foi utilizado o utilitário “gzip”).

 

$ gzip test.dmp

 

Tamanho do arquivo compactado: 1.485.207 (1.4 MB).

 

 

2º Método

 

Exportar os dados utilizando, a opção “COMPRESSION”.

 

$ expdp / schemas=scott dumpfile=test.dmp logfile=test.log compression=all

 

Export: Release 11.2.0.1.0 - Production on Wed Oct 2 16:03:25 2013

 

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

 

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

FLASHBACK automatically enabled to preserve database integrity.

Starting "OPS$ORACLE"."SYS_EXPORT_SCHEMA_02":  /******** schemas=scott dumpfile=test.dmp logfile=test.log compression=all

Estimate in progress using BLOCKS method...

Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA

Total estimation using BLOCKS method: 20 MB

Processing object type SCHEMA_EXPORT/USER

Processing object type SCHEMA_EXPORT/SYSTEM_GRANT

Processing object type SCHEMA_EXPORT/ROLE_GRANT

Processing object type SCHEMA_EXPORT/DEFAULT_ROLE

Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA

Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA

Processing object type SCHEMA_EXPORT/TABLE/TABLE

. . exported "SCOTT"."TABLE_01"                          129.7 KB   15105 rows

. . exported "SCOTT"."TABLE_02"                          129.7 KB   15105 rows

. . exported "SCOTT"."TABLE_03"                          129.7 KB   15105 rows

. . exported "SCOTT"."TABLE_04"                          129.7 KB   15105 rows

. . exported "SCOTT"."TABLE_05"                          129.7 KB   15105 rows

. . exported "SCOTT"."TABLE_06"                          129.7 KB   15105 rows

. . exported "SCOTT"."TABLE_07"                          129.7 KB   15105 rows

. . exported "SCOTT"."TABLE_08"                          129.7 KB   15105 rows

. . exported "SCOTT"."TABLE_09"                          129.7 KB   15105 rows

. . exported "SCOTT"."TABLE_10"                          129.7 KB   15105 rows

Master table "OPS$ORACLE"."SYS_EXPORT_SCHEMA_02" successfully loaded/unloaded

******************************************************************************

Dump file set for OPS$ORACLE.SYS_EXPORT_SCHEMA_02 is:

  /home/oracle/exp/test.dmp

Job "OPS$ORACLE"."SYS_EXPORT_SCHEMA_02" successfully completed at 16:03:42

 

 

Tamanho do arquivo gerado: 1.421.312 (1.4 MB).

 

Abaixo seguem os tamanhos dos arquivos gerados para os testes.

 

Tamanho dos arquivos gerados:   sem a cláusula “compression”: 11.169.792 (11 MB).

com a cláusula “compression”: 1.421.312 (1.4 MB).

 

Tamanho dos arquivos gerados:   com o utilitário (gzip) : 1.485.207 (1.4 MB).

com a cláusula “compression”: 1.421.312 (1.4 MB).

 

IMPORTANTE: Entre o 1º e o 2º método, após a compactação, os tamanhos dos arquivos são bem próximos. A cláusula “COMPRESSION” além de gerar um arquivo menor, também torna mais produtivo a geração do arquivo de “dump”, dispensando a necessidade de compactação posterior. Outro fator importante é que a utilização da cláusula “COMPRESSION” mantém o desempenho da exportação dos dados.

 

                       Para a execução da importação dos dados quando utiliza-se a cláusula “COMPRESSION”, basta somente executar o comando (impdp), diretamente, sem a necessidade de descompactação do arquivo.

 

 

Informações adicionais sobre a cláusula “COMPRESSION”.


Funcionalidade: Especifica se haverá compressão dos dados antes de gravar no arquivo de “dump”.

 
Sintaxe:
COMPRESSION = {ALL | DATA_ONLY | METADATA_ONLY | NONE}

Onde:

 

ALL

Compacta toda a operação de exportação (metadado e dados).

DATA_ONLY

Compacta somente os dados que estão sendo gravados no arquivo dedump” gerado.

METADATA_ONLY

Compacta somente os metadados que estão sendo gravados no arquivo de “dump” – Valor “DEFAULT” da cláusula “COMPRESSION”.

NONE

Desabilita a compresssão para a operação de exportação.

 

RESTRIÇÕES: Para fazer uso completo de todas estas opções de compressão, o parâmetro de inicialização COMPATIBLE deve estar definido como o valor 11.0.0.

 


Referências: Oracle® Database Utilities 11gR2 (11.2)
                    Oracle® Database Administrator´s Guide 11gR2 (11.2)




MSc. Rubens Oliveira
DBA Oracle Consultor