--数据库层面理论估算:
select thread#,sequence#,blocks*block_size/1024/1024 MB,(next_time-first_time)*86400 sec, blocks*block_size/1024/1024/((next_time-first_time)*86400) "MB/s"
from v$archived_log where ((next_time-first_time)*86400<>0) and first_time between to_date('2015/01/15 08:00:00','YYYY/MM/DD HH24:MI:SS') and
to_date('2015/01/15 11:00:00','YYYY/MM/DD HH24:MI:SS') and dest_id=2 order by first_time;
THREAD# SEQUENCE# MB SEC MB/s
---------- ---------- ---------- ---------- ----------
2 2291 29366.1963 831 35.338383
1 2565 29365.6553 781 37.6000708
2 2292 29359.3403 537 54.672887
1 2566 29407.8296 813 36.1719921
2 2293 29389.7012 678 43.3476418
2 2294 29325.2217 1236 23.7259075
1 2567 11407.3379 2658 4.29169973
2 2295 29452.4648 477 61.7452093
2 2296 29359.4458 954 30.7751004
2 2297 29311.3638 586 50.0193921
1 2568 3867.44092 5510 .701894903
使用oracle 工具 oratcptest 直接测试dg 和生产服务器间网络带宽是否满足
---on server
% java -jar oratcptest.jar -server -port=5555
On one of the primary hosts use oratcptest to connect to the server process on the standby host and transfer a fixed amount of data.
For example, if the Data Guard transport will be using ASYNC run a command similar to the following to determine the maximum throughput the network will provide:
---on client:
$ java -jar oratcptest.jar slcc32adm07 -port=5555 -mode=async -duration=10s -interval=2s
[Requesting a test]
Message payload = 1 Mbyte
Payload content type = RANDOM
Delay between messages = NO
Number of connections = 1
Socket send buffer = (system default)
Transport mode = ASYNC
Disk write = NO
Statistics interval = 2 seconds
Test duration = 10 seconds
Test frequency = NO
Network Timeout = NO
(1 Mbyte = 1024x1024 bytes)
(08:08:03) The server is ready.
Throughput
(08:08:05) 113.052 Mbytes/s
(08:08:07) 113.232 Mbytes/s
(08:08:09) 113.198 Mbytes/s
(08:08:11) 113.205 Mbytes/s
(08:08:13) 113.189 Mbytes/s
(08:08:13) Test finished.
Socket send buffer = 528880 bytes
Avg. throughput = 113.140 Mbytes/s
The above example shows that the avg. network throughput of 113MB/sec is sufficient to keep up with the database peak redo rate. If the network throughput is not enough try adjusting the socket send and receive buffer sizes similar to the following: