Sun Microsystems, Inc.  Sun System Handbook - ISO 3.4 June 2011 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-72-1017558.1
Update Date:2009-09-23
Keywords:

Solution Type  Problem Resolution Sure

Solution  1017558.1 :   Solaris[TM] 10 Operating System: 32 bit DB2 applications fail to start on UltraSPARC[R] IV+ and T1 platforms  


Related Items
  • Sun Fire E20K Server
  •  
Related Categories
  • GCS>Sun Microsystems>Servers>High-End Servers
  •  

PreviouslyPublishedAs
228703


Symptoms
It has been observed that 32-bit instances of DB2 (versions 8.2 and below) will fail to start up properly when running on platforms which are using the Solaris[TM] 10 Operating Environment and have CPU architectures which are capable of using page sizes larger than 16MB.
Multiple Page Size Support (MPSS) was introduced in S10 for use in systems configured with UltraSPARC(R) IV+ and UltraSPARC(R) T1 CPU architectures, and it is in porting 32-bit DB2 applications to such environments that customers will likely encounter this issue.

The issue is brought about by the interaction of older 32 bit versions of DB2 with Solaris' ability to promote memory segment page sizes, and more specifically Intimate Shared Memory (ISM/DISM) pages sizes, to 32MB,64MB or 256MB. Versions 8.2 and below of DB2 were intended for use in systems with a maximum page size of 16MB.

Users who encounter this problem will observe an error such as the following:

SQL1084C Shared memory segments cannot be allocated. SQLSTATE=57019"



Resolution
It is recommended to port applications to later versions of 64 bit DB2 where possible and where the performance advantages of MPSS are desired. Alternate methods can be used in that one may elect to restrict large page size to 4mb maximum via /etc/system file tuning parameters listed in the "Temporary Workaround" section of this document.


Relief/Workaround

One may experiment with changing DB2_FMP_COMM_HEAPSZ size within the database startup parameters, or one may elect to restrict maximum large page size to 4mb within the operating system by using one of the /etc/system parameters detailed below.

disable_large_pages
- can be used to enable and disable MPSS on a global basis
disable_ism_large_pages
- can be used to enable and disable MPSS on ISM/DISM pages

Syntax:

set disable_large_pages=0x38
set disable_ism_large_pages=0x3C

Defaults:

disable_large_pages:            0x30
disable_ism_large_pages:        0x34

Bit position definition:

With bit 2^0 = 1 all MPSS off, system operates without MPSS
With bit 2^1 = 1 disables 64k pages
With bit 2^2 = 1 disables 512k pages
With bit 2^3 = 1 disables 4m pages
With bit 2^4 = 1 disables 32m pages
With bit 2^5 = 1 disables 256m pages



Additional Information
This problem does not happen with 64-bit instance of DB2.

64 bit DB2 (Version 9) is available as for Solaris on both SPARC and x64.

The platforms that are impacted are UltraSPARC T1 based systems and UltraSPARC IV+ (Panther) based systems.



Product
Sun Fire E20K Server

32 bit, DB2, solaris 10, shared memory page size, pagesize, ISM
Previously Published As
89022

Change History
Date: 2007-06-15
User Name: 97961
Action: Approved
Comment: - Changed title to comply to the standard format
- Converted to STM formatting for better readability
- Applied trademarking where it is missing
Version: 4
Date: 2007-06-14
User Name: 97961
Action: Accept
Comment:
Version: 0
Date: 2007-06-14
User Name: 18311
Action: Approved
Comment: looks fine and useful. no reason to hold it up.
Version: 0
Product_uuid
1404a2d3-059a-11d8-84cb-080020a9ed93|Sun Fire E20K Server

Attachments
This solution has no attachment
  Copyright © 2011 Sun Microsystems, Inc.  All rights reserved.
 Feedback