Admin

Oracle Peoplesoft

Oracle RMAN Level 0/1 Incremental Backup to NFS with BCT

Learn Oracle RMAN Level 0/1 incremental backup with block change tracking to NFS. Optimize your database backups for speed and storage efficiency.

By Someshwar ThakurPublished: July 27, 202615 min read13 views✓ Fact Checked
Oracle RMAN Level 0/1 Incremental Backup to NFS with BCT
Oracle RMAN Level 0/1 Incremental Backup to NFS with BCT

Overview: Mastering Oracle RMAN Incremental Backups with Block Change Tracking to NFS for PeopleSoft Environments

In the intricate world of enterprise resource planning, Oracle PeopleSoft applications stand as pillars supporting critical business operations. The data underpinning these systems – ranging from human capital management to financial records – is invaluable. Consequently, a robust, efficient, and reliable backup and recovery strategy is not merely a best practice; it is a fundamental requirement for business continuity. Oracle's Recovery Manager (RMAN) provides the sophisticated toolkit necessary for this task, and when combined with incremental backups, Block Change Tracking (BCT), and Network File System (NFS) storage, it forms an exceptionally powerful and agile data protection solution.

Traditional full backups, while comprehensive, can be time-consuming and resource-intensive, especially for multi-terabyte PeopleSoft databases that often experience continuous transactional activity. This is where incremental backups shine. Instead of backing up the entire database every time, incremental backups capture only the changes made since a previous backup, drastically reducing backup windows and storage requirements. RMAN offers two types of incremental backups: Level 0 (a full backup acting as the base) and Level 1 (which captures only changed blocks).

The efficiency of Level 1 incremental backups is further amplified by Oracle's Block Change Tracking (BCT) feature. Without BCT, RMAN would have to scan every data block in the database to identify changes, a process that can be nearly as slow as a full backup itself. BCT, however, maintains a small, persistent file that records the physical locations of data blocks modified since the last incremental backup. This means RMAN can quickly identify and back up only the necessary blocks, transforming incremental backups from a potentially lengthy scan to a lightning-fast read of the BCT file, followed by a targeted backup of changed data.

For the destination of these backups, Network File System (NFS) provides a flexible, scalable, and often cost-effective solution. NFS allows the database server to mount a remote file system over the network, making it appear as a local directory. This enables centralized backup storage, simplifies management, and can facilitate disaster recovery strategies by decoupling backup storage from the database server's local disks. The combination of RMAN's intelligent backup capabilities, BCT's performance boost, and NFS's storage flexibility creates a highly optimized backup architecture ideal for demanding PeopleSoft environments.

This article, penned from the perspective of a seasoned technologist at TechNews Venture, will guide you through the detailed implementation of Oracle RMAN Level 0/1 incremental backups with Block Change Tracking to an NFS target. We will cover prerequisites, step-by-step configuration, practical RMAN commands, crucial security considerations, and essential best practices to ensure your PeopleSoft data remains protected, recoverable, and accessible.

Prerequisites

Before embarking on the implementation, ensure the following prerequisites are met to guarantee a smooth and successful setup:

  • Oracle Database Version: Oracle Database 11g Release 2 (11.2) or higher is recommended. While Block Change Tracking was introduced in 10g, its stability and features are significantly enhanced in later versions. This guide assumes an Oracle 19c database, common for modern PeopleSoft deployments.
  • Database Mode: The Oracle database must be running in ARCHIVELOG mode. This is absolutely critical for performing consistent online backups and point-in-time recovery. If your database is not in ARCHIVELOG mode, you will need to enable it, which typically requires a database restart.
  • RMAN Configuration: RMAN is an integral part of the Oracle database software. Ensure your RMAN environment is correctly configured and accessible from the database server.
  • NFS Server: A properly configured and accessible NFS server is required. This server should have sufficient storage capacity to accommodate your backup retention policy. The NFS export should be configured to allow read/write access from the Oracle database server's IP address or hostname.
  • Network Connectivity: Ensure robust network connectivity between your Oracle database server and the NFS server. Latency and bandwidth can significantly impact backup performance.
  • Operating System User Permissions: The Oracle operating system user (e.g., oracle) on the database server must have read and write permissions to the NFS mounted directory.
  • Sufficient Disk Space:
    • On the database server, for the Block Change Tracking file (typically a few hundred MB to a few GB, depending on database size and activity).
    • On the NFS server, for storing the Level 0 and Level 1 backup sets, plus archived redo logs.
  • Database SID and Credentials: Knowledge of your Oracle database SID (e.g., PSPROD) and appropriate SYSDBA credentials for RMAN operations.

