ExaCC: GI 18C upgrade precheck at the error ‘ERROR: Patch num not specified correctly’ While Upgrading GI home to 18c from 12c

I am writing this article regrading one issue I encountered while upgrading the grid home 12c to 18c in ExaCC gen 1 cloud. The patch pre check was failing saying “ERROR: Patch num not specified correctly” but I was giving the correct patch name in the desired field . Finally come to know that the dbass tool version we need to downgrade in order to upgrade the grid to 18c ,which was causing the issue .

I will share the high level upgrade steps with issue encountered and solution .

  1. Check what all patches are available to for grid upgrade using list_upg_patches
[root@exaCC101vm01 ~]# /var/opt/oracle/exapatch/exadbcpatchmulti -list_upg_patches -oh=exaCC101vm01:/u01/app/12.2.0.1/grid


 INFO: cmd is: /var/opt/oracle/exapatch/exadbcpatch -list_upg_patches -patch_homes=/u01/app/12.2.0.1/grid -dbnames=grid
 Starting EXADBCPATCH
 Logfile is /var/opt/oracle/log/exadbcpatch/exadbcpatch_2020-10-11_10:18:39.096476371053.log
 Config file is /var/opt/oracle/exapatch/exadbcpatch.cfg
 INFO: gridversion detected : 12.2.0.1.180717
 INFO: patching type : psu
 INFO: images available for upgrades
 CRS status returned: 1
 $VAR1 = {
           'last_async_precheck_txn_id' => '11',
           'last_async_apply_txn_id' => ' ',
           'errmsg' => '',
           'err' => '',
           'current_version' => '12.2.0.1.180717',
           'last_async_precheck_patch_id' => 'upgrade_18',
           'current_patch' => '',
           'last_async_apply_patch_id' => '',
           'patches' => [
       {
         'patchid' => 'upgrade_18.0.0.0-GI',
          'last_precheck_txnid' => '',
      'description' => 'GI binaries for upgrade from 12.2.0.1 to 18.0.0.0'
             }
            ]
         };

for the upgrade we can see upgrade_18.0.0.0-GI is available





2. Check for ssh equivalence , since we need to apply the patch to all node ( in rolling manner )

[root@exaCC101vm01 ~]# dcli -l root -g dbs_groups -s "-i privateKey_exacc" hostname
 exaCC101vm01:exaCC101vm01.domain.oraclecloudatcustomer.com
 exaCC2vm01: exaCC2vm01.domain.oraclecloudatcustomer.com
 exaCC3vm01: exaCC3vm01.domain.oraclecloudatcustomer.com
 exaCC4vm01: exaCC4vm01.domain.oraclecloudatcustomer.com
 exaCC5vm01: exaCC5vm01.domain.oraclecloudatcustomer.com
 exaCC6vm01: exaCC6vm01.domain.oraclecloudatcustomer.com
 exaCC7vm01: exaCC7vm01.domain.oraclecloudatcustomer.com
 exaCC8vm01: exaCC8vm01.domain.oraclecloudatcustomer.com

3. Run Precheck for the 18c upgrade patch id (upgrade_18.0.0.0-GI) which we get in step 1

[root@exaCC101vm01 ~]# /var/opt/oracle/exapatch/exadbcpatchmulti -precheck_async upgrade_18.0.0.0-GI -dbname=grid


INFO: dbname given is grid
Use of uninitialized value $dg_inst in string eq at  /var/opt/oracle/exapatch/exadbcpatchmulti line 388.
 INFO: Master transaction id is : 12
 12
ERROR: Patch num not specified correctly
The above error I was getting , while running the precheck multiple time , then I found Metalink note for which resemble to the similar issue 

ExaCC: GI 18C upgrade precheck at the error 'ERROR: Patch num not specified correctly' (Doc ID 2576431.1)

4. Solution was to downgrade the dbaas tool version to 18.2.3.1.0.190724

a) Take a backup of config file
 cp /var/opt/oracle/exapatch/exadbcpatch.cfg /var/opt/oracle/exapatch/exadbcpatch.cfg_bkp
 dcli -l root -g dbs_groups -s "-i privateKey_hqcl1" cp /var/opt/oracle/exapatch/exadbcpatch.cfg /var/opt/oracle/exapatch/exadbcpatch.cfg_bkp_parwez
 dcli -l root -g dbs_groups -s "-i privateKey_hqcl1" ls -l /var/opt/oracle/exapatch/exadbcpatch.cfg*


2) Change the below based on your OSS_URL and download the RPM
 18.2.3.1.0.190724

/name/18.2.3.1.0/190704/dbaastools_exa.rpm/name/
/name/18.2.3.1.0/190708/dbaastools_exa.rpm/name/

b)After changing the value to required version , try to download rpm the version from oss_url object storage bucket


wget https://storage..ocm..oraclecloudatcustomer.com/v1/Storage-idcs-cloudinfra-/dbaas_patch/18.2.3.1.0/190606/dbaastools_exa.rpm

