Db2 PureScale ‐ Applying online FixPack - fsmegale/Db2-luw GitHub Wiki

Introduction

This is a Test Case to update the Db2 PureScale v11.5.8.0 to the last CSB (Cumulative Special Build) available at this time.

The environment from this Test Case has 2 host with a CF and a Member on each one.

The update has some differences when CF and Member are in different hosts.

Note: Check the Reference in the end of this document

Environment

Db2 v11.5.8.0 -> Db2 v11.5.8.0 last CSB Red Hat 8.6 x86_64 (Virtual Machines)

2 hosts where each host is a CF AND Member.

image

[db2inst1@encrypts1 ~]$ db2level
DB21085I  This instance or install (instance name, where applicable:
"db2inst1") uses "64" bits and DB2 code release "SQL11058" with level
identifier "0609010F".
Informational tokens are "DB2 v11.5.8.0", "s2209201700", "DYN2209201700AMD64",
and Fix Pack "0".
Product is installed at "/opt/ibm/db2/V11.5".

Note that the product is installed under /V11.5.

[db2inst1@encrypts1 ~]$ cat /etc/os-release
NAME="Red Hat Enterprise Linux"
VERSION="8.6 (Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.6"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Red Hat Enterprise Linux 8.6 (Ootpa)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:8::baseos"
HOME_URL=https://www.redhat.com/
DOCUMENTATION_URL=https://access.redhat.com/documentation/red_hat_enterprise_linux/8/
BUG_REPORT_URL=https://bugzilla.redhat.com/
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_BUGZILLA_PRODUCT_VERSION=8.6
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.6"

Pre Installation

[root@encrypts1 server_dec]# ./installFixPack -show_level_info
Code level         =  Version:11 Release:5 Modification:8 Fixpack:0 Interim:0 Special Build:33071
Architecture level =  Version:11 Release:5 Modification:8 Fixpack:0
Section level      =  Version:11 Release:5 Modification:8 Fixpack:0

Supports online update = Yes

Minimum committed code level required for online install =
   Version:11 Release:5 Modification:6 Fixpack:0

The execution completed successfully.

For more information see the DB2 installation log at "/tmp/installFixPack.log.391576".
DBI1070I  Program installFixPack completed successfully.

You must update all members and CFs before you can commit the changes and update the Db2 pureScale instance.

If the members and CFs are located on the same host, you must apply the fix pack update only once per host.

In this case, CF and Member are in the same host for both the nodes.

Placing the Installer

1. Extract the fix pack or special build image to a directory that is accessible to all members and CF hosts.

That makes to think that the installer should be in a shared directory between the host. The installer should actually be in a local directory from each host.

Note:

The directory structure where you place the installer MUST have access (Read/Execute) permission for ROOT and Db2 Instance Owner.

For example, if you place the installer inside /tmp/Db2_Installer/, both /tmp and ./Db2_Installer/ must Read/Execute permission for ROOT and Db2 Instance Owner.

Procedure

I will keep 2 connections from host encrypts1 (the screen from the left below) to keep that member online and one of those connections will keep selecting from tables while updating host encrypts2 (the screen from the right below):

image

The documentation says:

2. Apply the fix pack online to each of the members, one at a time.

Note: If a CF is also located on the same host as the member, you can skip this step for the host, since it will be updated in Step 3 or 4.

The configuration mentioned in the Note below is my case. So, that’s why I will start updating from the secondary CF (encrypts2)

Running the InstallFixpack on host Encrypts2

./installFixPack -p /opt/ibm/db2/V11.5_CSB-33071 -I db2inst1 -online -l Db2installCSB.log -t Db2installCSB.trace

During the installation:

image

2 logs were created in /tmp directory from the Remote host:

installFixPack.trc.391576 installFixPack.log.391576

Other logs were created in the /tmp from the Local host.

Db2installCSB.trace Db2installCSB.log

The information from the screen:

[root@encrypts2 server_dec]# ./installFixPack -p /opt/ibm/db2/V11.5_CSB-33071 -I db2inst1 -online -l Db2installCSB.log -t Db2installCSB.trace
Read the license agreement file in the db2/license directory.
***********************************************************
To accept those terms, enter "yes". Otherwise, enter "no" to cancel the install process. [yes/no]
yes

DB2 installation is being initialized.

