Oracle stream应用平台的问题

[复制链接]
查看11 | 回复9 | 2008-2-13 12:43:03 | 显示全部楼层 |阅读模式
Oracle stream是否只有运行在2台相同硬件架构、apply服务器的配置至少比capture服务器配置要求高,才能顺利进行。否则就会出现capture端PAUSED FOR FLOW CONTROL状态而导致stream不同步了。因为最近公司的2台数据库服务器主备库之间使用stream做的数据同步,但开始还能正常同步,等业务量增多,主库端capture状态立马变成PAUSED FOR FLOW CONTROL,apply经过很长时间才能应用很少的数据。

每天的主库产生的数据量大约在10W条左右
公司主备库配置:
主库:HP Integrity rx8640 备库:ibm x3650
ram:64G
ram:16G
cpu: 双核8CPU
cpu:四核2CPU
是否跟硬件有关系?用过的师哥们帮帮俺,最近因这事,加班好几天了,还是没结果,最后才怀疑是不是Oracle stream跟服务器硬件有关。谢谢!
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
真搞不懂为啥ORACLE自己做的日志分析会比不上其它公司弄的产品.
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
期待高手解决。。
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
高手们今天莫非休息?


回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
just a quick google:
PAUSED FOR FLOW CONTROL – The process is unable to enqueue LCRs either because of low memory or because propagations and Apply processes are consuming messages slower than the Capture process is creating them. This state indicates flow control that is used to reduce spilling of captured LCRs when propagation or apply has fallen behind. This potentially can happen when there is huge transactional activity on the source database tables.
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
Too many transactions , capture is not able to find memory to process them.
Solution, add rules to capture, before you start capture.
Rule should be like capture only DMLs for specific owner ..
that way .. you can reduce number transactions.
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
http://download-uk.oracle.com/do ... 28322/troub_rep.htm
Is the Capture Process Paused for Flow Control?
If the capture process state is PAUSED FOR FLOW CONTROL, then the capture process is unable to enqueue logical change records (LCRs) either because of low memory or because propagations and apply processes are consuming messages at a slower rate than the capture process is creating them. This state indicates flow control that is used to reduce the spilling of captured LCRs when propagation or apply has fallen behind or is unavailable.
If a capture process is in this state, then check for the following issues:
An apply process is disabled or is performing slowly.
A propagation is disabled or is performing poorly.
There is not enough memory in the Streams pool.
You can query the V$STREAMS_APPLY_READER view to monitor the LCRs being received by the apply process. You can also query V$STREAMS_APPLY_SERVER view to determine whether all apply servers are applying LCRs and executing transactions.
Also, if the capture process does not use combined capture and apply, then you can query the PUBLISHER_STATE column in the V$BUFFERED_PUBLISHERS view to determine the exact reason why the capture process is paused for flow control.
To correct the problem, perform one or more of the following actions:
If any propagation or apply process is disabled, then enable the propagation or apply process.
If the apply reader is not receiving data fast enough, then try removing propagation and apply process rules or simplifying the rule conditions.
If there is not enough memory in the Streams pool at the capture process database, then try increasing the size of the Streams pool.
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
I believe above stuff will be enough to help you solve your issue.
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
在日常业务中只是给业务表增、删、修改数据,没有对表修改什么的操作,难道在capture的时候会生产DDL语句?
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
要不出点费用帮你们优化一下哈


我维护的生产环境每天日志生成20~30G,stream是跑在WAN环境下的,最初的时候性能及稳定性极度糟糕,现在已经稳定的运行1年多了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行