Wed, Nov 11, 2009
DB2 settings
Posted to Technology category
After a lot of thrashing with DB2 partially working, I finally dug out some DB2 error codes that were googleable.
SQL1084C Shared memory segments cannot be allocated. SQLSTATE=57019
SQL5043N Support for one or more communications protocols failed to start successfully. However, core database manager functionality started successfully.
The first problem, which was preventing runing of most of the dtabases on ykchaua itself, turned out to be shared memory limits inthe OS.
Running "sysctl -w kernel.shmmax=2147483648" seems to have made DB2 runnable on the server, but may be overkill. Checking some old backups, I found a section in sysctl.conf like:
kernel.shmmax = 1610612736 kernel.sem = 250 256000 32 2048 kernel.msgmnb = 65536 kernel.msgmni = 16384 kernel.msgmax = 65536 kernel.shmmni = 4096 kernel.shmall = 3774873
The existing values (for the values other than shmmax are) :
kernel.sem = 250 32000 32 1024 kernel.msgmnb = 65536 kernel.msgmni = 1680 kernel.msgmax = 65535 kernel.shmmni = 4096 kernel.shmall = 2097152
So I added the block back into the new /etc/sysctl.conf. And this time I commented the changes (which were probably made automatically when I first installed DB2) as DB2 related, so they are less likely to get lost again in the future. Having sysctl.conf set up should make the fix last across reboots.
The other error message I was receiving turned out to be because of a missing entry in /etc/services -- another case of updates stepping on config files.
After appending "db2c_db2inst1 50000/tcp # DB2 first instance" to /etc/services, DB2 seems to be running cleanly on ykchaua. Finally.
And....
My applications in the Windows images are able to connect... technically. I was able to configure the connections without error messages, But I can't seem to login to the apps, and the error messages are not being helpful.