DB2 pureScale online update evaluation:
=======================================
Hostname:encrypts2.fyre.ibm.com
Instance name:db2inst1
Target Installation path:/opt/ibm/db2/V11.5_CSB-33071
Target Code level         =  Version:11 Release:5 Modification:8 Fixpack:0 Interim:0 Special Build:33071
Target Architecture level =  Version:11 Release:5 Modification:8 Fixpack:0

TSA version installed on this host : 4.1.0.7
TSA version present on the media : 4.1.0.7
TSA version after update : 4.1.0.7

GPFS version installed on the host: 5.1.2.5.2
GPFS version present on the media : 5.1.2.7
GPFS version after update : 5.1.2.7

Total number of tasks to be performed: 11
Total estimated time for all tasks to be performed: 2636 second(s)

Task #1 start
Description: Installing DB2 database product binaries
Estimated time 1485 second(s)
Task #1 end

Task #2 start
Description: Stopping the DB2 member on the local host
Estimated time 10 second(s)
Task #2 end

Task #3 start
Description: Stopping the cluster caching facility (CF) on the local host
Estimated time 10 second(s)
Task #3 end

Task #4 start
Description: Stopping the instance on the local host
Estimated time 10 second(s)
Task #4 end

Task #5 start
Description: Entering cluster file system into maintenance mode
Estimated time 6 second(s)
Task #5 end

Task #6 start
Description: Updating cluster software TSA and GPFS
Estimated time 650 second(s)
Task #6 end

Task #7 start
Description: Exiting cluster management software out of maintenance mode
Estimated time 6 second(s)
Task #7 end

Task #8 start
Description: Exiting cluster file system out of  maintenance mode
Estimated time 6 second(s)
Task #8 end

Task #9 start
Description: Updating the DB2 database manager instance configuration
Estimated time 429 second(s)
Task #9 end

Task #10 start
Description: Starting the instance on the local host
Estimated time 10 second(s)
Task #10 end

Task #11 start
Description: Starting the DB2 member on the local host
Estimated time 10 second(s)
Task #11 end

Task #12 start
Description: Starting the cluster caching facility on the local host
Estimated time 10 second(s)
Task #12 end

The execution completed successfully.

For more information see the DB2 installation log at "Db2installCSB.log".

[root@encrypts2 server_dec]#

Got no problem from that phase.

It took 30 minutes.

The selects from the other member were keep working during all the installation process.

The connect to the database from the update host worked fine:

image

[db2inst1@encrypts2 ~]$ db2level
DB21085I  This instance or install (instance name, where applicable:
"db2inst1") uses "64" bits and DB2 code release "SQL11058" with level
identifier "0609010F".
Informational tokens are "DB2 v11.5.8.0", "s2209201700", "DYN2209201700AMD64",
and Fix Pack "0".
Product is installed at "/opt/ibm/db2/V11.5_CSB-33071".

Note that now we have the product installed under /opt/ibm/db2/V11.5_CSB-33071.

Running the InstallFixpack on host Encrypts1

4 Apply the fix pack online on the primary CF:

a) Ensure that the secondary CF of your Db2 pureScale instance is in PEER state by issuing the following command as the instance owner:

image

Now I will keep 2 connections from host encrypts2 (the one that was just updated) to keep that member online and one of those connections will keep selecting from tables while updating host encrypts1.

Issuing the installFixPack command just like it was done the previous host:

[root@encrypts1 server_dec]# ./installFixPack -p /opt/ibm/db2/V11.5_CSB-33071 -I db2inst1 -online -l Db2installCSB.log -t Db2installCSB.trace

image

[db2inst1@encrypts1 ~]$ db2level
DB21085I  This instance or install (instance name, where applicable:
"db2inst1") uses "64" bits and DB2 code release "SQL11058" with level
identifier "0609010F".
Informational tokens are "DB2 v11.5.8.0", "s2209201700", "DYN2209201700AMD64",
and Fix Pack "0".
Product is installed at "/opt/ibm/db2/V11.5_CSB-33071".

Note that now we have the product installed under /opt/ibm/db2/V11.5_CSB-33071

The behavior was just like the it was in the previous host.

Committing the online fix pack update

6 Commit the online fix pack update so that your Db2 pureScale instance is updated to the new fix pack level

So, from encrypts1 host (just because I decided to use that one):

./installFixPack -commit_level -I db2inst1 -l Db2commitCSB.log -t Db2commitCSB.trace

image

It took around 5 minutes.

[db2inst1@encrypts1 ~]$ db2level
DB21085I  This instance or install (instance name, where applicable:
"db2inst1") uses "64" bits and DB2 code release "SQL11058" with level
identifier "0609010F".
Informational tokens are "DB2 v11.5.8.0", "special_33071",
"DYN2308030521AMD64_33071", and Fix Pack "0".
Product is installed at "/opt/ibm/db2/V11.5_CSB-33071".

Note that now we have "special_33071" from the db2level.

From the other host we can see the CSB was committed as well:

[db2inst1@encrypts2 ~]$ db2level
DB21085I  This instance or install (instance name, where applicable:
"db2inst1") uses "64" bits and DB2 code release "SQL11058" with level
identifier "0609010F".
Informational tokens are "DB2 v11.5.8.0", "special_33071",
"DYN2308030521AMD64_33071", and Fix Pack "0".
Product is installed at "/opt/ibm/db2/V11.5_CSB-33071".

7 Verify that your instance and databases show the new committed fix pack level by issuing the following command as an instance user

[db2inst1@encrypts1 ~]$ db2pd -ruStatus

ROLLING UPDATE STATUS:  Disk Value                                         Memory Value

   Record Type        = INSTANCE
   ID                 = 0
   Code Level         = V:11 R:5 M:8 F:0 I:0 SB:33071 (0x0B05080000812F00) Not Applicable
   Architecture Level = V:11 R:5 M:8 F:0 I:0 SB:0 (0x0B05080000000000)     Not Applicable
   State              = [NONE]
   Last updated       = 2023/08/10:11:05:02


*****************************************************************************************
*  Systems must only be used for conducting IBMs business.                              *
*  IBM may exercise rights to manage and enforce security, monitor use,                 *
*  remove access or block traffic to and from this system, as well as                   *
*  any other rights listed in ITSS.                                                     *
*                                                                                       *
*  Users must comply with DevIT service terms of use, IBM policies,                     *
*  directives and corporate instructions including, import/export of data,              *
*  BCGs, Corporate Instructions, Standards, Addenda as well as all other                *
*  responsibilities listed in ITSS                                                      *
*****************************************************************************************
   Record Type        = MEMBER
   ID                 = 0
   Code Level         = V:11 R:5 M:8 F:0 I:0 SB:33071 (0x0B05080000812F00) V:11 R:5 M:8 F:0 I:0 SB:33071 (0x0B05080000812F00)
   CECL               = V:11 R:5 M:8 F:0 I:0 SB:33071 (0x0B05080000812F00) V:11 R:5 M:8 F:0 I:0 SB:33071 (0x0B05080000812F00)
   Architecture Level = V:11 R:5 M:8 F:0 I:0 SB:0 (0x0B05080000000000)     V:11 R:5 M:8 F:0 I:0 SB:0 (0x0B05080000000000)
   CEAL               = V:11 R:5 M:8 F:0 I:0 SB:0 (0x0B05080000000000)     V:11 R:5 M:8 F:0 I:0 SB:0 (0x0B05080000000000)
   Section Level      = V:11 R:5 M:8 F:0 I:0 SB:0 (0x0B05080000000000)     V:11 R:5 M:8 F:0 I:0 SB:0 (0x0B05080000000000)
   Target Code Level  = V:11 R:5 M:8 F:0 I:0 SB:33071 (0x0B05080000000000) Not Applicable
   State              = [NONE]
   Last updated       = 2023/08/10:10:44:49

encrypts1.fyre.ibm.com: db2pd -ruStatus -localhost ... completed ok

