Chega de medo de DATAFILEs grandes.
O Oracle Database (Enterprise Edition, 11gR1 ou superior) permite também que o BACKUP e RESTORE via RMAN de um único DATAFILE seja executado em vários canais paralelos, o que pode agilizar em muito este tipo de operação, dependendo de suas CPUs e I/O.
No exemplo abaixo, eu permiti PARALLEL 10, mas o RMAN decidiu utilizar apenas 3, devido ao DATAFILE ter apenas cerca de 1GB.
[oracle@Caspar ~]$ rman TARGET / Recovery Manager: Release 11.2.0.3.0 - Production on Sat Oct 15 14:41:06 2011 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: CATALOGO (DBID=2990378892) RMAN> SHOW ALL; using target database control file instead of recovery catalog RMAN configuration parameters for database with db_unique_name CATALOGO are: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0.3/db_1/dbs/snapcf_CATALOGO.f'; # default RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 10 BACKUP TYPE TO BACKUPSET; new RMAN configuration parameters: CONFIGURE DEVICE TYPE DISK PARALLELISM 10 BACKUP TYPE TO BACKUPSET; new RMAN configuration parameters are successfully stored RMAN> BACKUP DATAFILE 1; Starting backup at 15-OCT-11 using channel ORA_DISK_1 using channel ORA_DISK_2 using channel ORA_DISK_3 using channel ORA_DISK_4 using channel ORA_DISK_5 using channel ORA_DISK_6 using channel ORA_DISK_7 using channel ORA_DISK_8 using channel ORA_DISK_9 using channel ORA_DISK_10 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=/u01/app/oracle/oradata/CATALOGO/system01.dbf channel ORA_DISK_1: starting piece 1 at 15-OCT-11 channel ORA_DISK_2: starting full datafile backup set channel ORA_DISK_2: specifying datafile(s) in backup set channel ORA_DISK_3: starting full datafile backup set channel ORA_DISK_3: specifying datafile(s) in backup set including current SPFILE in backup set channel ORA_DISK_3: starting piece 1 at 15-OCT-11 channel ORA_DISK_3: finished piece 1 at 15-OCT-11 piece handle=/u01/app/oracle/FRA/CATALOGO/backupset/2011_10_15/o1_mf_nnsnf_TAG20 4246 comment=NONE channel ORA_DISK_3: backup set complete, elapsed time: 00:00:01 including current control file in backup set channel ORA_DISK_2: starting piece 1 at 15-OCT-11 channel ORA_DISK_2: finished piece 1 at 15-OCT-11 piece handle=/u01/app/oracle/FRA/CATALOGO/backupset/2011_10_15/o1_mf_ncnnf_TAG20 4246 comment=NONE channel ORA_DISK_2: backup set complete, elapsed time: 00:00:08 channel ORA_DISK_1: finished piece 1 at 15-OCT-11 piece handle=/u01/app/oracle/FRA/CATALOGO/backupset/2011_10_15/o1_mf_nnndf_TAG20 4246 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:31 Finished backup at 15-OCT-11 RMAN>
Com 20 anos de experiência profissional, Oracle ACE Member – eleito pela Oracle Corporation um dos maiores especialistas do mundo em Oracle Database- Trabalhou em grande parte dos maiores bancos de dados Oracle do Brasil. Certificado em Oracle, SQL Server, DB2, MySQL, Sybase e Websphere.
Conselheiro do GPO e do GUOB, palestrante do ENPO, GUOB Tech Day e Oracle Open World, escritor da Revista SQL Magazine e Instrutor na Nerv.
Portilho,
Melhor ainda é “quebrar” o datafile em partes menores, chamadas de seções (possível a partir do Oracle 11G). Somente quebrando em seções menores e alocando múltiplos canais é que conseguiremos paralelizar de verdade o backup de um mesmo datafile, e isso não era possível no 10G.
No seu exemplo dá para ver q o datafile 1 não foi executado com paralelismo real. Para conseguir múltiplos processos paralelos no datafile 1, quebrando-o em seções, seria necessário executar o comando de backup contendo SECTION SIZE e um tamanho desejado para cada seção do arquivo. Exemplo:
BACKUP SECTION SIZE 250M DATAFILE 1;
[]s
Fábio Prado
http://www.fabioprado.net
Como da para ver que não foi utilizado paralelismo, se foram abertos 3 canais, e gerados 3 pieces, de um unico datafile?
Ah sim, vi agora que os pieces que ele gerou foram um grande e dois pequenos. Nos dois pequenos ele deve ter colocado só o SPFILE e CONTROLFILE, mesmo com o AUTOBACKUP OFF.
Obrigado !
Isso mesmo, nas 2 peças pequenas não estavam partes ou seções do datafile!
Acrescenta no comando SECTION SIZE q aí sim vc terá paralelismo no datafile!
[]s