Thursday, October 24, 2013

fcm_parallelism + sql6031n

after monitoring our DPF database for our datawarehouse I noticed that a lot of wait time was spent in fcm communication, so I decided to try out the new fcm_parallelism parameter that exists since DB2 9.7 fp6

FCM parallelism support added

to test this out I performed the following actions:
db2 get dbm cfg | grep -i fcm_parallelism
 Inter-node comm. parallelism          (FCM_PARALLELISM) = 1

db2 attach to <instance>
db2 update dbm cfg using FCM_PARALLELISM 2
DB20000I  The UPDATE DATABASE MANAGER CONFIGURATION command completed
successfully.
SQL1362W  One or more of the parameters submitted for immediate modification
were not changed dynamically. Client changes will not be effective until the
next time the application is started or the TERMINATE command has been issued.
Server changes will not be effective until the next DB2START command.

as stated above you have to restart the instance to activate this parameter,
so I force all connections and stopped db2:
db2 force applications all
> db2stop
24/10/2013 14:08:43     0   0   SQL1064N  DB2STOP processing was successful.
24/10/2013 14:08:45     2   0   SQL1064N  DB2STOP processing was successful.
24/10/2013 14:08:45     3   0   SQL1064N  DB2STOP processing was successful.
24/10/2013 14:08:45     4   0   SQL1064N  DB2STOP processing was successful.
24/10/2013 14:08:46     6   0   SQL1064N  DB2STOP processing was successful.
24/10/2013 14:08:46     7   0   SQL1064N  DB2STOP processing was successful.
24/10/2013 14:08:47     5   0   SQL1064N  DB2STOP processing was successful.
24/10/2013 14:08:47     8   0   SQL1064N  DB2STOP processing was successful.
24/10/2013 14:08:49     1   0   SQL1064N  DB2STOP processing was successful.
SQL1064N  DB2STOP processing was successful.


when I tried to restart with fcm_parallelism set to 2 I received the following error,

> db2start
SQL6031N  Error in the db2nodes.cfg file at line number "6".  Reason code "12".

> db2 "? SQL6031N"

SQL6031N  Error in the db2nodes.cfg file at line number "<line>". Reason
      code "<reason-code>".

Explanation:

The statement cannot be processed because of a problem with the
db2nodes.cfg file, as indicated by the following reason codes:

12

         The port value at line "<line>" of the db2nodes.cfg file in the
         sqllib directory is not in the valid port range defined for
         your DB2 instance id in the services file (/etc/services on
         UNIX-based systems).

12

         Ensure that you only use port values that are specified in the
         services file (/etc/services file on UNIX-based systems) for
         your instance.

So I sent a request to our sysadmins to add extra ports to the /etc/services file,
hopefully this will allow us to exploit the fcm parallelism...

previously we had 9 ports defined in /etc/services,
AIX team increased this to 18,
then db2 will start with  fcm_parallelism =2




No comments:

Post a Comment