[root@exaCC101vm01 tmp]# wget https://storage.domain.oraclecloudatcustomer.com/v1/Storage-idcs-cloudinfra-us//dbaas_patch/18.2.3.1.0/190828/dbaastools_exa.rpm
 --2020-03-11 10:30:40--  https://storage.domain.oraclecloudatcustomer.com/v1/Storage-idcs-cloudinfra-us//dbaas_patch/18.2.3.1.0/190828/dbaastools_exa.rpm
 Resolving storage.domain.oraclecloudatcustomer.com… 10.20.20.2, 10.20.20.6
 Connecting to storage.domain.oraclecloudatcustomer.com||:443… connected.
 HTTP request sent, awaiting response… 200 OK
 Length: 379164824 (362M) [application/octet-stream]
 Saving to: “dbaastools_exa.rpm.1”
 100%[=============================================================================================================================>] 379,164,824  114M/s   in 3.2s
 2020-10-11 10:30:44 (114 MB/s) - “dbaastools_exa.rpm.1” saved [379164824/379164824]


 3) Downgrade the DbaaS tool
 rpm -qa --last | grep dbaastools_exa
 rpm -ev dbaastools_exa
 rpm -ivh dbaastools_exa.rpm
 rpm -qa --last | grep dbaastools_exa

5.Check on all the nodes , after downgrading the dbass tool version

[root@exaCC101vm01 ~]# dcli -l root -g dbs_groups -s "-i privateKey_hqcl1" rpm -qa --last | grep dbaastools_exa
 exaCC101vm01: dbaastools_exa-1.0-1+18.2.3.1.0_190828.2338.x86_64 Wed 11 Oct 2020 10:31:21 AM +03
 exaCC2vm01: dbaastools_exa-1.0-1+18.2.3.1.0_190828.2338.x86_64 Wed 11 Oct 2020 10:33:21 AM +03
 exaCC3vm01: dbaastools_exa-1.0-1+18.2.3.1.0_190828.2338.x86_64 Wed 11 Oct 2020 10:33:59 AM +03
 exaCC4vm01: dbaastools_exa-1.0-1+18.2.3.1.0_190828.2338.x86_64 Wed 11 Oct 2020 10:34:32 AM +03
 exaCC5vm01: dbaastools_exa-1.0-1+18.2.3.1.0_190828.2338.x86_64 Wed 11 Oct 2020 10:35:05 AM +03
 exaCC6vm01: dbaastools_exa-1.0-1+18.2.3.1.0_190828.2338.x86_64 Wed 11 Oct 2020 10:35:30 AM +03
 exaCC7vm01: dbaastools_exa-1.0-1+18.2.3.1.0_190828.2338.x86_64 Wed 11 Oct 2020 10:35:54 AM +03
 exaCC8vm01: dbaastools_exa-1.0-1+18.2.3.1.0_190828.2338.x86_64 Wed 11 Oct 2020 10:36:18 AM +03

6. Again try to run the precheck

[root@exaCC101vm01 ~]#  /var/opt/oracle/exapatch/exadbcpatchmulti -precheck_async upgrade_18.0.0.0-GI -dbname=grid


 INFO: dbname given is grid
 Use of uninitialized value $dg_inst in string eq at /var/opt/oracle/exapatch/exadbcpatchmulti line 355.
 INFO: Master transaction id is : 13
 13
 INFO: sshkey being used is /home/opc/.ssh/id_rsa for exaCC101vm01
 INFO: cmd being run is:  sudo /var/opt/oracle/exapatch/exadbcpatchsm  -precheck_async  upgrade_18.0.0.0-GI  -dbname=grid  -firstnode -lastnode -patch_homes=/u01/app/12.2.0.1/grid -txn_fl=/home/opc/txnid_fl.117282
 INFO: running on the node exaCC101vm01
 INFO: host and txn id given : exaCC101vm01 and 14
 INFO: status seen is: Running: precheck in progress
 INFO: status of slave txn###: Running: precheck in progress on exaCC101vm01
 INFO: host and txn id given : exaCC101vm01 and 14
 INFO: status seen is: Running: precheck in progress

 INFO: host and txn id given : exaCC201vm02 and 30
 INFO: status seen is: Running: precheck in progress
 INFO: status of slave txn###: Running: precheck in progress on   exacc201vm02
 INFO: -upgrade_async completed on exaCC201vm02:/u01/app/12.2.0.1/grid
 INFO: -upgrade_async completed on all nodes

7. Run the Grid home upgrade using the below

 [root@exaCC101vm01 ~]#  /usr/bin/perl /var/opt/oracle/exapatch/exadbcpatch -upgrade_async -psunum=upgrade_18.0.0.0-GI -patch_homes=/u01/app/12.2.0.1/grid -dbnames=grid -firstnode -lastnode

 610 total views,  1 views today

Leave a Reply

Your email address will not be published. Required fields are marked *