RP/TUX 8.0 - Cannot create big queue space with 64-bit shmem limit (Doc ID 766156.1)

Last updated on NOVEMBER 04, 2016

Applies to:

Oracle Tuxedo / Tuxedo / 8.0
Information in this document applies to any platform

Goal

With Tuxedo 32-bit, qspace with size larger than 2Gb can not be created. The error message is LIBQM_CAT 1352. It
happens when writing a block to the queue space extent on the specified configuration. The write fails after
(2^31-1=21`47483647) bytes, which is the max on a signed integer.  Research into the code shows that the type of
parameter seekadr in function llwrite() is long, which confirms that the size of qspace can not be larger than 2Gb for
32-bit machine or tuxedo 32-bit version.

Using Tuxedo 64-bit, there is no problem creating 3Gb qspace, but it faills to get the necessary shared memory when
trying to open the qspace.  Although the necessary shared memory size for the qspace is much less than the system
SHMMAX, the real maximum size is _TMSHMSEGSZ (see function _gp_shmget() ) which is 64*1024*1024 for hp machine. So any
qspace with shared memory greater than _TMSHMSEGSZ in hp  can not be successfully created.

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms