失效链接处理 |
Oracle 白皮书 ADG 异步复制技术 PDF 下载
本站整理下载:
提取码:lf80
相关截图:
![]()
主要内容:
Configuration Best Practices
The following MAA best practices are designed to minimize the performance impact of configuring Data Guard
asynchronous redo transport to achieve near-zero data loss protection for a production database.
Set TCP Socket Buffer Size to 3 x BDP
For optimal network throughput the minimum recommended settings for TCP send and receive socket buffer sizes is
a value equal to the bandwidth-delay product (BDP) of the network link between the primary and standby systems.
Settings higher than the BDP may also yield incremental improvement. For example, MAA tests simulating highlatency, high-bandwidth networks continued to realize small, incremental increases in throughput as TCP send and
receive socket buffer settings were increased to 3xBDP.
BDP is product of the network bandwidth and latency. Socket buffer sizes are set using the Oracle Net parameters
RECV_BUF_SIZE and SEND_BUF_SIZE, so that the socket buffer size setting affects only Oracle TCP
connections. The operating system may impose limits on the socket buffer size that must be adjusted so Oracle can
use larger values. For example, on Linux, the parameters net.core.rmem_max and net.core.wmem_max limit the
socket buffer size and must be set larger than RECV_BUF_SIZE and SEND_BUF_SIZE.
For example, if bandwidth is 622 Mbits and latency is 30 ms, then you would calculate the minimum size for the
RECV_BUF_SIZE and SEND_BUF_SIZE parameters as follows:
Bandwidth Delay Product (BDP) = bandwidth x latency
BDP = 622,000,000 (bandwidth) / 8 x 0.030 (latency) = 2,332,500 bytes.
Given this example the optimal send and receive socket buffer sizes are calculated as follows:
Socket buffer size = 3 x BDP
= 2,332,500 (BDP) x 3
= 6,997,500 bytes
The size of the socket buffers can be set at the operating system level or at the Oracle Net level. As socket buffer
size requirements can become quite large (depending on network conditions) it is recommended to set them at the
Oracle Net level so that normal TCP sessions, such as telnet, do not use additional memory. Please note that some
operating systems have parameters that set the maximum size for all send and receive socket buffers. You must
ensure that these values have been adjusted to allow Oracle Net to use a larger socket buffer size.
With Oracle Net you can set the send and receive socket buffer sizes globally for all connections using the following
parameters in the sqlnet.ora:
RECV_BUF_SIZE=6997500
SEND_BUF_SIZE=6997500
3 | BEST PRACTICES FOR SYNCHRONOUS REDO TRANSPORT
4 | BEST PRACTICES FOR SYNCHRONOUS REDO TRANSPORT
If you only want the larger buffer sizes for the connections associated with Data Guard transport then we
recommend you configure RECV_BUF_SIZE and SEND_BUF_SIZE in the Oracle Net alias used for transport as
well as in the listener on the standby host. The following shows an example of the send and receive socket buffer
size being set as a description attribute for a particular connect descriptor:
standby =
(DESCRIPTION=
(SEND_BUF_SIZE=6997500)
(RECV_BUF_SIZE=6997500)
(ADDRESS=(PROTOCOL=tcp)
(HOST=stby_host)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=standby)))
The socket buffer sizes must be configured the same for all databases within a Data Guard configuration. On a
standby side or the receiving side this can be accomplished within either the sqlnet.ora or listener.ora file. In the
listener.ora file, you can either specify the buffer space parameters for a particular protocol address or for a
description.
LISTENER =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)
(HOST=stby_host)(PORT=1521)
(SEND_BUF_SIZE=9375000)
(RECV_BUF_SIZE=9375000)))
Configure Standby Redo Logs
Online redo logs and standby redo logs should use redo log size = 4GB or redo log size >= peak redo rate/minute x
20 minutes. To extract peak redo rates, please refer to AWR reports during peak workload periods such as batch
processing, quarter or year end processing. It is very important to use peak workload and not averages (averages
can obscure peak redo rates and lead to provisioning too small of a redo log). Table 2 provides a quick mapping of
redo-rate to the minimum recommended redo log size:
TABLE 2: RECOMMENDED REDO LOG SIZE
Peak redo rate according to EM or AWR reports Recommended redo log group size
<= 5 MB/sec 4 GB
<= 25 MB/sec 16 GB
<= 50 MB/sec 32GB
> 50 MB/sec 64 GB
Once the online redo logs have been appropriately sized you should create standby redo logs of the same size. It is
critical for performance that standby redo log groups only contain a single member. In addition, for each redo
log thread (a thread is associated with an Oracle RAC database instance), the number of Standby Redo Logs =
number of Redo Log Groups + 1.
The additional standby redo log eliminates the possibility of a standby database waiting on standby redo log. For
example, if a primary database has two instances (threads) and each thread has three online log groups, then you
should pre-configure 8 standby redo logs on the primary database and each standby database. Furthermore, if the
primary or standby databases are not symmetrical Real Application Clusters (e.g. an 8-node primary Oracle RAC
cluster and a 2-node standby Oracle RAC cluster), then the primary and standby databases should have an equal
number of standby redo logs (based upon the largest cluster in the configuration) and all threads should be
represented. The size of the standby redo logs must always be exactly the same size as the online redo logs on the
primary.
|