db2

Receiving SQL5043n and SPM0438 ?

What you gonna do when you recieve SQL5043n ?  If you see the error on the diaglog or get this when you initiate a connection to DB2,  it means DB2 hasn’t started the communication protocols.  According to IBM’s manual :

SQL5043N:Support for one or more communications protocols failed to start successfully. However, core database manager functionality started successfully.

I could mean either the tcpip communication parameter is not turned or the port that db2 needs to listen is not mentioned. Check if you have set the following.

1. “db2set -all” should show DB2COMM=tcpip. If not, then you will need to run “db2set DB2COMM=tcpip”. Then run db2stop and db2start.

2. SVCENAME parameter in dbm cfg. You may run “db2 get dbm cfg|grep SVCENAME” to find the port number or service name. If its blank or wrong, then update the database base configuration by issuing  the following command with the appropriate port number or service name “db2 update dbm cfg using SVCENAME <port number/service name>” t. If you are using the service name, ensure the service name is specified on the /etc/services file on a Unix/Linux server.

In both cases you need to recycle the db2 instance.  

If the SQL5043 is followed by a SPM0438, then it means your sync point manager log might be bad.

SPM0438 The Sync point manager recovery log is bad

To resolve the SPM0438 error:

1. Stop the instance.
2. Turn off SPM by setting SPM_NAME in dbm cfg to NULL.
3. Remove everything in the sqllib/spmlog directory (and all directories underneath) .
4. Start the instance.