Step-by-Step Implementation

1. Verify ARCHIVELOG Mode and Enable Flashback Database (Recommended)

First, confirm that your PeopleSoft database is in ARCHIVELOG mode. This is non-negotiable for robust RMAN backups and point-in-time recovery.


sqlplus / as sysdba

SQL> SELECT log_mode FROM v$database;

If the result is NOARCHIVELOG, you must switch modes. This requires a database restart:


SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;

Enabling Flashback Database, while not strictly required for incremental backups, is highly recommended as it provides an additional layer of recovery capability, allowing you to quickly revert the database to a previous point in time without a full restore. It works hand-in-hand with RMAN and BCT.


-- Set flashback retention target (e.g., 24 hours = 1440 minutes)
SQL> ALTER SYSTEM SET db_flashback_retention_target=1440 SCOPE=BOTH;

-- Ensure an appropriate Fast Recovery Area (FRA) is configured
SQL> ALTER SYSTEM SET db_recovery_file_dest='/u01/app/oracle/fast_recovery_area' SCOPE=BOTH;
SQL> ALTER SYSTEM SET db_recovery_file_dest_size='100G' SCOPE=BOTH;

-- Enable Flashback Database
SQL> ALTER DATABASE FLASHBACK ON;

2. Enable Block Change Tracking

Enabling BCT is a one-time operation that creates a change tracking file. This file records changed block locations, significantly speeding up incremental backups. The location for the BCT file should be on a fast, local disk, ideally separate from your data files.


sqlplus / as sysdba

SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '/u01/app/oracle/oradata/PSPROD/bct_psprod.bct';

Verify that Block Change Tracking is enabled:


SQL> SELECT status, filename FROM v$block_change_tracking;

Expected output:


STATUS  FILENAME
------- --------------------------------------------------------------------------------
ENABLED /u01/app/oracle/oradata/PSPROD/bct_psprod.bct

3. Configure NFS Mount on Database Server

The NFS server must be configured to export a directory, and the database server must mount this directory. We'll assume the NFS server's hostname is nfsserver.example.com and it exports `/exports/rman_backups`.

On the NFS Server (e.g., Linux):

Edit `/etc/exports` and add an entry similar to this. Ensure the IP address of your Oracle DB server is permitted.


/exports/rman_backups 192.168.1.101(rw,sync,no_root_squash,no_subtree_check)

Apply the changes:


sudo exportfs -a
sudo systemctl restart nfs-server

On the Oracle Database Server (e.g., Linux):

Create a mount point and mount the NFS share. It's crucial that the oracle user has write permissions to this directory.


sudo mkdir -p /u02/rman_backups/psprod
sudo chown -R oracle:oinstall /u02/rman_backups
sudo chmod -R 775 /u02/rman_backups

Mount the NFS share temporarily:


sudo mount -t nfs nfsserver.example.com:/exports/rman_backups /u02/rman_backups/psprod

For persistent mounting across reboots, add an entry to `/etc/fstab`. Use appropriate NFS mount options for database backups to ensure data integrity and performance. Options like `hard`, `intr`, `bg`, `timeo`, and `retrans` are generally recommended.


nfsserver.example.com:/exports/rman_backups /u02/rman_backups/psprod nfs defaults,hard,intr,rw,bg,timeo=600,retrans=2 0 0

Test the fstab entry:


sudo mount -a
df -h /u02/rman_backups/psprod

Verify the Oracle user can write to the directory:


su - oracle
touch /u02/rman_backups/psprod/test_file.txt
rm /u02/rman_backups/psprod/test_file.txt
exit

4. Perform Level 0 Backup (Full Baseline)

The Level 0 backup is a full backup and serves as the baseline for all subsequent incremental backups. It's typically performed once initially, and then periodically (e.g., weekly or monthly) depending on your recovery objectives and database change rate. We will use RMAN's `COMPRESSED BACKUPSET` feature to save space and `PLUS ARCHIVELOG DELETE INPUT` to include archived redo logs and automatically delete them after successful backup.


rman target /

RUN {
  CONFIGURE CONTROLFILE AUTOBACKUP ON;
  CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u02/rman_backups/psprod/cf_autobackup_%F';
  CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; # Or TO REDUNDANCY 1
  CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/u02/rman_backups/psprod/level0_full_%U';

  ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
  ALLOCATE CHANNEL c2 DEVICE TYPE DISK;
  
  BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL 0 DATABASE PLUS ARCHIVELOG DELETE INPUT;
  
  RELEASE CHANNEL c1;
  RELEASE CHANNEL c2;
}

Explanation of RMAN commands:

  • CONFIGURE CONTROLFILE AUTOBACKUP ON;: Ensures the control file and SPFILE are automatically backed up whenever the database structure changes or a backup is taken. Critical for recovery.
  • CONFIGURE CONTROLFILE AUTOBACKUP FORMAT...: Specifies the naming convention and location for control file autobackups.
  • CONFIGURE RETENTION POLICY...: Defines how long backups are kept. A recovery window of 7 days means RMAN will ensure you can recover to any point within the last 7 days.
  • CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT...: Sets a default format for backup pieces for disk backups.
  • ALLOCATE CHANNEL...: Defines channels for RMAN to use. Multiple channels allow parallelization of the backup process.
  • BACKUP AS COMPRESSED BACKUPSET...: Specifies to create compressed backup sets.
  • INCREMENTAL LEVEL 0 DATABASE: Performs a full database backup as the base for incremental strategy.
  • PLUS ARCHIVELOG DELETE INPUT: Backs up all archived redo logs and then deletes them from the disk after successful backup. This helps manage FRA space.

After the backup, verify its existence and status:


LIST BACKUP SUMMARY;
LIST BACKUP OF DATABASE;

5. Perform Level 1 Incremental Backup

Once the Level 0 baseline is established, you can perform daily (or more frequent) Level 1 incremental backups. With Block Change Tracking enabled, these backups will be significantly faster as RMAN only needs to read the BCT file to identify changed blocks.

There are two types of Level 1 incremental backups:

  • Differential (default): Backs up all blocks that have changed since the most recent Level 0 or Level 1 backup.
  • Cumulative: Backs up all blocks that have changed since the most recent Level 0 backup. Cumulative backups are larger but simplify recovery by requiring only the Level 0 and the latest Level 1 cumulative backup. For PeopleSoft, where recovery speed is paramount, cumulative is often preferred.

We'll demonstrate a Level 1 Cumulative backup:


rman target /

RUN {
  ALLOCATE CHANNEL c1 DEVICE TYPE DISK FORMAT '/u02/rman_backups/psprod/level1_incr_%U';
  ALLOCATE CHANNEL c2 DEVICE TYPE DISK FORMAT '/u02/rman_backups/psprod/level1_incr_%U';
  
  BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL 1 CUMULATIVE DATABASE PLUS ARCHIVELOG DELETE INPUT;
  
  DELETE NOPROMPT OBSOLETE; # Apply retention policy to delete old backups
  
  RELEASE CHANNEL c1;
  RELEASE CHANNEL c2;
}

Verify the incremental backup:


LIST BACKUP SUMMARY;
LIST BACKUP OF DATABASE;

You should see new Level 1 backup pieces listed. The `DELETE NOPROMPT OBSOLETE;` command is crucial for managing disk space by removing backups that are no longer needed according to your configured retention policy.

6. Scheduling Backups with Cron

Automate your RMAN backups using a cron job. Create a shell script (e.g., `/u01/app/oracle/admin/PSPROD/scripts/rman_level1_backup.sh`) that calls RMAN with your backup commands.


#!/bin/bash
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export ORACLE_SID=PSPROD
export PATH=$ORACLE_HOME/bin:$PATH

