Results 1 to 6 of 6
  1. #1
    Join Date
    Jul 2004
    Posts
    306

    Unanswered: Auto bufferpools + HADR: what if?

    9.7 on AIX

    Hey guys,

    Been trying to figure this out but can't seem to get a concrete answer anywhere...

    If I have HADR and the Primary server has 14GB of RAM and the Standby has only 3.5GB and Instance_memory and bufferpools (and other STMM) are set to Auto....

    What happens if the bufferpools on the primary grow to a size greater than the available RAM on the standby?

    Anyone know?


    I've had a circumstance where the Standby couldn't allocate user BPs after a restart and I think this config problem may have been to blame... (and yes I know that the recommened config is same spac servers on both sides of HADR but this is out of my control)

  2. #2
    Join Date
    May 2003
    Location
    USA
    Posts
    5,737
    I would assume that would not be a problem if STMM is enabled and all bufferpools are set to -2. Did you try it on HADR takeover, or instance restart?

    Memory is so cheap these days, not many of us have run into that problem.
    M. A. Feldman
    IBM Certified DBA on DB2 for Linux, UNIX, and Windows
    IBM Certified DBA on DB2 for z/OS and OS/390

  3. #3
    Join Date
    Jul 2004
    Posts
    306
    Aye... it's a P-Series... I'm told IBm is asking for big $$$ to turn the golden screwdriver on it.... who knows...

    Yea the failure to allocate BPs occurred (I wasn't here to witness it first hand) after AIX was ungraded to v6.3 (which I'm told uses about 3-400MB more than 5?) when the instances and HADR were restarted afterward... My theory was that the BPs on the primary were up at about 2+GB and the standby tried to match that pre-upgrade level and could not....

  4. #4
    Join Date
    May 2003
    Location
    USA
    Posts
    5,737
    You can issue the following command to set the size of bufferpools on the standby regardless of syscat.bufferpools or STMM. Note that this will set all bufferpools to the assigned value (not an upper limit), so be careful.

    db2set DB2_OVERRIDE_BPF=<no of pages>

    May require instance restart
    M. A. Feldman
    IBM Certified DBA on DB2 for Linux, UNIX, and Windows
    IBM Certified DBA on DB2 for z/OS and OS/390

  5. #5
    Join Date
    Jul 2004
    Posts
    306
    Interesting, I'll look into that.. cheers Marcus

  6. #6
    Join Date
    Jul 2004
    Posts
    306
    Ok that one looks a bit dangerous :P Really only useful if you're trying to recover from a failure to allocate the BPs ... setting it on a BAU HADR standby would either waste heaps of memory or hamstring it ...

    DB2_OVERRIDE_BPF
    •Operating system: All
    •Default: Not set, Values: a positive numeric number of pages OR <entry>[;<entry>…] where <entry>=<buffer pool ID>,<number of pages>
    •This variable specifies the size of the buffer pool, in pages, to be created at database activation, roll-forward recovery, or crash recovery. It is useful when memory constraints cause failures to occur during database activation, roll-forward recovery, or crash recovery. The memory constraint could arise either in the rare case of a real memory shortage or, because of the attempt by the database manager to allocate a large buffer pool, in the case where there were inaccurately configured buffer pools. For example, when even a minimal buffer pool of 16 pages is not started by the database manager, try specifying a smaller number of pages using this environment variable. The value given to this variable overrides the current buffer pool size.
    You can also use <entry>[;<entry>…] where <entry>=<buffer pool ID>,<number of pages> to temporarily change the size of all or a subset of the buffer pools so that they can start.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •