The maximum
backup speed is limited by the available hardware. It is not possible to back
up any faster than the aggregate tape bandwidth. One exception to this is if
there are many empty blocks in the data files that need not be backed up.
One of the
components of the backup system will be a bottleneck—which one depends on the
relative speeds of the disk, tape drive, and any other transport components
such as the network. As an example, if the bottleneck is the tape drive, and
the tape is streaming, then the backup cannot possibly proceed any faster.
Note: If you have synchronous I/O and
have set the BACKUP_DISK_IO_SLAVES initialization parameter to TRUE, I/O is
displayed in V$BACKUP_ASYNC_IO.
Asynchronous
I/O Bottlenecks
You can use
V$BACKUP_ASYNC_IO to monitor asynchronous I/O. The LONG_WAITS column shows the
number of times the backup or restore process directed the operating system to
wait until an I/O was complete. The SHORT_WAITS column shows the number of
times the backup/restore process made an operating system call to poll for I/O
completion in a nonblocking mode. On some platforms, the asynchronous I/O
implementation may cause the calling process to wait for the I/O to complete
while performing a nonblocking poll for I/O.
The
simplest way to identify the bottleneck is to query V$BACKUP_ASYNC_IO for the
data file that has the largest ratio for LONG_WAITS divided by IO_COUNT.
Synchronous
I/O Bottlenecks
When using
synchronous I/O, it can easily be determined how much time the backup jobs
require because devices perform only one I/O task at a time. Oracle I/O uses a
polling mechanism rather than an interrupt mechanism to determine when each I/O
request completes. Because the backup or restore process is not immediately
notified of I/O completion by the operating system, you cannot determine the
duration of each I/O.
Use
V$BACKUP_SYNC_IO to determine the source of backup or restore bottlenecks and
to determine the progress of backup jobs. V$BACKUP_SYNC_IO contains rows when
the I/O is synchronous to the process (or thread, on some platforms) that is
performing the backup.