From: lltong on
I have db2 ESE v9 fix pak 2 installed on red hat linux kernel 2.6.
When I use db2 load facility even with 1 row to be inserted, I see
this error message:
SQL2044N An error occurred while accessing a message queue. Reason
code: "3".

I read some post online about SQL2044 and learned sometimes it is
about the linux kernel parameter not being set up correctly. But it is
not my case here. I've got the big enough msgmni:
# For DB2
kernel.msgmni = 1024
kernel.sem = 250 256000 32 1024
kernel.shmall = 16737418240
kernel.shmmax = 33474836480

I am not sure what went wrong...Please help!

Thanks,

Lisa

From: Phil Sherman on
use "cat" to examine the appropriate files in the /proc/sys/kernel
directory and verify that all of the parameters for db2 have actually
taken effect. If they haven't and you have SELinux activated, then
SELinux may be preventing the db2 startup procedure from setting the
appropriate values.

I patched this by placing the appropriate commands in /etc/rc.local:
sysctl -w kernel.shmmax=268435456
echo 250 128000 32 1024 >/proc/sys/kernel/sem
echo 1024 >/proc/sys/kernel/msgmni
Note that these values are for a 32bit 8.1 instance.


Phil Sherman



lltong wrote:
> I have db2 ESE v9 fix pak 2 installed on red hat linux kernel 2.6.
> When I use db2 load facility even with 1 row to be inserted, I see
> this error message:
> SQL2044N An error occurred while accessing a message queue. Reason
> code: "3".
>
> I read some post online about SQL2044 and learned sometimes it is
> about the linux kernel parameter not being set up correctly. But it is
> not my case here. I've got the big enough msgmni:
> # For DB2
> kernel.msgmni = 1024
> kernel.sem = 250 256000 32 1024
> kernel.shmall = 16737418240
> kernel.shmmax = 33474836480
>
> I am not sure what went wrong...Please help!
>
> Thanks,
>
> Lisa
>
From: lltong on
Hi Phil,

Thanks for your response.

I double checked the system parameter. I am sure they are taken
effect:
cat /proc/sys/kernel/msgmni
1024
cat /proc/sys/kernel/shmmax
33474836480

Any other suggestions?

Thanks!

Lisa


On Feb 27, 9:39 am, Phil Sherman <psher...(a)ameritech.net> wrote:
> use "cat" to examine the appropriate files in the /proc/sys/kernel
> directory and verify that all of the parameters for db2 have actually
> taken effect. If they haven't and you have SELinux activated, then
> SELinux may be preventing the db2 startup procedure from setting the
> appropriate values.
>
> I patched this by placing the appropriate commands in /etc/rc.local:
> sysctl -w kernel.shmmax=268435456
> echo 250 128000 32 1024 >/proc/sys/kernel/sem
> echo 1024 >/proc/sys/kernel/msgmni
> Note that these values are for a 32bit 8.1 instance.
>
> Phil Sherman
>
> lltong wrote:
> > I have db2 ESE v9 fix pak 2 installed on red hat linux kernel 2.6.
> > When I use db2 load facility even with 1 row to be inserted, I see
> > this error message:
> > SQL2044N An error occurred while accessing a message queue. Reason
> > code: "3".
>
> > I read some post online about SQL2044 and learned sometimes it is
> > about the linux kernel parameter not being set up correctly. But it is
> > not my case here. I've got the big enough msgmni:
> > # For DB2
> > kernel.msgmni = 1024
> > kernel.sem = 250 256000 32 1024
> > kernel.shmall = 16737418240
> > kernel.shmmax = 33474836480
>
> > I am not sure what went wrong...Please help!
>
> > Thanks,
>
> > Lisa