I had done a ipclean before bringing up the instance. it did not help.
however, this is the ipcs -l output for the system before and after the
instance came up respectively:
Before the instance came up :
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 32768
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1
------ Semaphore Limits --------
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 32
semaphore max value = 32767
------ Messages: Limits --------
max queues system wide = 16
max size of message (bytes) = 8192
default max size of queue (bytes) = 16384
After the instance came up :
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 262144
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1
------ Semaphore Limits --------
max number of arrays = 1024
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 32
semaphore max value = 32767
------ Messages: Limits --------
max queues system wide = 1024
max size of message (bytes) = 8192
default max size of queue (bytes) = 16384
Was just curious to know, if manually keeping these modified entries in
/etc/sysctl.conf will help the initial glitch in bringing up the
instance. Or should I be increasing these max values still further
more.
Thanks a lot !
> I used to have issues like this w/ Informix of all things. Mem
> segments would not clear out, even after the DB was offline. Perhaps
[quoted text clipped - 77 lines]
> >
> > Thanks a lot !
See the "DB2 for Linux Howto" here:
http://tldp.org/HOWTO/DB2-HOWTO/prerequisites.html
> I had done a ipclean before bringing up the instance. it did not
> help.
[quoted text clipped - 121 lines]
>> >
>> > Thanks a lot !

Signature
Haider
db2_d_b_a - 28 Nov 2006 01:20 GMT
That was some neat piece of information .. thanks a lot Haider !
> See the "DB2 for Linux Howto" here:
>
[quoted text clipped - 125 lines]
> >> >
> >> > Thanks a lot !
> I had done a ipclean before bringing up the instance. it did not help.
>
[quoted text clipped - 129 lines]
> > >
> > > Thanks a lot !
Hello,
It sounds like you probably resolved your problem, but here's some
extra background in case you're curious.
You were hitting a problem with the kernel.shmmax setting. The reason
the problem "goes away" after bringing the database up succesfully once
is that DB2 modifies the current shmmax setting internally, but only
after the database manager shared memory segment is allocated. Once
you reboot though, you'll see that shmmax gets reverted back to it's
original setting, and the first time you bring the instance back up
you'll hit the shmmax issue again. Permanently updating kernel.shmmax
to 256MB (1GB on 64-bit Linux) will ensure you don't hit this same
problem again (the other kernel parms listed are good recommendations
as well).
This kernel.shmmax issue has been fixed in DB2 9.
Cheers,
Liam.
db2_d_b_a - 28 Nov 2006 15:56 GMT
Hi Liam,
I have some how figured out that its the issue is with the shmax kernel
parameter. And it will be good to keep it at 256MB in the sysctl.
However, I would like to know, whether 256MB will be good enough or
should i be setting it slightly higher.
cheers !
> > I had done a ipclean before bringing up the instance. it did not help.
> >
[quoted text clipped - 150 lines]
> Cheers,
> Liam.
db2_d_b_a - 28 Nov 2006 15:56 GMT
Hi Liam,
I have some how figured out that its the issue is with the shmax kernel
parameter. And it will be good to keep it at 256MB in the sysctl.
However, I would like to know, whether 256MB will be good enough or
should i be setting it slightly higher.
cheers !
> > I had done a ipclean before bringing up the instance. it did not help.
> >
[quoted text clipped - 150 lines]
> Cheers,
> Liam.
Liam Finnie - 29 Nov 2006 14:08 GMT
> Hi Liam,
>
[quoted text clipped - 159 lines]
> > Cheers,
> > Liam.
Hello,
Having it set to 256 MB is good enough to prevent failures.
Internally, if DB2 needs a piece of shared memory larger than 256 MB,
it will convert that into multiple 256MB segments. If you set
kernel.shmmax larger than the biggest piece of shared memory you will
need (likely your database shared memory segment), then we will try to
allocate the entire piece of shared memory using a single segment. So,
there could be a very slight performance/resource benefit to setting
shmmax higher.
Cheers,
Liam.