LOG_FILE="/u01/app/oracle/admin/PSPROD/logs/rman_level1_backup_$(date +\%Y\%m\%d).log"
RMAN_SCRIPT="/u01/app/oracle/admin/PSPROD/scripts/rman_level1_backup.cmd"

$ORACLE_HOME/bin/rman target / cmdfile $RMAN_SCRIPT log $LOG_FILE

# Add error checking and notification logic here if needed

And your RMAN command file (`/u01/app/oracle/admin/PSPROD/scripts/rman_level1_backup.cmd`):


RUN {
  ALLOCATE CHANNEL c1 DEVICE TYPE DISK FORMAT '/u02/rman_backups/psprod/level1_incr_%U';
  ALLOCATE CHANNEL c2 DEVICE TYPE DISK FORMAT '/u02/rman_backups/psprod/level1_incr_%U';
  BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL 1 CUMULATIVE DATABASE PLUS ARCHIVELOG DELETE INPUT;
  DELETE NOPROMPT OBSOLETE;
  RELEASE CHANNEL c1;
  RELEASE CHANNEL c2;
}

Make the shell script executable:


chmod +x /u01/app/oracle/admin/PSPROD/scripts/rman_level1_backup.sh

Add an entry to the `oracle` user's crontab (`crontab -e`) for daily execution (e.g., at 10 PM):


0 22 * * * /u01/app/oracle/admin/PSPROD/scripts/rman_level1_backup.sh > /dev/null 2>&1

For weekly Level 0 backups, you'd have a separate script and cron entry (e.g., every Sunday at 1 AM):


0 1 * * 0 /u01/app/oracle/admin/PSPROD/scripts/rman_level0_backup.sh > /dev/null 2>&1

7. Basic Recovery Simulation (Conceptual)

While a full recovery scenario is beyond the scope of a backup article, it's essential to understand how RMAN leverages these backups. If your database were to crash, RMAN would automatically identify the necessary Level 0, Level 1, and archived redo logs to perform a point-in-time recovery using the BCT information for efficient block identification.


rman target /

-- To see what RMAN would do for a restore
RESTORE DATABASE PREVIEW;

-- To restore the database
RESTORE DATABASE;

-- To recover the database (apply archived logs and incremental changes)
RECOVER DATABASE;

-- Open the database
ALTER DATABASE OPEN;

Security Considerations

Securing your backups is as critical as taking them. A compromised backup is as good as no backup at all. For PeopleSoft data, this is paramount.

  • NFS Export Security:
    • Restrict NFS exports to specific IP addresses of your Oracle database servers. Avoid using wildcards.
    • Use the `no_root_squash` option carefully. While it can simplify permissions, it also means root on the client has root privileges on the NFS share. Ensure your database server is highly secured.
    • Use `rw` for read-write access, but ensure `sync` is used for data integrity.
  • Network Security:
    • Isolate the backup network segment. Use dedicated VLANs or subnets for backup traffic.
    • Implement firewall rules to only allow NFS traffic (port 2049) between the database server and the NFS server.
    • Consider using VPN or IPsec for encrypting NFS traffic if it traverses untrusted networks.
  • Operating System Permissions:
    • Ensure the Oracle OS user has only the necessary read/write permissions on the NFS mount point. Avoid `777` permissions.
    • Limit shell access for the Oracle user to only what's required for database operations and backups.
  • Backup Encryption:
    • RMAN Transparent Data Encryption (TDE): For Oracle Enterprise Edition, RMAN can encrypt backup sets directly. This is the strongest method as data is encrypted before leaving the database.
      
                      CONFIGURE ENCRYPTION ALGORITHM 'AES256';
                      CONFIGURE ENCRYPTION FOR DATABASE ON;
                      
      Then, backups will be encrypted automatically.
    • Operating System-level Encryption: Encrypt the NFS volume or the underlying storage on the NFS server.
  • Access Control: Restrict who can access the backup files on the NFS server. Implement strong access controls and audit trails on the NFS share itself.
  • Physical Security: Ensure the NFS server and its storage are physically secure.

Best Practices

