Moneycontrol Brokerage Recos

Monday, September 23, 2019

dbnodeupdate.sh fails for YUM update on Exadata Compute Node



Exadata Patching:

Today, we were doing Exadata patching activity - QFSDP APR 2019, for a number of our Exadata boxes, while performing the YUM update for one of the compute node, dbnodeupdate.sh tool failed with following error.


ERROR: Found dependency issues during pre-check. Packagesfailing:ERROR: Consult file dbm03:/var/log/cellos/minimum_conflict_report.210919181148.txt for more information on the dependencies failing and for next steps.


Upon checking the log files, it was found the update was failing due to obsolete RPM packages exist in the system.


Our obsolete.lst file looks like below:


[root@dbm03 bin]# cat /etc/exadata/yum/obsolete.lst
# Generated by dbnodeupdate.shrunid: 210919181148 
at.x86_64 
rhino.noarch 
jline.noarch 
jpackage-utils.noarch 
giflib.x86_64 
alsa-lib.x86_64 
xorg-x11-fonts-Type1.noarch 
prelink.x86_64 
biosconfig 
biosconfig_expat 
qlvnictools 
ibvexdmtools 
opensm.x86_64 
ofed-scripts 
ibibverbs-devel-static 
infiniband-diags-debuginfo 
libibverbs-debuginfo 
librdmacm-debuginfo 
libibumad-debuginfo 
libibmad-debuginfo 
ibutils-debuginfo 
libmlx4-debuginfo 
libsdp-debuginfo 
mstflint-debuginfo
.
.
tk.x86_64 
tmpwatch.x86_64 
unifdef.x86_64 
valgrind.x86_64 
zlib.i686 
compat-libstdc++-296.i686 
compat-libstdc++-33.i686 
libstdc++-devel.i686 
libstdc++.i686 
libgcc.i686 
glibc.i686 


# Generated by dbnodeupdate.shrunid: 210919181148 
java-*-openjdk 
nss-softokn-freebl.i686 
dmraid-events.x86_64 
dmraid.x86_64





Note :- If you are updating to release 11.2.3.3.0 or later, some packages on the Exadata database server  become obsolete. While updating an Exadata database server, the update utility prints the exclude rpm list and obsolete rpm list in the log file - /etc/exadata/yum/ location.


The following example shows the exclusion and obsolete lists from the log file. In this
example, an exclusion list has not yet been created by the user.


[root@dbm03 yum]# pwd 
/etc/exadata/yum 
[root@dbm03 yum]# ls -ltr 
total 24 
-r--r----- 1 root root  481 Jun 21 18:59 obsolete_nodeps.lst 
-r--r----- 1 root root 3206 Jun 21 18:59 obsolete.lst   <<<<<<<<<<<<
-r--r----- 1 root root  474 Jun 21 18:59 exclusion.lst.sample 
-rw-r----- 1 root root  125 Sep 21 18:20 obsolete_nodeps.lst.09212019 
-rw-r----- 1 root root 2497 Sep 21 18:20 obsolete.lst.09212019 
[root@dbm03 yum]#

In our case, obsolete.list file was created with all obsolete rpm packages and you see one  exclusion.lst.sample sample file is also created.

To see which packages will become obsolete, review the contents of the obsolete.lst file. This file lists the packages defined to be obsolete by current Exadata update; these packages will be removed during the update when no action is taken. Package manually added to this list are ignored. The following is a small sample of the obsolete.lst file:


[root@dbm03 yum]# cat obsolete.lst.09212019 
# Generated by dbnodeupdate.shrunid: 210919181148 
at.x86_64 
rhino.noarch 
jline.noarch 
jpackage-utils.noarch 
giflib.x86_64 
alsa-lib.x86_64 
xorg-x11-fonts-Type1.noarch 
prelink.x86_64 
biosconfig 
biosconfig_expat 
qlvnictools




To prevent a package listed in the obsolete.lst file from being removed, create the /etc/exadata/yum/exclusion.lst file, and put in the rpm name (wildcards are allowed) for the packages you want to keep. Place the /etc/exadata/yum/exclusion.lst file on all Exadata database servers where you want to use it.

The following example shows a package added to the exclusion list:



[root@dbm03 yum]# cat exclusion.lst
# Generated by dbnodeupdate.shrunid: 210919181148 
at.x86_64 
rhino.noarch 
jline.noarch 
jpackage-utils.noarch 
giflib.x86_64 
alsa-lib.x86_64 
xorg-x11-fonts-Type1.noarch 
prelink.x86_64 
biosconfig 
biosconfig_expat 

qlvnictools



After you have added an entry to the exclusion.lst file for all obsolete rpms and re-run the update dbnodeupdate.sh utility, the utility detects the exclusion list. The rpm packages on the exclusion list are still shown in the obsolete.lst file, but the packages in the exclusion.lst file will not be removed during the update.

dbnodeupdate.sh tool runs successful !!


Hope it helps, thanks for reading, please subscribe to this blog to stay updated with latest news on Oracle Autonomous Database Cloud Services and new articles.

Twitter : https://twitter.com/rajsoft8899
Linkedin : https://www.linkedin.com/in/raj-kumar-kushwaha-5a289219/





2 comments: