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 de
“dump” 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