㈠ 足够的网络带宽是日志传输优化的基础
经验值预算公式:
带宽需求 = 日志产生量/0.7 * 8
注释:
Oracle日志产生是大Byte(即8位)、而网络带宽是小bit(即1位)、所以、1MB=8Mbps
确定日志产生量最简单的办法是收集正常和高峰时段的AWR报告来确定生产库每秒产生的Redo数据量
假如、生产库日志产生速度为3MBps(每秒3M),则网络带宽需要3MB/0.7 * 8 = 34Mbps
也就是说、针对该系统、网络条件至少需要T3/DS-39(带宽能达到44.7Mbps)
㈡ 合理设置Oracle Net的SDU参数
当Oracle Net进行数据传输时、Oracle将数据缓存在SDU(session data unit)内存中
因此、合理增大SDU参数可以显著改进Data Guard日志传输性能
例如、
在sqlnet.ora文件中设置如下的Oracle经验值:
DEFAULT_SDU_SIZE = 32767
在tnsnames.ora中、也可针对单个service name进行如下设置:
sales.us.acme.com=
(DESCRIPTION=
(SDU=32767)
(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.acme.com))
)
在listener.ora文件中、进行如下配置:
SID_LIST_listener_name=
(SID_LIST=
(SID_DESC=
(SDU=32767)
(SID_NAME=sales)))
建议在主库和备库均进行相同的配置、以免在角色却换之后又要进行相同配置调整