Multisection Backup in Oracle Recovery Manager (RMAN) is a feature that virtually divides a single, massive data file into multiple “sections” and backs them up in parallel using multiple channels.
Normally, a single data file can only be processed by one channel at a time. However, by using this feature, you can dramatically reduce backup times even for databases containing terabyte-scale data files.
1. What is Multisection Backup? (Basic Mechanism)
It divides a large data file based on a specified size (SECTION SIZE) and writes each part in parallel as separate backup pieces.
Benefits
- Faster Backups: Enables simultaneous processing of massive files (such as Bigfile tablespaces) across multiple channels, shortening execution time.
- Effective Resource Utilization: Maximizes the use of CPU and storage I/O bandwidth through parallel processing.
- Load Balancing: Improves throughput by avoiding I/O concentration on specific disks.
2. Prerequisites and Constraints
Before implementing multisection backups, please verify the following conditions:
- Supported Versions: Oracle Database 11g Release 2 (11.2.0.2) and later.
- File Size: The target data file must be larger than the specified
SECTION SIZE. - Backup Format: Must be in Backupset format (though Image Copies are supported from 12c onwards, this article focuses on standard backup sets).
- Storage: Available for both Disk (
DISK) and Tape (SBT) devices.
3. Configuration and Execution Examples
Implementation is very simple; just add the SECTION SIZE clause to your standard backup command.
3.1 Applying to the Entire Database
Attempts to perform split backups for all files in the database in 500MB increments.
# Backup by dividing sections every 500MB
RMAN> BACKUP AS BACKUPSET DATABASE SECTION SIZE 500M;
3.2 Applying Only to Specific Large Data Files
Specify a specific file number (e.g., File 1) and divide it into 1GB increments.
# Divide Datafile 1 into 1GB sections
RMAN> BACKUP AS BACKUPSET DATAFILE 1 SECTION SIZE 1G;
3.3 Combination with Parallel Channels (ALLOCATE)
To realize the true value of multisection backups, setting up parallel channels is essential.
# Manually allocate 2 channels and execute in parallel
RMAN> RUN {
ALLOCATE CHANNEL ch1 DEVICE TYPE DISK;
ALLOCATE CHANNEL ch2 DEVICE TYPE DISK;
BACKUP AS BACKUPSET DATABASE SECTION SIZE 1G;
}
Note: Sections will be processed simultaneously up to the number specified in ALLOCATE CHANNEL (2 in the example above).
4. Verifying Backup Execution Status
You can verify whether the backup is being split as intended using RMAN commands or dynamic performance views.
Verification in RMAN
# Display backup summary
RMAN> LIST BACKUP SUMMARY;
Detailed Verification via SQL (V$ Views)
This is useful for checking the detailed writing status for each section.
-- SQL to check backup set details
SELECT
SET_STAMP,
SET_COUNT,
PIECE#,
DEVICE_TYPE,
COMPRESSED,
SECTION_SIZE
FROM V$BACKUP_SET_DETAILS
ORDER BY SET_STAMP DESC;
If a value is present in the SECTION_SIZE column of the execution results, it indicates the backup was processed as a multisection backup.
5. Operational Considerations and Best Practices
- Optimal Section Size Setting: If the size is too small, the number of backup pieces becomes enormous, increasing management overhead (and bloating the control file). Conversely, if it is too large, the effects of parallelization cannot be achieved.
- Balance with Channel Count: Even if you divide sections into more parts than the
PARALLELISMsetting or the number ofALLOCATE CHANNELcommands, the number of concurrent tasks depends on the available channels. - Automatic Skipping: If a data file is smaller than the
SECTION SIZE, RMAN backs up that file normally without splitting it. This does not result in an error. - Notes for Tape (SBT) Usage: For tape devices, section splitting may cause multiplexing, which could impact restore speeds. Pre-verification is recommended.
FAQ: Frequently Asked Questions
Q: Can I use multisection backup in Standard Edition 2 (SE2)? A: The feature itself is available, but since SE2 limits the number of RMAN parallel channels to “1,” concurrent processing will not occur, and the benefits of acceleration will be limited.
Q: Why isn’t my backup being split even though I specified SECTION SIZE? A: Check if the data file size is smaller than the SECTION SIZE or if the backup format is set to AS COPY (in the case of 11g).
Q: Do I need to specify SECTION SIZE during a restore? A: No. Since RMAN manages the backup metadata, sections are automatically integrated and restored using the standard RESTORE command.
Summary
- Multisection Backup is a feature that splits large data files for parallel processing.
- It can be used simply by adding the
SECTION SIZEclause to the backup command. - By appropriately setting the number of parallel channels, backup times can be significantly reduced.
- This is an essential technique for environments running large-capacity Bigfile tablespaces.
This article is based on Oracle Database 19c (screens and default values may differ in other versions).
[reference]
Oracle Database Backup and Recovery Reference, 19c


コメント