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.