Sunday, October 26, 2025

Tuning and Controlling I/O for Oracle RMAN

Are you having trouble with I/O throughput on the network for transferring RMAN backups? How to adjust RMAN phases?

 

How to controlling RMAN pressure:

What is the RATE parameter in Oracle RMAN?


RATE Channel Parameter:

You can use the RATE parameter to set an upper limit for bytes read so that RMAN does not consume excessive disk bandwidth and degrade online performance. Essentially, RATE serves as a backup throttle.

In the ALLOCATE and CONFIGURE CHANNEL commands, the RATE parameter specifies the bytes per second that are read on a channel. For example, if you set RATE 1500K, and if each disk drive delivers 3 megabytes per second, then the channel leaves some disk bandwidth available to the online system.

 

RATE is a channel parameter in RMAN (Recovery Manager) that limits the I/O throughput of that channel — specifically, it sets a maximum data transfer rate for backup, restore, or recovery operations.

It’s expressed in bytes per second (B/s), kilobytes per second (K/s), megabytes per second (M/s), or gigabytes per second (G/s).

 

Syntax

You use it inside the ALLOCATE CHANNEL or CONFIGURE CHANNEL command.

RMAN> ALLOCATE CHANNEL c1 DEVICE TYPE DISK RATE 50M;

This example limits the channel c1 to a maximum of 50 MB/s of I/O throughput.

 

 Why DBA uses the RATE parameter

It’s not for performance tuning, but for I/O throttling and workload control.

Common use cases:

1.      Avoid I/O contention

o    When backups run on a production system during business hours, limiting the rate prevents RMAN from consuming too much disk or network bandwidth.

o    Example: Run incremental backups during daytime with RATE 10M.

2.      Prevent network saturation

o    For tape or network backups, you can throttle backup traffic to avoid impacting other network operations.

3.      Control load on standby or DR sites

o    When restoring or duplicating databases over network links, RATE ensures stable throughput and predictable recovery time.

4.      Testing and Benchmarking

o    DBAs can simulate slower disk or network speeds to test restore performance, or tune parallelism more safely.

 

How RATE interacts with CHANNELS

  • RATE applies per channel, not globally.
  • So, if you have multiple channels, total throughput ≈ RATE × number of channels.

Example:

RUN {

  ALLOCATE CHANNEL c1 DEVICE TYPE DISK RATE 100M;

  ALLOCATE CHANNEL c2 DEVICE TYPE DISK RATE 100M;

  BACKUP DATABASE;

}

→ Total potential throughput ≈ 200 MB/s.

 

Notes:

Behavior

Description

Upper limit only

RATE defines a maximum. RMAN may transfer less if resources are unavailable.

Does not affect compression or encryption CPU time

Only I/O bandwidth is throttled. CPU use for compression/encryption is unaffected.

Use with caution

Over-throttling can unnecessarily increase backup or restore time.

In Data Guard environments

When doing DUPLICATE FROM ACTIVE DATABASE, RATE can control how much redo or backup traffic flows across the network.

  

Example use cases:

Example 1: Controlled Network Restore

RUN {

  ALLOCATE CHANNEL c1 DEVICE TYPE sbt RATE 25M;

  RESTORE DATABASE;

}

→ Useful for restoring over slow network (25 MB/s cap).

Example 2: Configure Default Rate

CONFIGURE CHANNEL DEVICE TYPE DISK RATE 75M;

→ All future channels will inherit this limit automatically.

 

When not to use it

  • High-performance Exadata / Flash-based systems where storage bandwidth is already managed and backups run during low-load windows.
  • When tuning — use parallelism, buffer size (MAXPIECESIZE, FILES PER SET), or BACKUP AS COMPRESSED BACKUPSET instead.

 

Summary:

Parameter

Purpose

Typical Use

RATE

Limits I/O throughput per channel

Control load, avoid I/O or network contention

Default

Unlimited

RMAN uses full available bandwidth

Syntax

ALLOCATE CHANNEL … RATE 50M;

Limits to 50 MB/s per channel

 

Removing the RATE Parameter from Channel Settings

The RATE parameter on a channel is intended to reduce, rather than increase, backup throughput so that more disk bandwidth is available for other database operations. If the backup is not streaming to tape, then confirm that the RATE parameter is not set.

To remove the RATE parameter:

1.      Examine your backup script.

2.      Do one of the following:

·         If the backup is in a RUN command, then remove the RATE parameter, if it is specified, from the ALLOCATE command. Skip the remaining steps.

·         If the backup is not in a RUN command, then start RMAN, connect to the target database, and proceed to the next step.

3.      Execute the SHOW ALL command to show the currently configured settings.

4.      Remove the RATE parameter, if it is set, from the CONFIGURE CHANNEL command.

 

********* Tuning **********  

Throughput Vs. Bandwidth  

Distinction between throughput and bandwidth is critical in understanding and tuning RMAN backup performance. Let’s compare them in the specific context of Oracle RMAN I/O operations (whether disk or tape, or network-based like Data Domain or SBT channels).

Definition and Core Difference

Concept

Definition

Focus

Measurement

Bandwidth

The maximum capacity of a communication or storage path (disk, network, or SAN) to transfer data per unit time.

Capability / limit of path

MB/s or Gb/s

Throughput

The actual data rate achieved during the RMAN backup.

Real performance / achieved transfer

MB/s

 

So,

Bandwidth = Potential,
Throughput = Reality.

 

Example in RMAN Backup Context

Scenario:                                                                                     

  • You back up an Oracle database using RMAN to a NAS target.
  • The network interface is 10 GbE (≈ 1,250 MB/s bandwidth).
  • RMAN reports 400 MB/s backup speed.

Metric

Value

Meaning

Bandwidth

1,250 MB/s

Physical or network channel capacity

Throughput

400 MB/s

Actual RMAN data transfer rate achieved

Utilization

32%

Indicates potential bottlenecks (CPU, disk I/O, RMAN compression, etc.)

 

Factors That Limit Throughput (While Bandwidth is High)

Layer

Possible Limiter

Example

RMAN / CPU

CPU compression overhead

Using BACKUP AS COMPRESSED BACKUPSET

Disk I/O

Slow source or destination disk

Spinning disks or overloaded ASM diskgroup

Channel Parallelism

Too few RMAN channels

e.g. only 1 channel on a 16-core system

Network

Latency or TCP window issues

Especially over WAN

Media Manager (SBT)

Slow tape or DD Boost plugin limits

Deduplication or encryption overhead

OS Buffering

Insufficient I/O buffers

Check LARGE_POOL_SIZE and db_writer_processes impact

 

Be careful that RMAN has 3 Phases and I/O can be bottleneck on any phases:

1.      Read Phase

A channel reads blocks from disk into input I/O buffers.

2.      Copy Phase

A channel copies blocks from input buffers to output buffers and performs additional processing on the blocks.

3.      Write Phase

A channel writes the blocks from output buffers to storage media. The write phase can take either of the following mutually exclusive forms, depending on the type of backup media:

 

How RMAN Reports Throughput

RMAN backup logs show:

channel ORA_DISK_1: backup set complete, elapsed time: 00:02:30

channel ORA_DISK_1: throughput 200 MB/s

This “throughput” is effective transfer speed across all I/O layers combined.

You can also query:

SELECT INPUT_BYTES_DISPLAY, OUTPUT_BYTES_DISPLAY, OUTPUT_BYTES_PER_SEC_DISPLAY FROM V$BACKUP_ASYNC_IO;

to analyze detailed I/O throughput per file.

 

Tuning Goal

  • Bandwidth cannot be increased by RMAN itself (it’s hardware/network capacity).
  • Throughput can be improved by optimizing parallelism, compression, and I/O path efficiency.

 

Quick Tips to Increase RMAN Throughput:

Area

Recommendation

Channels

Use multiple RMAN channels (ALLOCATE CHANNEL or DEVICE TYPE DISK PARALLELISM N, controlling by RATE param)

Compression

Disable compression for performance benchmarking

Buffers

Increase LARGE_POOL_SIZE or use BACKUP_DISK_IO_SLAVES, use Async I/O

ASM/Filesystem

Separate read/write I/O paths

Network

Enable jumbo frames and optimize TCP buffers

Target Device

Use DD Boost or fast disk staging

 

Simple Analogy

Concept

Analogy

Bandwidth

The width of a highway (how many lanes)

Throughput

The number of cars actually passing per second

Bottleneck

A traffic jam (one slow lane blocks others)

  

Summary

Metric

Definition

Controlled By

RMAN Relevance

Bandwidth

Maximum data capacity of I/O path

Hardware / Network

Defines upper limit of backup performance

Throughput

Actual achieved data rate

RMAN + OS + I/O stack

Real indicator of backup efficiency

Goal

Throughput ≈ Bandwidth

Tune RMAN, parallelism, buffers

Optimize backup performance

 

 

********************Alireza Kamrani***********************

No comments:

Post a Comment

Tuning and Controlling I/O for Oracle RMAN

Are you having trouble with I/O throughput on the network for transferring RMAN backups? How to adjust RMAN phases?   How to controlling RMA...