Oracle RMAN – MAXPIECESIZE Ignored for Level 0 Backups

backuporacleoracle-12crman

I'm having issues with Oracle 12.1 rman – specifically the MAXPIECESIZE parameter not being honored by my Level 0 backups.

This value is set in rman as

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/u01/rman/prdb/rman/%U' MAXPIECESIZE 10 G;

and the level 0 backup is triggered via the following script:

RUN {
  BACKUP INCREMENTAL LEVEL 0 TAG 'prdb_incr' DATABASE;
  BACKUP DEVICE TYPE DISK TAG 'prdb_incr' ARCHIVELOG ALL NOT BACKED UP DELETE ALL INPUT;
}

However, this is creating a single 30G file rather than splitting it up into 10G chunks.

[oracle@localdomain]$ ls -ltrh /u01/rman/prdb/recovery/PRDB/backupset/2018_05_20/
total 32G
-rw-r-----. 1 oracle oracle 309M May 20 09:50 o1_mf_nnnd1_PRDB_INCR_fj2jb825_.bkp
-rw-r-----. 1 oracle oracle 1.2G May 20 09:50 o1_mf_annnn_PRDB_INCR_fj2k6m7d_.bkp
-rw-rw----. 1 oracle oracle  30G May 20 11:35 o1_mf_nnnd0_PRDB_INCR_fj2pj8p0_.bkp
-rw-rw----. 1 oracle oracle 289M May 20 11:36 o1_mf_annnn_PRDB_INCR_fj2qdwf2_.bkp

I have tried explicitly setting the CHANNEL DEVICE as part of the backup script (immediately before the BACKUP INCREMENTAL line) – this made no difference.

Also maybe related, the location does not seem to match what I am specifying above – /u01/rman/prdb/recovery vs /u01/rman/prdb/rman – this seems to match up with db_recovery_file_dest set in the database:

db_recovery_file_dest            string  /u01/rman/prdb/recovery

but I can't see any options in there that would override the MAXPEICESIZE

To be clear – I'm NOT concerned about the location just the file sizes.

Is there another setting somewhere that I am missing? Do I need to remove the db_recovery_file_dest parameter maybe?

Thanks

Backup summary of the latest backup:

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
1961    Incr 0  29.64G     DISK        00:15:06     20-MAY-18
        BP Key: 1964   Status: AVAILABLE  Compressed: NO  Tag: PRDB_INCR
        Piece Name: /u01/rman/prdb/recovery/PRDB/backupset/2018_05_20/o1_mf_nnnd0_PRDB_INCR_fj2pj8p0_.bkp
  List of Datafiles in backup set 1961
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  1    0  Incr 755820030  20-MAY-18 /home/oracle/app/oracle/oradata/prdb/system01.dbf
  2    0  Incr 755820030  20-MAY-18 /home/oracle/app/oracle/oradata/prdb/users02.dbf
  3    0  Incr 755820030  20-MAY-18 /home/oracle/app/oracle/oradata/prdb/sysaux01.dbf
  4    0  Incr 755820030  20-MAY-18 /home/oracle/app/oracle/oradata/prdb/undotbs01.dbf
  5    0  Incr 755820030  20-MAY-18 /home/oracle/app/oracle/oradata/prdb/example01.dbf
  6    0  Incr 755820030  20-MAY-18 /home/oracle/app/oracle/oradata/prdb/users01.dbf
  7    0  Incr 755820030  20-MAY-18 /data/oracle/app/oracle/oradata/prdb/users03.df
  8    0  Incr 755820030  20-MAY-18 /home/oracle/app/oracle/oradata/prdb/doco_small.dbf
  9    0  Incr 755820030  20-MAY-18 /home/oracle/app/oracle/oradata/prdb/doco_large.dbf
  10   0  Incr 755820030  20-MAY-18 /data/oracle/app/oracle/oradata/prdb/users04.dbf
  19   0  Incr 755820030  20-MAY-18 /data/oracle/app/oracle/oradata/prdb/audi_tbs.dbf

Best Answer

Try removing the MAXPIECESIZE from the configuration of the channel, and use SECTION SIZE 10G on the backup command. The following is working for me:

run {
        backup section size 10g incremental level 0  as compressed backupset archivelog all database;
        delete noprompt obsolete;
}

You may need to set paralellism to > 1:

CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 2;

If that does not solve the problem, please post the output of show all;