Enabling RMAN Backup Compression

Neste artigo vamos explorar algumas maneiras de utilizar a compressão no momento do backup do RMAN.

RMAN Persistent Settings

O próprio RMAN possui algumas configurações persistentes que nos permitem configurar de forma antecipada este tipo de recurso. O parâmetro “COMPRESSION ALGORITHM” foi utilizado NESTE artigo, e é responsável por definirmos o método de compressão do RMAN. Segue abaixo um exemplo de seu uso:

CONFIGURE COMPRESSION ALGORITHM '[BASIC|HIGH|MEDIUM|LOW]'

Exemplo:

[oracle@oel8 ~]$ rman target /
 
Recovery Manager: Release 18.0.0.0.0 - Production on Wed Apr 28 04:55:12 2021
Version 18.13.0.0.0
 
Copyright (c) 1982, 2018, Oracle and/or its affiliates.  All rights reserved.
 
connected to target database: RMANDB (DBID=3825250984)
 
RMAN> CONFIGURE COMPRESSION ALGORITHM 'MEDIUM';
 
new RMAN configuration parameters:
CONFIGURE COMPRESSION ALGORITHM 'MEDIUM' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE;
new RMAN configuration parameters are successfully stored
 
RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE TAG 'COMPRESSAO_MEDIUM';
 
Starting backup at 2021-04-28:04:55:55
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=98 device type=DISK
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/oracle/dados/RMANDB/datafile/o1_mf_system_h8nynqfx_.dbf
input datafile file number=00003 name=/oracle/dados/RMANDB/datafile/o1_mf_sysaux_h8nyq35q_.dbf
input datafile file number=00004 name=/oracle/dados/RMANDB/datafile/o1_mf_undotbs1_h8nyrjdr_.dbf
input datafile file number=00005 name=/oracle/dados/RMANDB/datafile/ts_cortex_catalog.dbf
input datafile file number=00007 name=/oracle/dados/RMANDB/datafile/o1_mf_users_h8nyrkn7_.dbf
channel ORA_DISK_1: starting piece 1 at 2021-04-28:04:55:55
channel ORA_DISK_1: finished piece 1 at 2021-04-28:04:56:20
piece handle=/oracle/fra/RMANDB/backupset/2021_04_28/o1_mf_nnndf_COMPRESSAO_MEDIUM_j8l58ct2_.bkp tag=COMPRESSAO_MEDIUM comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:25
Finished backup at 2021-04-28:04:56:20
 
Starting Control File and SPFILE Autobackup at 2021-04-28:04:56:20
piece handle=/oracle/fra/RMANDB/autobackup/2021_04_28/o1_mf_s_1071032181_j8l595hc_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 2021-04-28:04:56:22
 
RMAN> LIST BACKUPSET TAG 'COMPRESSAO_MEDIUM';
 
 
List of Backup Sets
===================
 
 
BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
220     Full    361.20M    DISK        00:00:15     2021-04-28:04:56:10
        BP Key: 220   Status: AVAILABLE  Compressed: YES  Tag: COMPRESSAO_MEDIUM
        Piece Name: /oracle/fra/RMANDB/backupset/2021_04_28/o1_mf_nnndf_COMPRESSAO_MEDIUM_j8l58ct2_.bkp
  List of Datafiles in backup set 220
  File LV Type Ckp SCN    Ckp Time            Abs Fuz SCN Sparse Name
  ---- -- ---- ---------- ------------------- ----------- ------ ----
  1       Full 2366768    2021-04-28:04:55:55              NO    /oracle/dados/RMANDB/datafile/o1_mf_system_h8nynqfx_.dbf
  3       Full 2366768    2021-04-28:04:55:55              NO    /oracle/dados/RMANDB/datafile/o1_mf_sysaux_h8nyq35q_.dbf
  4       Full 2366768    2021-04-28:04:55:55              NO    /oracle/dados/RMANDB/datafile/o1_mf_undotbs1_h8nyrjdr_.dbf
  5       Full 2366768    2021-04-28:04:55:55              NO    /oracle/dados/RMANDB/datafile/ts_cortex_catalog.dbf
  7       Full 2366768    2021-04-28:04:55:55              NO    /oracle/dados/RMANDB/datafile/o1_mf_users_h8nyrkn7_.dbf

