You are on page 1of 2

1/9/2017 Document Display

How To Calculate The Required Network Bandwidth Transfer Of Redo In Data Guard
Environments (Doc ID 736755.1)

In this Document

Goal
Solution
The formula used (assuming a conservative TCP/IP network overhead of 30%) for calculating the network bandwidth
is :

Measuring the Peak Redo Rate


Example:

APPLIES TO:

Oracle Database - Enterprise Edition - Version 9.0.1.0 and later


Information in this document applies to any platform.

GOAL

Goal is to transfer and apply redo as fast as possible in a Data Guard environment. To achieve this we have to calculate
the required network bandwidth based on the redo generation rate on the primary database.

SOLUTION

The formula used (assuming a conservative TCP/IP network overhead of 30%) for calculating the network
bandwidth is :

Required bandwidth = ((Redo rate bytes per sec. / 0.75) * 8) / 1,000,000 = bandwidth in Mbps

Measuring the Peak Redo Rate

Use the Oracle Statspack utility for an accurate measurement of the redo rate.

Based on your business you should have a good idea as to what your peak periods of normal
business activity are. For example, you may be running an online store which historically sees
the peak activity for 4 hours every Monday between 10:00 am - 2:00 pm. Or, you may be running a
merchandising database which batch-loads a new catalog every Thursday for 2 hours between 1 am
- 3 am. Note that we say "normal" business activity - this means that in certain days of the
year you may witness much heavier business volume than usual, e.g. the 2-3 days before Mother's
Day or Valentine's Day for an online florist business. Just for those days, perhaps you may
allocate higher bandwidth than usual, and you may not consider those as "normal" business
activity.However, if such periodic surges of traffic are regularly expected as part of your
business operations, you must consider them in your redo rate calculation.

During the peak duration of your business, run a Statspack snapshot at periodic intervals. For
example, you may run it three times during your peak hours, each time for a five-minute
duration. The Statspack snapshot report will include a "Redo size" line under the "Load
Profile" section near the beginning of the report. This line includes the "Per Second" and "Per
Transaction" measurements for the redo size in bytes during the snapshot interval. Make a note
of the "Per Second" value. Take the highest "Redo size" "Per Second" value of these three
snapshots, and that is your peak redo generation rate.

Note that if your primary database is a RAC database, you must run the Statspack snapshot on
every RAC instance. Then, for each Statspack snapshot, sum the "Redo Size Per Second" value of
each instance, to obtain the net peak redo generation rate for the primary database. Remember
that for
a RAC primary database, each node generates its own redo and independently sends that redo to
the standby database - hence the reason to sum up the redo rates for each RAC node, to obtain
the net peak redo rate for the database.

As an Alternative you can also get the 'Redo rate bytes per sec.' from V$SYSMETRIC_HISTORY, eg.
https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=w1eyz6w0g_9 1/2
1/9/2017 Document Display
As an Alternative you can also get the 'Redo rate bytes per sec.' from V$SYSMETRIC_HISTORY, eg.
SQL> select * from v$sysmetric_history where metric_name = 'Redo Generated Per Sec';
or in a RDA-Output:
Performance - AWR Report - Statistic: "redo size"

Example:

Let us assume the redo rate is a 500 KB/sec.

Required bandwidth = ((Redo rate bytes per sec. / 0.75) * 8) / 1,000,000 = bandwidth in Mbps
Required bandwidth = ((512000/0.75) * 8) /1,000,000
Required bandwidth = 5.46 Mbps

Also see

Data Guard Redo Transport & Network Configuration

And

Measuring Network Capacity using oratcptest (Doc ID 2064368.1)

for further Hints and Best Practices to setup the Network for Data Guard Log Transport Services

Didn't find what you are looking for?

https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=w1eyz6w0g_9 2/2

You might also like