*****************************************************************************************
*  Systems must only be used for conducting IBMs business.                              *
*  IBM may exercise rights to manage and enforce security, monitor use,                 *
*  remove access or block traffic to and from this system, as well as                   *
*  any other rights listed in ITSS.                                                     *
*                                                                                       *
*  Users must comply with DevIT service terms of use, IBM policies,                     *
*  directives and corporate instructions including, import/export of data,              *
*  BCGs, Corporate Instructions, Standards, Addenda as well as all other                *
*  responsibilities listed in ITSS                                                      *
*****************************************************************************************
   Record Type        = MEMBER
   ID                 = 1
   Code Level         = V:11 R:5 M:8 F:0 I:0 SB:33071 (0x0B05080000812F00) V:11 R:5 M:8 F:0 I:0 SB:33071 (0x0B05080000812F00)
   CECL               = V:11 R:5 M:8 F:0 I:0 SB:33071 (0x0B05080000812F00) V:11 R:5 M:8 F:0 I:0 SB:33071 (0x0B05080000812F00)
   Architecture Level = V:11 R:5 M:8 F:0 I:0 SB:0 (0x0B05080000000000)     V:11 R:5 M:8 F:0 I:0 SB:0 (0x0B05080000000000)
   CEAL               = V:11 R:5 M:8 F:0 I:0 SB:0 (0x0B05080000000000)     V:11 R:5 M:8 F:0 I:0 SB:0 (0x0B05080000000000)
   Section Level      = V:11 R:5 M:8 F:0 I:0 SB:0 (0x0B05080000000000)     V:11 R:5 M:8 F:0 I:0 SB:0 (0x0B05080000000000)
   Target Code Level  = V:11 R:5 M:8 F:0 I:0 SB:33071 (0x0B05080000000000) Not Applicable
   State              = [NONE]
   Last updated       = 2023/08/10:09:08:57

encrypts2.fyre.ibm.com: db2pd -ruStatus -localhost ... completed ok

   Record Type        = CF
   ID                 = 128
   Code Level         = V:11 R:5 M:8 F:0 I:0 SB:33071 (0x0B05080000812F00) Not Applicable
   Architecture Level = V:11 R:5 M:8 F:0 I:0 SB:0 (0x0B05080000000000)     Not Applicable
   Target Code Level  = V:11 R:5 M:8 F:0 I:0 SB:33071 (0x0B05080000000000) Not Applicable
   State              = [NONE]
   Last updated       = 2023/08/10:10:44:50

   Record Type        = CF
   ID                 = 129
   Code Level         = V:11 R:5 M:8 F:0 I:0 SB:33071 (0x0B05080000812F00) Not Applicable
   Architecture Level = V:11 R:5 M:8 F:0 I:0 SB:0 (0x0B05080000000000)     Not Applicable
   Target Code Level  = V:11 R:5 M:8 F:0 I:0 SB:33071 (0x0B05080000000000) Not Applicable
   State              = [NONE]
   Last updated       = 2023/08/10:09:08:58

[db2inst1@encrypts1 ~]$

db2instance -list also shows everything is fine:

image

8 If you want to use capabilities specific to the fix pack, update the system catalog objects in your databases:

a) Log on as the instance owner. b) For each database in the instance, issue the db2updv115 command

So, from encrypts1 while there were connections querying the database from encrypts2:

[db2inst1@encrypts1 ~]$ db2updv115 -d sample

_________________________________________________________________________

                    _____   DB2 Service Tools   _____

                            I      B      M

                               db2updv115

   This tool is a service utility designed to update a DB2 Version 11.5
   database to the current fix pack level.

_________________________________________________________________________


DB2 Universal Database Version 11.5, 5622-044 (c) Copyright IBM Corp. 2019
Licensed Material - Program Property of IBM
IBM DATABASE 2 Database update to current fix pack tool

MESSAGE: Soft Error sqlcode -204 dropping module object SYSIBMADM.DBMS_LOCK_RELEASE is ignored.
Statement:
ALTER MODULE SYSIBMADM.DBMS_LOCK DROP SPECIFIC FUNCTION DBMS_LOCK_RELEASE
db2updv115 completed successfully for database 'sample'.

Checking the database version:

[db2inst1@encrypts1 ~]$ db2 "select * from sysibm.sysversions"              
                                                                            
VERSIONNUMBER VERSION_TIMESTAMP          AUTHID    VERSIONBUILDLEVEL        
------------- -------------------------- --------- -------------------------
     11050800 2023-06-07-11.39.18.883634 DB2INST1  special_33071            
                                                                            
  1 record(s) selected.

Reference

Installing online fix pack updates to a higher code level on a Db2 pureScale instance https://www.ibm.com/docs/en/db2/11.5?topic=afpidpe-installing-online-fix-pack-updates-higher-code-level-db2-purescale-instance