No parâmetro “DEVICE TYPE” também conseguimos definir se teremos compressão:

CONFIGURE DEVICE TYPE [DISK | SBT] BACKUP TYPE TO COMPRESSED BACKUPSET

Exemplo:

RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET;
 
old RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;
new RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;
new RMAN configuration parameters are successfully stored
released channel: ORA_DISK_1
 
RMAN> BACKUP TABLESPACE USERS;
 
Starting backup at 2021-04-28:05:03:11
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=98 device type=DISK
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00007 name=/oracle/dados/RMANDB/datafile/o1_mf_users_h8nyrkn7_.dbf
channel ORA_DISK_1: starting piece 1 at 2021-04-28:05:03:11
channel ORA_DISK_1: finished piece 1 at 2021-04-28:05:03:12
piece handle=/oracle/fra/RMANDB/backupset/2021_04_28/o1_mf_nnndf_TAG20210428T050311_j8l5ozmf_.bkp tag=TAG20210428T050311 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 2021-04-28:05:03:12
 
Starting Control File and SPFILE Autobackup at 2021-04-28:05:03:12
piece handle=/oracle/fra/RMANDB/autobackup/2021_04_28/o1_mf_s_1071032592_j8l5p15c_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 2021-04-28:05:03:13
 
RMAN> LIST BACKUP OF TABLESPACE USERS;
 
 
List of Backup Sets
===================
 
 
BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
224     Full    2.28M      DISK        00:00:00     2021-04-28:05:03:11
        BP Key: 224   Status: AVAILABLE  Compressed: YES  Tag: TAG20210428T050311
        Piece Name: /oracle/fra/RMANDB/backupset/2021_04_28/o1_mf_nnndf_TAG20210428T050311_j8l5ozmf_.bkp
  List of Datafiles in backup set 224
  File LV Type Ckp SCN    Ckp Time            Abs Fuz SCN Sparse Name
  ---- -- ---- ---------- ------------------- ----------- ------ ----
  7       Full 2367286    2021-04-28:05:03:11              NO    /oracle/dados/RMANDB/datafile/o1_mf_users_h8nyrkn7_.dbf

RMAN Session

A compressão também pode ser definida na sessão do RMAN, conforme modelo abaixo:

SET COMPRESSION ALGORITHM '[BASIC|HIGH|MEDIUM|LOW]';

Para simular este cenário, deixarei os parâmetros persistentes sem a opção de compressão:

RMAN> CONFIGURE COMPRESSION ALGORITHM CLEAR;
 
RMAN configuration parameters are successfully reset to default value
 
RMAN> CONFIGURE DEVICE TYPE DISK CLEAR;
 
old RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;
RMAN configuration parameters are successfully reset to default value
released channel: ORA_DISK_1
 
RMAN> SHOW COMPRESSION ALGORITHM;
 
RMAN configuration parameters for database with db_unique_name RMANDB are:
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
 
RMAN> SHOW DEVICE TYPE;
 
RMAN configuration parameters for database with db_unique_name RMANDB are:
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default

Podemos notar no exemplo abaixo que apesar de definirmos a nível de sessão o algoritmo de compressão, o backup em si não é realizado com este recurso:

RMAN> SET COMPRESSION ALGORITHM 'HIGH';
 
executing command: SET compression
 
RMAN> SHOW COMPRESSION ALGORITHM
2> ;
 
RMAN configuration parameters for database with db_unique_name RMANDB are:
CONFIGURE COMPRESSION ALGORITHM 'HIGH' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
 
RMAN> BACKUP TABLESPACE USERS;
 
Starting backup at 2021-04-29:04:35:54
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00007 name=/oracle/dados/RMANDB/datafile/o1_mf_users_h8nyrkn7_.dbf
channel ORA_DISK_1: starting piece 1 at 2021-04-29:04:35:54
channel ORA_DISK_1: finished piece 1 at 2021-04-29:04:35:58
piece handle=/oracle/fra/RMANDB/backupset/2021_04_29/o1_mf_nnndf_TAG20210429T043554_j8nrgv69_.bkp tag=TAG20210429T043554 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:04
Finished backup at 2021-04-29:04:35:58
 
