O RMAN nos permite criar mais canais nas operações de backup, trazendo mais flexibilidade e eventualmente mais performance. Digo eventualmente pois não podemos associar de maneira categórica que quanto maior o número de canais, mais rápido o backup finaliza. Dependendo da situação (e em um exemplo extraordinário), se o destino de nossos backups possuírem apenas um storage driver, mesmo criando vários canais, todos eles serão executados nesse mesmo devide. Se isso acontecer, internamente o RMAN criará filas de execução, e isso pode até comprometer a performance. Esse assunto em específico é complexo e merece um artigo posterior para exploração. Neste aqui, vou me limitar a exibir como podemos criar os canais nas operações de backup (que tem como padrão apenas 1).
Com o comando abaixo, podemos constatar o valor atual de nosso ambiente:
[oracle@oel8 ~]$ rman target /
Recovery Manager: Release 18.0.0.0.0 - Production on Fri Mar 26 05:18:59 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> SHOW DEVICE TYPE;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name RMANDB are:
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
Alterando o paralelismo:
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2;
new RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
new RMAN configuration parameters are successfully stored
Realizando um backup do banco de dados e confirmando a criação de 2 canais (ORA_DISK_1 e ORA_DISK_2):
RMAN> BACKUP DATABASE;
Starting backup at 2021-03-26:05:28:05
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=127 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=82 device type=DISK
channel ORA_DISK_1: starting 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=00007 name=/oracle/dados/RMANDB/datafile/o1_mf_users_h8nyrkn7_.dbf
input datafile file number=00005 name=/oracle/dados/RMANDB/datafile/ts_cortex_catalog.dbf
channel ORA_DISK_1: starting piece 1 at 2021-03-26:05:28:06
channel ORA_DISK_2: starting full datafile backup set
channel ORA_DISK_2: specifying datafile(s) in backup set
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
channel ORA_DISK_2: starting piece 1 at 2021-03-26:05:28:06
channel ORA_DISK_2: finished piece 1 at 2021-03-26:05:29:39
piece handle=/oracle/fra/RMANDB/backupset/2021_03_26/o1_mf_nnndf_TAG20210326T052806_j5v6rq92_.bkp tag=TAG20210326T052806 comment=NONE
channel ORA_DISK_2: backup set complete, elapsed time: 00:01:33
channel ORA_DISK_1: finished piece 1 at 2021-03-26:05:29:49
piece handle=/oracle/fra/RMANDB/backupset/2021_03_26/o1_mf_nnndf_TAG20210326T052806_j5v6rpt5_.bkp tag=TAG20210326T052806 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:43
Finished backup at 2021-03-26:05:29:49
Starting Control File and SPFILE Autobackup at 2021-03-26:05:29:49
piece handle=/oracle/fra/RMANDB/autobackup/2021_03_26/o1_mf_s_1068182989_j5v6vyf1_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 2021-03-26:05:29:52
Podemos configurar manualmente cada canal, e até o seu destino com o FORMAT, vide exemplo abaixo:
RMAN> CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/oracle/BACKUP/BSS1/%U.bkp';
new RMAN configuration parameters:
CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/oracle/BACKUP/BSS1/%U.bkp';
new RMAN configuration parameters are successfully stored
released channel: ORA_DISK_1
released channel: ORA_DISK_2
RMAN> CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT '/oracle/BACKUP/BSS2/%U.bkp';
new RMAN configuration parameters:
CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT '/oracle/BACKUP/BSS2/%U.bkp';
new RMAN configuration parameters are successfully stored
Realizando o backup e confirmando que o RMAN criou 2 canais, e cada qual apontando para um diretório diferente:
RMAN> BACKUP DATABASE;
Starting backup at 2021-03-26:05:43:47
using channel ORA_DISK_1
using channel ORA_DISK_2
channel ORA_DISK_1: starting 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=00007 name=/oracle/dados/RMANDB/datafile/o1_mf_users_h8nyrkn7_.dbf
input datafile file number=00005 name=/oracle/dados/RMANDB/datafile/ts_cortex_catalog.dbf
channel ORA_DISK_1: starting piece 1 at 2021-03-26:05:43:48
channel ORA_DISK_2: starting full datafile backup set
channel ORA_DISK_2: specifying datafile(s) in backup set
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
channel ORA_DISK_2: starting piece 1 at 2021-03-26:05:43:48
channel ORA_DISK_1: finished piece 1 at 2021-03-26:05:44:33
piece handle=/oracle/BACKUP/BSS1/6evqmc8k_1_1.bkp tag=TAG20210326T054347 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:45
channel ORA_DISK_2: finished piece 1 at 2021-03-26:05:44:33
piece handle=/oracle/BACKUP/BSS2/6fvqmc8k_1_1.bkp tag=TAG20210326T054347 comment=NONE
channel ORA_DISK_2: backup set complete, elapsed time: 00:00:45
Finished backup at 2021-03-26:05:44:33
Starting Control File and SPFILE Autobackup at 2021-03-26:05:44:33
piece handle=/oracle/fra/RMANDB/autobackup/2021_03_26/o1_mf_s_1068183873_j5v7ql04_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 2021-03-26:05:44:36
Para resetar as configurações:
RMAN> CONFIGURE DEVICE TYPE disk CLEAR;
old RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
RMAN configuration parameters are successfully reset to default value
released channel: ORA_DISK_1
released channel: ORA_DISK_2
RMAN> SHOW DEVICE TYPE;
RMAN configuration parameters for database with db_unique_name RMANDB are:
configuration for DISK channel 2 is ignored
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
Também temos a opção de definir o número de canais em tempo de execução, dentro de um bloco RUN do RMAN, conforme exemplo abaixo:
RMAN> RUN
{
ALLOCATE CHANNEL ch1 DEVICE TYPE DISK FORMAT '/oracle/BACKUP/BSS1/%U.bkp';
ALLOCATE CHANNEL ch2 DEVICE TYPE DISK FORMAT '/oracle/BACKUP/BSS2/%U.bkp';
BACKUP DATABASE;
}2> 3> 4> 5> 6>
released channel: ORA_DISK_1
allocated channel: ch1
channel ch1: SID=127 device type=DISK
allocated channel: ch2
channel ch2: SID=82 device type=DISK
Starting backup at 2021-03-26:05:51:04
channel ch1: starting full datafile backup set
channel ch1: 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=00007 name=/oracle/dados/RMANDB/datafile/o1_mf_users_h8nyrkn7_.dbf
input datafile file number=00005 name=/oracle/dados/RMANDB/datafile/ts_cortex_catalog.dbf
channel ch1: starting piece 1 at 2021-03-26:05:51:04
channel ch2: starting full datafile backup set
channel ch2: specifying datafile(s) in backup set
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
channel ch2: starting piece 1 at 2021-03-26:05:51:04
channel ch1: finished piece 1 at 2021-03-26:05:51:29
piece handle=/oracle/BACKUP/BSS1/6hvqmcm8_1_1.bkp tag=TAG20210326T055104 comment=NONE
channel ch1: backup set complete, elapsed time: 00:00:25
channel ch2: finished piece 1 at 2021-03-26:05:51:29
piece handle=/oracle/BACKUP/BSS2/6ivqmcm8_1_1.bkp tag=TAG20210326T055104 comment=NONE
channel ch2: backup set complete, elapsed time: 00:00:25
Finished backup at 2021-03-26:05:51:29
Starting Control File and SPFILE Autobackup at 2021-03-26:05:51:29
piece handle=/oracle/fra/RMANDB/autobackup/2021_03_26/o1_mf_s_1068184289_j5v84l6p_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 2021-03-26:05:51:32
released channel: ch1
released channel: ch2
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.