最准方法是查vsysmetric_history取最近1小时最大值,RAC需各实例分别查后求和;带宽计算按传输模式选系数(ASYNC用0.7、SYNC用0.75),注意单位换算、压缩比及TCP缓冲区优化。怎么看当前Redo生成速率?别只信AWR报告头直接查 vsysmetric_history 最准,尤其在业务高峰时段------awr报告里的"redo size per second"是采样均值,容易掩盖瞬时峰值。比如某次快照间隔15分钟,但真实压力集中在最后2分钟,均值就失真了。执行 SELECT MAX(value) FROM v$sysmetric_history WHERE metric_name = 'Redo Generated Per Sec',取最近1小时最大值(单位:bytes/sec)如果是RAC环境,必须对每个实例分别查,再求和;不能只看全局视图或DBA_HIST_SYSMETRIC_SUMMARY如果数据库版本 ≥ 11.1.0.6,建议配合 oratcptest 工具实测网络吞吐,避免理论带宽和实际可用带宽脱节带宽公式里那个0.7或0.75,到底该用哪个?不是选题,是看传输模式:异步传输(ASYNC)按0.7算,同步传输(SYNC)按0.75更稳妥。因为SYNC模式下LNS进程要等TCP确认,重传和延迟更高,网络开销实际更大。通用公式:((Redo_bytes_per_sec / 0.7) * 8) / 1000000 → 单位Mbps(保守起见,多数场景用这个)若主备间启用了 REDO_COMPRESSION=ENABLE,可先乘以压缩比(实测通常0.4~0.6),再代入公式,但注意压缩会增加CPU负载别漏掉单位换算:Redo速率是字节/秒(B/s),带宽是兆比特/秒(Mbps),必须 ×8;除以1000000而非1024×1024,运营商和交换机都按十进制计为什么按公式算了带宽,传输还是卡在30%?常见真凶不是带宽不够,而是TCP缓冲区太小或网卡队列溢出。Linux默认 net.core.wmem_max 往往只有256KB,而高速链路(如1Gbps)需要至少4MB才能打满吞吐。检查并调大发送缓冲:sysctl -w net.core.wmem_max=4194304,并在 /etc/sysctl.conf 中固化Oracle侧确认 sqlnet.ora 含有 SQLNET.SEND_TIMEOUT=0 和 SQLNET.RECV_TIMEOUT=0,避免超时中断重试用 ss -i 观察重传率(retrans),>0.1% 就说明链路或驱动有问题,不是Oracle配置能解决的要不要预留增长余量?怎么留才不浪费必须留,但别拍脑袋翻3倍。真实增长取决于业务类型:OLTP系统redo增速常与事务数线性相关,而批量导入类任务可能造成单日突增10倍。 JoinMC智能客服 JoinMC智能客服,帮您熬夜加班,7X24小时全天候智能回复用户消息,自动维护媒体主页,全平台渠道集成管理,电商物流平台一键绑定,让您出海轻松无忧!
相关推荐
浩安2 小时前
【Python网络编程】02_面向对象的三大特征weixin_458580122 小时前
如何查找SQL中未使用JOIN的数据行_利用IS NULL配合LEFT JOINSarL EMEN2 小时前
Python大数据可视化:基于大数据技术的共享单车数据分析与辅助管理系统_flask+hadoop+spider吕源林2 小时前
c++如何利用filesystem--path--lexically_normal规范化路径名【详解】青衫码上行2 小时前
【从零开始学习JVM】栈中存的是指针还是对象 + 堆分为哪几部分a9511416422 小时前
解决Socket图像传输中断问题:基于分块接收与正确连接模型的稳定实现2402_854808372 小时前
如何防止SQL注入泄露元数据_限制数据库信息查询权限默 语2 小时前
Java的“后路“:不是退场,而是换了一种活法2401_837163892 小时前
JavaScript中rest参数(...args)取代arguments的优势