oracle的主从复制技术ADG,Oracle 白皮书 ADG 异步复制技术 PDF 下载

主要内容:

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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值