zoukankan      html  css  js  c++  java
  • OGG-集成模式抽取与数据库参数streams_pool_size关系

    一、学习目标

       Oracle数据库,使用OGG集成模式抽取进程启动时,如果没有配置合理的streams_pool_size参数可能会过一段时间就报错abend!

        那么我们如何配置这个参数的大小?如何计算?

    二、参考文档

        从OGG官网检索这个DB参数,没有看到合理的建议信息!

     2.1 MOS

    OGG-02045: Database does not have streams_pool_size initialization parameter configured.
    The database initialization parameter streams_pool_size is not set correctly to support integrated capture.
    Set database initialization parameter streams_pool_size. For sizing recommendations, see the Oracle GoldenGate reference
    documentation. Integrated Extract
    / Replicat and STREAMS_POOL_SIZE (Doc ID 2078459.1) Oracle GoldenGate - Version 11.2.1.0.0 and later GOAL What is the recommended STREAMS_POOL_SIZE for Integrated Extract (IE) and Integrated Replicat (IR) SOLUTION The ogg reference guide recommends to have 1GB STREAMS_POOL_SIZE per integrated extract + additional 25 percent Snippet from ogg oracle install guide http://docs.oracle.com/goldengate/1212/gg-winux/GIORA.pdf ------------------------------------------------------ By default, one integrated capture Extract requests the logmining server to run with MAX_SGA_SIZE of 1GB and a
    PARALLELISM of 2. Thus, if you are running three Extracts in integrated capture mode in the same database instance,
    you need at least 3 GB of memory allocated to the Streams pool. As best practice, keep 25 percent of the Streams pool available.
    For example, if there are three Extracts in integrated capture mode, set STREAMS_POOL_SIZE to the following: 3 GB + (3 GB * 0.25) = 3.75 GB --------------------------------------- The Integrated replicat also needs to have 1GB STREAMS_POOL_SIZE per process and additional 25 percent though it
    is not been explicitly mentioned in the guides. 推荐集成捕获进程数量+ 集成捕获数量*0.25, 默认1个进程1G!

    2.2 相关文档

    https://www.oracle-scn.com/memory-requirement-for-oracle-goldengate-integrated-extract/

         

    1. OGG集成模式与数据库内存区域streams_pool_size之间的关系
    集成模式的情况下,是从streams_pool中申请内存区域,Streams_pool是Oracle SGA内存的一个组件,streams_pool中,
    申请的内存大小取决于有多少个integrated extract的进程数量,以及考虑其它的进程!
    2.抽取进程参数 TRANLOGOPTIONS INTEGRATEDPARAMS(max_sga_size 100, parallelism 1) 上述参数中,max_sga_size 代表的是streams pool size 的大小! 非db 参数sga_max_size 3.DB参数streams_pool_size 调整多大? 1> streams_pool_size >1g,则ogg 占用的max_sga_size=1g; 如果streams_pool_size <=1g,则ogg 占用的max_sga_size = streams_pool_size*75%; 2> 默认没设置streams_pool_size 参数大小!则max_sga_size(streams size)占用shared_pool_size 10%,最大1G, 因此!需要考虑shared pool大小! 3> 使用动态SGA,则可以通过查询视图v$sga_dynamic_components获取streams_pool的使用情况!

    2.3 相关报错

    OGG-02050 Not enough database memory to honor requested MAX_SGA_SIZE
    OGG-02077: Extract encountered a read error in the asynchronous reader thread and is abending: {0}

    三、小结

    建议使用集成模式抽取的情况下,设置数据库参数

    STREAMS_POOL_SIZE ,参数大小= 抽取进程的数量*1G +抽取进程数量*1G*0.25 
    (1G代表分配给每个抽取进程的内存,25%是给每个抽取进程streams size 考虑的空闲空间)
    另外就是文档中的各种举例都是写的是集成抽取,集成复制方面并没明确说明! 但是MOS文档的包含范围加上了集成复制!
    因此站在安全的角度也是考虑同样的分配! 当然如果系统不是特别重要,很多细节可以忽略,报错在处理也是一样的。
  • 相关阅读:
    PAT B1027 打印沙漏 (20 分)
    PAT B1025 反转链表 (25 分)
    PAT B1022 D进制的A+B (20 分)
    PAT B1018 锤子剪刀布 (20 分)
    PAT B1017 A除以B (20 分)
    PAT B1015 德才论 (25 分)
    PAT B1013 数素数 (20 分)
    PAT B1010 一元多项式求导 (25 分)
    HDU 1405 The Last Practice
    HDU 1165 Eddy's research II
  • 原文地址:https://www.cnblogs.com/lvcha001/p/14653733.html
Copyright © 2011-2022 走看看