To maximize the effectiveness and reliability of your RMAN incremental backup strategy, consider these best practices:

  • Regularly Test Recoveries: The most critical best practice. Periodically perform full database recoveries to a separate test environment using your backups. This validates your backup strategy, recovery procedures, and ensures you can meet your Recovery Time Objectives (RTO).
  • Monitor Backup Jobs:
    • Review RMAN log files daily for errors or warnings.
    • Monitor `v$rman_status` and `v$session_longops` for ongoing backup operations.
    • Implement alerting for backup failures.
  • Optimize Retention Policy:
    • Configure RMAN's retention policy (RECOVERY WINDOW or REDUNDANCY) carefully based on your Recovery Point Objectives (RPO) and storage capacity.
    • Regularly run `DELETE OBSOLETE` to reclaim space.
  • Validate Backups:
    • Use `VALIDATE DATABASE` or `RESTORE DATABASE PREVIEW` commands to check the integrity of your backup sets without actually performing a restore.
    • `VALIDATE BACKUPSET ;` or `VALIDATE DATABASE SECTION SIZE 10G;` (for large databases).
  • Offsite Copies: For disaster recovery, ensure your backup sets on the NFS server are replicated to an offsite location or another NFS share in a different data center. RMAN can duplicate backups directly.
  • Control File and SPFILE Backup: Always ensure `CONTROLFILE AUTOBACKUP ON` is configured. These are vital for database recovery.
  • Performance Tuning:
    • Multiple Channels: Allocate multiple RMAN channels (as shown in examples) to parallelize backup operations.
    • Compression: Utilize `AS COMPRESSED BACKUPSET` to reduce backup size and network traffic, especially for NFS. Oracle's ZLIB or BZIP2 compression algorithms are good choices, or the faster `LOW` compression for 12c+ databases.
    • Section Size: For very large data files, use `SECTION SIZE` in your backup command to break a single data file backup into multiple pieces, enabling parallel processing across channels and making large file backups more resilient to failures.
      
                      BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL 0 DATABASE SECTION SIZE 30G PLUS ARCHIVELOG DELETE INPUT;
                      
    • NFS Mount Options: Fine-tune NFS mount options (`rsize`, `wsize`, `noatime`, `async`) for optimal performance, though `sync` is often preferred for data integrity.
  • Document Your Strategy: Maintain clear documentation of your backup strategy, RMAN scripts, recovery procedures, and contact information.

Frequently Asked Questions (FAQ)

Q1: What is the primary advantage of using Block Change Tracking for incremental backups?

The primary advantage of Block Change Tracking (BCT) is significantly faster incremental backups. Without BCT, RMAN must scan every data block in the database to identify which blocks have changed since the last backup. This process can be very I/O intensive and time-consuming. With BCT enabled, Oracle maintains a small, persistent change tracking file that records the physical locations of all blocks modified since the last incremental backup. RMAN then only needs to read this small file to identify the changed blocks, allowing it to go directly to those blocks and back them up, drastically reducing the time and resources required for incremental backups.

Q2: Can I use different types of Level 1 incremental backups (differential vs. cumulative) in my strategy?

Yes, you can. RMAN allows you to mix and match. A common strategy for PeopleSoft environments is to perform a Level 0 backup weekly, followed by daily Level 1 cumulative backups. A Level 1 cumulative backup captures all changes since the last Level 0, making recovery simpler as it only requires the Level 0 and the latest Level 1 cumulative backup. A Level 1 differential backup, on the other hand, captures changes since the most recent Level 0 or Level 1 backup, potentially making the backup smaller but requiring RMAN to apply more backup sets during recovery. For most PeopleSoft systems, the simplicity and faster recovery of cumulative backups often outweigh

📧

Enjoyed this article?

Get articles like this delivered to your inbox daily. Join 10,000+ tech professionals.

Written By

Someshwar Thakur

PS Admin, Cloud Architect, DBA

Sources & References

• Official company announcements and press releases

• Industry reports from Gartner, IDC, and Statista

• Peer-reviewed research and technical documentation

• On-record statements from industry experts

Last verified: July 27, 2026

Fact-checked by TechNews Venture editorial team

Leave a Comment

Comments are moderated and will appear after review.