Starting Control File and SPFILE Autobackup at 2021-04-29:04:35:58
piece handle=/oracle/fra/RMANDB/autobackup/2021_04_29/o1_mf_s_1071117358_j8nrgyn7_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 2021-04-29:04:35:59
 
RMAN> LIST BACKUP OF TABLESPACE USERS;
 
 
List of Backup Sets
===================
 
 
BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
240     Full    13.25M     DISK        00:00:01     2021-04-29:04:35:55
        BP Key: 240   Status: AVAILABLE  Compressed: NO  Tag: TAG20210429T043554
        Piece Name: /oracle/fra/RMANDB/backupset/2021_04_29/o1_mf_nnndf_TAG20210429T043554_j8nrgv69_.bkp
  List of Datafiles in backup set 240
  File LV Type Ckp SCN    Ckp Time            Abs Fuz SCN Sparse Name
  ---- -- ---- ---------- ------------------- ----------- ------ ----
  7       Full 2501534    2021-04-29:04:35:54              NO    /oracle/dados/RMANDB/datafile/o1_mf_users_h8nyrkn7_.dbf
 
RMAN>

Para que ele considere a compressão, podemos utilizar a sintaxe “AS COMPRESSED” conforme abaixo:

RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE TAG 'BSS';
 
Starting backup at 2021-04-29:04:39:43
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/oracle/dados/RMANDB/datafile/o1_mf_system_h8nynqfx_.dbf
input datafile file number=00003 name=/oracle/dados/RMANDB/datafile/o1_mf_sysaux_h8nyq35q_.dbf
input datafile file number=00004 name=/oracle/dados/RMANDB/datafile/o1_mf_undotbs1_h8nyrjdr_.dbf
input datafile file number=00005 name=/oracle/dados/RMANDB/datafile/ts_cortex_catalog.dbf
input datafile file number=00007 name=/oracle/dados/RMANDB/datafile/o1_mf_users_h8nyrkn7_.dbf
channel ORA_DISK_1: starting piece 1 at 2021-04-29:04:39:43
channel ORA_DISK_1: finished piece 1 at 2021-04-29:04:41:59
piece handle=/oracle/fra/RMANDB/backupset/2021_04_29/o1_mf_nnndf_BSS_j8nrp002_.bkp tag=BSS comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:02:16
Finished backup at 2021-04-29:04:41:59
 
Starting Control File and SPFILE Autobackup at 2021-04-29:04:41:59
piece handle=/oracle/fra/RMANDB/autobackup/2021_04_29/o1_mf_s_1071117719_j8nrt7kk_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 2021-04-29:04:42:00
 
RMAN> LIST BACKUPSET TAG 'BSS';
 
 
List of Backup Sets
===================
 
 
BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
242     Full    294.20M    DISK        00:02:12     2021-04-29:04:41:55
        BP Key: 242   Status: AVAILABLE  Compressed: YES  Tag: BSS
        Piece Name: /oracle/fra/RMANDB/backupset/2021_04_29/o1_mf_nnndf_BSS_j8nrp002_.bkp
  List of Datafiles in backup set 242
  File LV Type Ckp SCN    Ckp Time            Abs Fuz SCN Sparse Name
  ---- -- ---- ---------- ------------------- ----------- ------ ----
  1       Full 2501670    2021-04-29:04:39:43              NO    /oracle/dados/RMANDB/datafile/o1_mf_system_h8nynqfx_.dbf
  3       Full 2501670    2021-04-29:04:39:43              NO    /oracle/dados/RMANDB/datafile/o1_mf_sysaux_h8nyq35q_.dbf
  4       Full 2501670    2021-04-29:04:39:43              NO    /oracle/dados/RMANDB/datafile/o1_mf_undotbs1_h8nyrjdr_.dbf
  5       Full 2501670    2021-04-29:04:39:43              NO    /oracle/dados/RMANDB/datafile/ts_cortex_catalog.dbf
  7       Full 2501670    2021-04-29:04:39:43              NO    /oracle/dados/RMANDB/datafile/o1_mf_users_h8nyrkn7_.dbf

Obs: Este procedimento foi criado pelo senhor Ahmed Baraka (www.ahmedbaraka.com) e foi apenas reproduzido por mim em um laboratório pessoal para fins de aprendizado.

Leave a Comment

Your email address will not be published.