{"id":46019,"date":"2026-07-31T18:33:10","date_gmt":"2026-07-31T16:33:10","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=46019"},"modified":"2026-07-31T18:33:12","modified_gmt":"2026-07-31T16:33:12","slug":"upgrading-oracle-linux-when-running-oracle-databases","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/upgrading-oracle-linux-when-running-oracle-databases\/","title":{"rendered":"Upgrading Oracle Linux when running Oracle databases"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">I recently had to upgrade an Oracle Linux production server running 19.30 Oracle databases for one of our customer. In this post, I will share with you the full set of steps that need to be carried out to run an in-place Oracle Linux upgrade when running Oracle databases. The method will be the same to upgrade from Oracle Linux 7 to 8, or 8 to 9 or 9 to 10 version. In my case, customer was running Oracle Linux 7, and I had to perform an in-place upgrade to version 8.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h3>Backup your current server<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Knowing we are going to run an in-place upgrade, it is important that we backup the server in order to restore it if something would not run smoothly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There is several why to do this. <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You are running a VM and can take a snapshot. This is the easiest and quicker way to backup and restore.<\/li>\n\n\n\n<li>Take a full backup or image<\/li>\n\n\n\n<li>Have any tool like Veeam backup that will secure your operating system<\/li>\n\n\n\n<li>Look for existing free tool that will help you to create a bootable disaster recovery backup (to be previously tested)<\/li>\n\n\n\n<li>Perform a manual backup<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">What is also important is to ensure your backup is usable. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In my case, it was a physical server, no backup tool, no snapshot possibility. So I had to perform some manual backup.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>I ensured to have database backups and also my server was only running standby databases<\/li>\n\n\n\n<li>I wrote a script to save all the important linux configurations that will help me to restore the system reinstalling it from scratch if needed<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Here is my script:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: []\">\n#!\/bin\/bash\n#-----------------------------------------------------------------\n#\n# Author: Marc Wagner, dbi services\n#\n# Purpose:To backup OS configuration before OS patching\n#\n# To be run as root: .\/OS_backup.sh\n#\n# History:\n# 28.05.2026 - Initial\n#\n#\n#-----------------------------------------------------------------\n\n# Create backup directory if not existing\nif [ ! -d \"\/rdbms\/OS_backup\" ]; then\n    mkdir -p \"\/rdbms\/OS_backup\"\nfi\n\n# Backup OS configuration file into tar file\ncd \/\ntar czpf \/rdbms\/OS_backup\/ol7-os-backup-$(hostname)-$(date +%Y%m%d_%H%M).tgz \\\n--xattrs \\\n--acls \\\n.\/etc \\\n.\/boot \\\n.\/home \\\n.\/root \\\n.\/usr\/local \\\n.\/var\/spool\/cron \\\n.\/opt \\\n.\/var\/lib\/rpm\n\n# Backup Package inventory\nrpm -qa &gt; \/rdbms\/OS_backup\/rpm-list-$(hostname)-$(date +%Y%m%d_%H%M).txt\n\n# Backup current release version\ncat \/etc\/oracle-release &gt; \/rdbms\/OS_backup\/OS-release-$(hostname)-$(date +%Y%m%d_%H%M).txt\n\n# Backup Boot loader metadata\ngrub2-mkconfig -o \/rdbms\/OS_backup\/\/grub-$(hostname)-$(date +%Y%m%d_%H%M).cfg\necho \"*************************************\" &gt; \/rdbms\/OS_backup\/lsblk-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"# lsblk\" &gt;&gt; \/rdbms\/OS_backup\/lsblk-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/lsblk-$(hostname)-$(date +%Y%m%d_%H%M).txt\nlsblk &gt;&gt; \/rdbms\/OS_backup\/lsblk-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho  &gt;&gt; \/rdbms\/OS_backup\/lsblk-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho  &gt;&gt; \/rdbms\/OS_backup\/lsblk-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/lsblk-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"# lsblk -f\" &gt;&gt; \/rdbms\/OS_backup\/lsblk-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/lsblk-$(hostname)-$(date +%Y%m%d_%H%M).txt\nlsblk -f &gt;&gt; \/rdbms\/OS_backup\/lsblk-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho  &gt;&gt; \/rdbms\/OS_backup\/lsblk-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho  &gt;&gt; \/rdbms\/OS_backup\/lsblk-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/lsblk-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"# blkid\" &gt;&gt; \/rdbms\/OS_backup\/lsblk-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/lsblk-$(hostname)-$(date +%Y%m%d_%H%M).txt\nblkid &gt;&gt; \/rdbms\/OS_backup\/lsblk-$(hostname)-$(date +%Y%m%d_%H%M).txt\n\n# Backup service\nsystemctl list-unit-files &gt; \/rdbms\/OS_backup\/systemd-units-$(hostname)-$(date +%Y%m%d_%H%M).txt\n\n# Backup live Network configuration\nip addr &gt; \/rdbms\/OS_backup\/ip-$(hostname)-$(date +%Y%m%d_%H%M).txt\nip route &gt; \/rdbms\/OS_backup\/routes-$(hostname)-$(date +%Y%m%d_%H%M).txt\n\n# Backup LVM configuration\necho \"*************************************\" &gt; \/rdbms\/OS_backup\/LVM-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"# vgs\" &gt;&gt; \/rdbms\/OS_backup\/LVM-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/LVM-$(hostname)-$(date +%Y%m%d_%H%M).txt\nvgs &gt;&gt; \/rdbms\/OS_backup\/LVM-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho &gt;&gt; \/rdbms\/OS_backup\/LVM-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho &gt;&gt; \/rdbms\/OS_backup\/LVM-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/LVM-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"# lvs\" &gt;&gt; \/rdbms\/OS_backup\/LVM-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/LVM-$(hostname)-$(date +%Y%m%d_%H%M).txt\nlvs &gt;&gt; \/rdbms\/OS_backup\/LVM-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho &gt;&gt; \/rdbms\/OS_backup\/LVM-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho &gt;&gt; \/rdbms\/OS_backup\/LVM-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/LVM-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"# pvs\" &gt;&gt; \/rdbms\/OS_backup\/LVM-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/LVM-$(hostname)-$(date +%Y%m%d_%H%M).txt\npvs &gt;&gt; \/rdbms\/OS_backup\/LVM-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho &gt;&gt; \/rdbms\/OS_backup\/LVM-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho &gt;&gt; \/rdbms\/OS_backup\/LVM-$(hostname)-$(date +%Y%m%d_%H%M).txt\n\n# SELinux\necho \"*************************************\" &gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"# getenforce\" &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\ngetenforce &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"# sestatus\" &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\nsestatus &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"# selinux config file\" &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\ncat \/etc\/selinux\/config &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"# SELinux is enabled at kernel level?\" &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\ncat \/proc\/cmdline | grep -i selinux &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"# detailed policy and booleans\" &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho \"*************************************\" &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\nsemanage boolean -l &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\necho &gt;&gt; \/rdbms\/OS_backup\/SELinux-$(hostname)-$(date +%Y%m%d_%H%M).txt\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">I ran the scripts:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV scripts]# .\/OS_backup.sh\nGenerating grub configuration file ...\nFound linux image: \/boot\/vmlinuz-5.4.17-2036.102.0.2.el7uek.x86_64\nFound initrd image: \/boot\/initramfs-5.4.17-2036.102.0.2.el7uek.x86_64.img\nFound linux image: \/boot\/vmlinuz-5.4.17-2036.100.6.1.el7uek.x86_64\nFound initrd image: \/boot\/initramfs-5.4.17-2036.100.6.1.el7uek.x86_64.img\nFound linux image: \/boot\/vmlinuz-4.14.35-2025.402.2.1.el7uek.x86_64\nFound initrd image: \/boot\/initramfs-4.14.35-2025.402.2.1.el7uek.x86_64.img\nFound linux image: \/boot\/vmlinuz-3.10.0-1160.11.1.el7.x86_64\nFound initrd image: \/boot\/initramfs-3.10.0-1160.11.1.el7.x86_64.img\nFound linux image: \/boot\/vmlinuz-3.10.0-1160.6.1.el7.x86_64\nFound linux image: \/boot\/vmlinuz-0-rescue-939798bf09ac467188081e34260fbcfd\nFound initrd image: \/boot\/initramfs-0-rescue-939798bf09ac467188081e34260fbcfd.img\ndone\nlsblk: nvme2c2n1: hidden, ignore\nlsblk: nvme1c1n1: hidden, ignore\nlsblk: nvme0c0n1: hidden, ignore\nlsblk: nvme5c5n1: hidden, ignore\nlsblk: nvme4c4n1: hidden, ignore\nlsblk: nvme3c3n1: hidden, ignore\nlsblk: nvme2c2n1: hidden, ignore\nlsblk: nvme1c1n1: hidden, ignore\nlsblk: nvme0c0n1: hidden, ignore\nlsblk: nvme5c5n1: hidden, ignore\nlsblk: nvme4c4n1: hidden, ignore\nlsblk: nvme3c3n1: hidden, ignore\n[root@SRV scripts]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">And I checked the backup files:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4]\">\n[root@SRV OS_backup]# pwd\n\/rdbms\/OS_backup\n\n[root@SRV OS_backup]# ls -ltrh\ntotal 2.6G\n-rw-r--r--. 1 root root 2.6G Jun 17 14:38 ol7-os-backup-SRV.INT.CUSTNAME.CH-20260617_1436.tgz\n-rw-r--r--. 1 root root  17K Jun 17 14:38 rpm-list-SRV.INT.CUSTNAME.CH-20260617_1438.txt\n-rw-r--r--. 1 root root   32 Jun 17 14:38 OS-release-SRV.INT.CUSTNAME.CH-20260617_1438.txt\n-rw-r--r--. 1 root root 8.3K Jun 17 14:38 grub-SRV.INT.CUSTNAME.CH-20260617_1438.cfg\n-rw-r--r--. 1 root root 9.0K Jun 17 14:38 lsblk-SRV.INT.CUSTNAME.CH-20260617_1438.txt\n-rw-r--r--. 1 root root  16K Jun 17 14:38 systemd-units-SRV.INT.CUSTNAME.CH-20260617_1438.txt\n-rw-r--r--. 1 root root 2.0K Jun 17 14:38 ip-SRV.INT.CUSTNAME.CH-20260617_1438.txt\n-rw-r--r--. 1 root root  131 Jun 17 14:38 routes-SRV.INT.CUSTNAME.CH-20260617_1438.txt\n-rw-r--r--. 1 root root 1.6K Jun 17 14:38 LVM-SRV.INT.CUSTNAME.CH-20260617_1438.txt\n-rw-r--r--. 1 root root  26K Jun 17 14:38 SELinux-SRV.INT.CUSTNAME.CH-20260617_1438.txt\n[root@SRV OS_backup]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">I also saved this file on a NFS mount point to get them out of the server.<\/p>\n\n\n\n<h3>Check Oracle Linux current version<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I confirmed we are currently running OL 7.9.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV scripts]# cat \/etc\/oracle-release\nOracle Linux Server release 7.9\n<\/pre>\n<\/br>\n\n\n\n<h3>Stop Oracle resources: databases and listener<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Databases and listener need to be stop during the in-place upgrade process and we need to ensure that will not be started during reboot. We will therefore stop the oracle resources and update \/etc\/oratab.<\/p>\n\n\n\n<h4>Check current running oracle resources<\/h4>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,12]\">\noracle@SRV:~\/ [rdbms193000] ps -ef | grep -i [p]mon\noracle    5761     1  0 14:12 ?        00:00:00 ora_pmon_DB6\noracle    5763     1  0 14:12 ?        00:00:00 ora_pmon_DB1\noracle    5767     1  0 14:12 ?        00:00:00 ora_pmon_DB8\noracle    5797     1  0 14:12 ?        00:00:00 ora_pmon_DB2\noracle    5803     1  0 14:12 ?        00:00:00 ora_pmon_DB7\noracle    5805     1  0 14:12 ?        00:00:00 ora_pmon_DB4\noracle    5807     1  0 14:12 ?        00:00:00 ora_pmon_DB3\noracle    5809     1  0 14:12 ?        00:00:00 ora_pmon_DB5\noracle    5855     1  0 14:12 ?        00:00:00 ora_pmon_DB9\n\noracle@SRV:~\/ [rdbms193000] ps -ef | grep -i [t]nslsn\noracle    2316     1  0 14:12 ?        00:00:00 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/tnslsnr LISTENER_DB1 -inherit\noracle    2545     1  0 14:12 ?        00:00:00 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/tnslsnr LISTENER_DB2 -inherit\noracle    2731     1  0 14:12 ?        00:00:00 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/tnslsnr LISTENER_DG -inherit\noracle    2938     1  0 14:12 ?        00:00:00 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/tnslsnr LISTENER_DB3 -inherit\noracle    3133     1  0 14:12 ?        00:00:00 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/tnslsnr LISTENER_DB4 -inherit\noracle    3416     1  0 14:12 ?        00:00:00 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120_MX\/bin\/tnslsnr LISTENER_DB5 -inherit\noracle    3639     1  0 14:12 ?        00:00:00 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120_MX\/bin\/tnslsnr LISTENER_DB6 -inherit\noracle    3822     1  0 14:12 ?        00:00:00 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/tnslsnr LISTENER_DB7 -inherit\noracle    4005     1  0 14:12 ?        00:00:00 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/tnslsnr LISTENER_DB8 -inherit\noracle    4189     1  5 14:12 ?        00:02:07 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/tnslsnr LISTENER_DB9 -inherit\noracle    4372     1  0 14:12 ?        00:00:00 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/tnslsnr LISTENER_DB10 -inherit\noracle@SRV:~\/ [rdbms193000]\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">Also I ensured all the running databases are standby databases (see below mo for mount status and mrp for physical standby database). Switchover has been run previously.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>DB DB1 mo mrp \/rdbms\/u01\/app\/oracle\/product\/19.30.260120<br>DB DB2 mo mrp \/rdbms\/u01\/app\/oracle\/product\/19.30.260120<br>DB DB3 mo mrp \/rdbms\/u01\/app\/oracle\/product\/19.30.260120<br>DB DB4 mo mrp \/rdbms\/u01\/app\/oracle\/product\/19.30.260120<br>DB DB5 mo mrp \/rdbms\/u01\/app\/oracle\/product\/19.30.260120_MX<br>DB DB6 mo mrp \/rdbms\/u01\/app\/oracle\/product\/19.30.260120_MX<br>DB DB7 mo mrp \/rdbms\/u01\/app\/oracle\/product\/19.30.260120<br>DB DB8 mo mrp \/rdbms\/u01\/app\/oracle\/product\/19.30.260120<br>DB DB9 mo mrp \/rdbms\/u01\/app\/oracle\/product\/19.30.260120<br>DB DB10 of \/rdbms\/u01\/app\/oracle\/product\/19.30.260120<\/code><\/p>\n\n\n\n<h4>Update oratab<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Put all DB to N in oratab to ensure they will not start automatically on reboot.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,2]\">\noracle@SRV:~\/ [rdbms193000] vi \/etc\/oratab\noracle@SRV:~\/ [rdbms193000] cat \/etc\/oratab\n#\n\n\n\n# This file is used by ORACLE utilities.  It is created by root.sh\n# and updated by either Database Configuration Assistant while creating\n# a database or ASM Configuration Assistant while creating ASM instance.\n\n# A colon, ':', is used as the field terminator.  A new line terminates\n# the entry.  Lines beginning with a pound sign, '#', are comments.\n#\n# Entries are of the form:\n#   $ORACLE_SID:$ORACLE_HOME::\n#\n# The first and second fields are the system identifier and home\n# directory of the database respectively.  The third field indicates\n# to the dbstart utility that the database should , \"Y\", or should not,\n# \"N\", be brought up at system boot time.\n#\n# Multiple entries with the same $ORACLE_SID are not allowed.\n#\n#\nDB10:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120:N\nDB3:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120:N\nDB9:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120:N\nDB4:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120:N\nDB1:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120:N\nDB8:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120:N\nDB7:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120:N\nDB2:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120:N\nDB5:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120_MX:N\nDB6:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120_MX:N\noracle@SRV:~\/ [rdbms193000]\n<\/pre>\n<\/br>\n\n\n\n<h4>Stop databases<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">I then stopped all databases. I was using our dmk tool, and I&#8217;m sure everybody knows how to stop Oracle databases. <code>shutdown immediate<\/code> command will make the job.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@SRV:~\/ [rdbms193000] database.ksh stop\n2026-06-17_14:52:48::database.ksh::ProcessAllDB         ::INFO ==&gt; Number of database(s) to process: 10\n2026-06-17_14:52:48::database.ksh::ProcessAllDB         ::INFO ==&gt; Number of available CPUs        : 16\n2026-06-17_14:52:48::database.ksh::ProcessAllDB         ::INFO ==&gt; Number of usable CPUs           : 15\n2026-06-17_14:52:48::database.ksh::ProcessAllDB         ::INFO ==&gt; Nbr of database(s) to process per CPU: 1\n2026-06-17_14:52:48::database.ksh::ProcessAllDB         ::INFO ==&gt; Nbr of database(s) undispached       : 0\n...\n2026-06-17_14:53:13::database.ksh::CheckStatus          ::INFO ==&gt; Current Status for DB7 is ... stopped\n2026-06-17_14:53:13::database.ksh::CheckStatus          ::INFO ==&gt; Current Status for DB2 is ... stopped\n2026-06-17_14:53:13::database.ksh::CheckStatus          ::INFO ==&gt; Current Status for DB4 is ... stopped\n2026-06-17_14:53:13::database.ksh::CheckStatus          ::INFO ==&gt; Current Status for DB5 is ... stopped\n2026-06-17_14:53:13::database.ksh::CheckStatus          ::INFO ==&gt; Current Status for DB9 is ... stopped\noracle@SRV:~\/ [rdbms193000]\n<\/pre>\n<\/br>\n\n\n\n<h4>Stop listeners<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">I also stopped all listeners. I used our dmk took but you could run <code>lsnrctl stop<\/code> command.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@SRV:~\/ [rdbms193000] listener.ksh stop\n...\n...\n...\nLSNRCTL for Linux: Version 19.0.0.0.0 - Production on 17-JUN-2026 14:53:49\n\nCopyright (c) 1991, 2025, Oracle.  All rights reserved.\n\nConnecting to (ADDRESS=(PROTOCOL=TCP)(HOST=SRV.INT.custname.CH)(PORT=1560))\nThe command completed successfully\n2026-06-17_14:53:49::listener.ksh::CheckStatus          ::INFO ==&gt; Current Status for LISTENER_DB5 is ... stopped\n2026-06-17_14:53:49::listener.ksh::DoCommand            ::INFO ==&gt; Command Return Code : 0\n2026-06-17_14:53:49::listener.ksh::DoCommand            ::INFO ==&gt; STOP listener LISTENER_DB6\n2026-06-17_14:53:49::listener.ksh::CheckStatus          ::INFO ==&gt; Status for LISTENER_DB6 is ... started\n\nLSNRCTL for Linux: Version 19.0.0.0.0 - Production on 17-JUN-2026 14:53:49\n\nCopyright (c) 1991, 2025, Oracle.  All rights reserved.\n\nConnecting to (ADDRESS=(PROTOCOL=TCP)(HOST=SRV.INT.custname.CH)(PORT=1561))\nThe command completed successfully\n2026-06-17_14:53:49::listener.ksh::CheckStatus          ::INFO ==&gt; Current Status for LISTENER_DB6 is ... stopped\n2026-06-17_14:53:49::listener.ksh::DoCommand            ::INFO ==&gt; Command Return Code : 0\n2026-06-17_14:53:49::listener.ksh::CleanExit            ::INFO ==&gt; Program exited with ExitCode : 0\noracle@SRV:~\/ [rdbms193000]\n<\/pre>\n<\/br>\n\n\n\n<h4>Check Oracle running resources<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s ensure all Oracle resources have been stopped:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,2]\">\noracle@SRV:~\/ [rdbms193000] ps -ef | grep -i [p]mon\noracle@SRV:~\/ [rdbms193000] ps -ef | grep -i [t]nslsn\noracle@SRV:~\/ [rdbms193000]\n<\/pre>\n<\/br>\n\n\n\n<h3>Install leapp<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The in-place upgrade will be done with leapp. We need to install the leapp package.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I checked existing leapp package:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV scripts]# rpm -qa | grep -i leapp\n[root@SRV scripts]# \n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">Leapp package is not installed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I installed the package and could see none is existing in current repo, and I do not have any leapp repo:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,9,12]\">\n[root@SRV scripts]# yum install -y leapp-upgrade --enablerepo=ol7_leapp,ol7_latest\nLoaded plugins: ulninfo\nepel\/x86_64\/metalink                                                                                                                                               | 3.5 kB  00:00:00\nol7_UEKR6                                                                                                                                                          | 3.0 kB  00:00:00\nol7_latest                                                                                                                                                         | 3.6 kB  00:00:00\nNo package leapp-upgrade available.\nError: Nothing to do\n\n[root@SRV scripts]# yum repolist all | grep -i leapp\n[root@SRV scripts]#\n\n[root@SRV scripts]# ls -ltrh \/etc\/yum.repos.d\/\ntotal 20K\n-rw-r--r--. 1 root root  226 Oct  1  2020 virt-ol7.repo\n-rw-r--r--. 1 root root 2.6K Oct  1  2020 uek-ol7.repo\n-rw-r--r--. 1 root root 4.0K Oct  1  2020 oracle-linux-ol7.repo\n-rw-r--r--. 1 root root 1.5K Sep  4  2021 epel-testing.repo\n-rw-r--r--. 1 root root 1.4K Sep  4  2021 epel.repo\n[root@SRV scripts]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">I updated the oraclelinux-release-el7 repository release package to last 1.0-17.el7 version:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV scripts]# yum update oraclelinux-release-el7\nLoaded plugins: ulninfo\nResolving Dependencies\nThere are unfinished DB8actions remaining. You might consider running yum-complete-DB8action, or \"yum-complete-DB8action --cleanup-only\" and \"yum history redo last\", first to finish them. If those don't work you'll have to try removing\/installing packages by hand (maybe package-cleanup can help).\n--&gt; Running DB8action check\n---&gt; Package oraclelinux-release-el7.x86_64 0:1.0-13.1.el7 will be updated\n---&gt; Package oraclelinux-release-el7.x86_64 0:1.0-17.el7 will be an update\n--&gt; Finished Dependency Resolution\n\nDependencies Resolved\n\n==========================================================================================================================================================================================\n Package                                                Arch                                  Version                                     Repository                                 Size\n==========================================================================================================================================================================================\nUpdating:\n oraclelinux-release-el7                                x86_64                                1.0-17.el7                                  ol7_latest                                 22 k\n\nDB8action Summary\n==========================================================================================================================================================================================\nUpgrade  1 Package\n\nTotal download size: 22 k\nIs this ok [y\/d\/N]: y\nDownloading packages:\nDelta RPMs disabled because \/usr\/bin\/applydeltarpm not installed.\noraclelinux-release-el7-1.0-17.el7.x86_64.rpm                                                                                                                      |  22 kB  00:00:00\nRunning DB8action check\nRunning DB8action test\nDB8action test succeeded\nRunning DB8action\n  Updating   : oraclelinux-release-el7-1.0-17.el7.x86_64                                                                                                                              1\/2\n  Cleanup    : oraclelinux-release-el7-1.0-13.1.el7.x86_64                                                                                                                            2\/2\n  Verifying  : oraclelinux-release-el7-1.0-17.el7.x86_64                                                                                                                              1\/2\n  Verifying  : oraclelinux-release-el7-1.0-13.1.el7.x86_64                                                                                                                            2\/2\n\nUpdated:\n  oraclelinux-release-el7.x86_64 0:1.0-17.el7\n\nComplete!\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">Now I have a ol7_leapp repository:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV scripts]# yum repolist all | grep -i leapp\nol7_leapp\/x86_64                  Leapp Upgrade Utilities for Or disabled\n[root@SRV scripts]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">And I could installed leapp package:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV scripts]# yum install -y leapp-upgrade --enablerepo=ol7_leapp,ol7_latest\nLoaded plugins: ulninfo\nol7_leapp                                                                                                                                                          | 3.0 kB  00:00:00\n(1\/2): ol7_leapp\/x86_64\/updateinfo                                                                                                                                 |  47 kB  00:00:00\n(2\/2): ol7_leapp\/x86_64\/primary_db                                                                                                                                 |  44 kB  00:00:00\n...\nInstalled:\n  leapp-upgrade-el7toel8.noarch 0:0.20.0-2.0.11.el7_9\n\nDependency Installed:\n  dnf.noarch 0:4.0.9.2-1.el7_6                                dnf-data.noarch 0:4.0.9.2-1.el7_6          leapp.noarch 0:0.17.0-1.0.2.el7_9         leapp-deps.noarch 0:0.17.0-1.0.2.el7_9\n  leapp-upgrade-el7toel8-deps.noarch 0:0.20.0-2.0.11.el7_9    libcomps.x86_64 0:0.1.8-14.el7             libdnf.x86_64 0:0.22.5-1.el7_8            libmodulemd.x86_64 0:1.6.3-1.el7\n  librepo.x86_64 0:1.8.1-8.el7_9                              libsolv.x86_64 0:0.6.34-4.el7              libyaml.x86_64 0:0.1.4-11.el7_0           python-backports.x86_64 0:1.0-8.el7\n  python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7  python-enum34.noarch 0:1.0.4-1.el7         python-ipaddress.noarch 0:1.0.16-2.el7    python-requests.noarch 0:2.6.0-10.el7\n  python-setuptools.noarch 0:0.9.8-7.0.1.el7                  python-six.noarch 0:1.9.0-2.el7            python-urllib3.noarch 0:1.10.2-7.0.1.el7  python2-dnf.noarch 0:4.0.9.2-1.el7_6\n  python2-hawkey.x86_64 0:0.22.5-1.el7_8                      python2-leapp.noarch 0:0.17.0-1.0.2.el7_9  python2-libcomps.x86_64 0:0.1.8-14.el7    python2-libdnf.x86_64 0:0.22.5-1.el7_8\n\nComplete!\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">And I could confirm leapp rpm has been successfully installed and is available:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV scripts]# rpm -qa | grep -i leapp\nleapp-deps-0.17.0-1.0.2.el7_9.noarch\nleapp-upgrade-el7toel8-deps-0.20.0-2.0.11.el7_9.noarch\nleapp-0.17.0-1.0.2.el7_9.noarch\npython2-leapp-0.17.0-1.0.2.el7_9.noarch\nleapp-upgrade-el7toel8-0.20.0-2.0.11.el7_9.noarch\n[root@SRV scripts]#\n<\/pre>\n<\/br>\n\n\n\n<h3>System prechecks and prepare system for the upgrade<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">There is a few requirements that needs to be done before starting in-place upgrade with leapp.<\/p>\n\n\n\n<h4>Set PermitRootLogin to yes<\/h4>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,5,7]\">\n[root@SRV ~]# grep -i PermitRootLogin \/etc\/ssh\/sshd_config\n#PermitRootLogin yes\n# the setting of \"PermitRootLogin without-password\".\n\n[root@SRV ~]# vi \/etc\/ssh\/sshd_config\n\n[root@SRV ~]# grep -i PermitRootLogin \/etc\/ssh\/sshd_config\nPermitRootLogin yes\n# the setting of \"PermitRootLogin without-password\".\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<h4>Restart sshd service<\/h4>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# systemctl restart sshd\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<h4>Deactivate CIFS<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">No CIFS mount point should be existing during the upgrade. Use command <code>mount -t cifs<\/code> to check if some are existing. If it is the case they should be visible with <code>df -h<\/code> command. All should be unmounted with root user using command <code>umount<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is also important to comment out the CIFS mount point from the \/etc\/fstab file to ensure they will be not automatically mounted during upgrade reboot.<\/p>\n\n\n\n<h4>Check secureboot is disabled<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ensure secure boot is disabled:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,5]\">\n[root@SRV ~]# bootctl status\nSystem:\n   Machine ID: 939798bf09ac467188081e34260fbcfd\n      Boot ID: 50f116f91fe1424c97890e75a8f48915\n  Secure Boot: disabled\n   Setup Mode: user\n\nSelected Firmware Entry:\n        Title: Oracle Linux\n    Partition: \/dev\/disk\/by-partuuid\/27483f47-6405-48f9-a000-23e722ff4add\n         File: \u2514\u2500\/EFI\/redhat\/shimx64.efi\n\nNo suitable data is provided by the boot manager. See:\n  http:\/\/www.freedesktop.org\/wiki\/Software\/systemd\/BootLoaderInterface\n  http:\/\/www.freedesktop.org\/wiki\/Specifications\/BootLoaderSpec\nfor details.\n\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<h4>Configure proxy in yum.conf if needed<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">If proxy is needed to connect to outside, it is important to have it configured in yum.conf.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# grep -i proxy \/etc\/yum.conf\nproxy=http:\/\/172.X.X.X:3128\n<\/pre>\n<\/br>\n\n\n\n<h4>Check if version lock installed<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">No version lock rpm should be installed.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# rpm -qa | grep -i yum-plugin-versionlock\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<h4>Get last el7 package version<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ensure we are getting last version for all installed packages.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# yum update -y\nLoaded plugins: ulninfo\nResolving Dependencies\nThere are unfinished DB8actions remaining. You might consider running yum-complete-DB8action, or \"yum-complete-DB8action --cleanup-only\" and \"yum history redo last\", first to finish them. If those don't work you'll have to try removing\/installing packages by hand (maybe package-cleanup can help).\n--&gt; Running DB8action check\n---&gt; Package NetworkManager.x86_64 1:1.18.8-1.el7 will be updated\n---&gt; Package NetworkManager.x86_64 1:1.18.8-2.el7_9 will be updated\n---&gt; Package NetworkManager.x86_64 1:1.18.8-2.0.1.el7_9 will be an update\n---&gt; Package NetworkManager-config-server.noarch 1:1.18.8-2.el7_9 will be updated\n---&gt; Package NetworkManager-config-server.noarch 1:1.18.8-2.0.1.el7_9 will be an update\n---&gt; Package NetworkManager-glib.x86_64 1:1.18.8-2.el7_9 will be updated\n---&gt; Package NetworkManager-glib.x86_64 1:1.18.8-2.0.1.el7_9 will be an update\n---&gt; Package NetworkManager-libnm.x86_64 1:1.18.8-1.el7 will be updated\n---&gt; Package NetworkManager-libnm.x86_64 1:1.18.8-2.el7_9 will be updated\n---&gt; Package NetworkManager-libnm.x86_64 1:1.18.8-2.0.1.el7_9 will be an update\n---&gt; Package NetworkManager-team.x86_64 1:1.18.8-1.el7 will be updated\n---&gt; Package NetworkManager-team.x86_64 1:1.18.8-2.el7_9 will be updated\n---&gt; Package NetworkManager-team.x86_64 1:1.18.8-2.0.1.el7_9 will be an update\n---&gt; Package NetworkManager-tui.x86_64 1:1.18.8-2.el7_9 will be updated\n---&gt; Package NetworkManager-tui.x86_64 1:1.18.8-2.0.1.el7_9 will be an update\n---&gt; Package bash.x86_64 0:4.2.46-34.el7 will be updated\n---&gt; Package bash.x86_64 0:4.2.46-35.el7_9 will be an update\n...\n...\n...\n(181\/183): zlib-1.2.7-21.el7_9.x86_64.rpm                                                                                                                          |  90 kB  00:00:00\n(182\/183): kernel-uek-5.4.17-2136.338.4.2.el7uek.x86_64.rpm                                                                                                        | 112 MB  00:00:33\n(183\/183): linux-firmware-20241003-999.35.git95bfe086.el7.noarch.rpm                                                                                               | 382 MB  00:00:56\n------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\nTotal                                                                                                                                                     9.9 MB\/s | 731 MB  00:01:13\nRunning DB8action check\nRunning DB8action test\nDB8action test succeeded\nRunning DB8action\n  Updating   : 1:grub2-common-2.02-0.87.0.26.el7_9.14.noarch                                                                                                                        1\/415\n  Updating   : 1:redhat-release-server-7.9-6.0.1.el7_9.x86_64                                                                                                                       2\/415\n  Updating   : 32:bind-license-9.11.4-26.0.1.P2.el7_9.16.noarch                                                                                                                     3\/415\n  Updating   : 1:grub2-pc-modules-2.02-0.87.0.26.el7_9.14.noarch                                                                                                                    4\/415\n  Updating   : kbd-misc-1.15.5-16.el7_9.noarch                                                                                                                                      5\/415\n  Updating   : libX11-common-1.6.7-5.el7_9.noarch                                                                                                                                   6\/415\n  Updating   : kernel-headers-3.10.0-1160.119.1.0.5.el7.x86_64                                                                                                                      7\/415\n  Updating   : firewalld-filesystem-0.6.3-13.0.1.el7_9.noarch                                                                                                                       8\/415\n  Updating   : libreport-filesystem-2.1.11-53.0.3.el7.x86_64                                                                                                                        9\/415\n  Updating   : kbd-legacy-1.15.5-16.el7_9.noarch                                                                                                                                   10\/415\n  Installing : 999:iwlax2xx-firmware-20241003-999.35.el7.noarch [###########################                                                                                    ]  11\/415...\n...\n...\n...\n  Cleanup    : glibc-common-2.17-317.0.1.el7.x86_64                                                                                                                               409\/415\n  Cleanup    : bash-4.2.46-34.el7.x86_64                                                                                                                                          410\/415\n  Cleanup    : nspr.x86_64                                                                                                                                                        411\/415\n  Cleanup    : nss-util.x86_64                                                                                                                                                    412\/415\n  Cleanup    : nss-softokn-freebl.x86_64                                                                                                                                          413\/415\n  Cleanup    : glibc-2.17-317.0.1.el7.x86_64                                                                                                                                      414\/415\n  Cleanup    : tzdata-2020f-1.el7.noarch                                                                                                                                          415\/415\n  ...\n  ...\n  ...\n  rpm-build-libs.x86_64 0:4.11.3-48.0.3.el7_9                 rpm-libs.x86_64 0:4.11.3-48.0.3.el7_9                             rpm-python.x86_64 0:4.11.3-48.0.3.el7_9\n  rsync.x86_64 0:3.1.2-12.el7_9                               rsyslog.x86_64 0:8.24.0-57.0.3.el7_9.3                            samba-client-libs.x86_64 0:4.10.16-25.0.5.el7_9\n  samba-common.noarch 0:4.10.16-25.0.5.el7_9                  samba-common-libs.x86_64 0:4.10.16-25.0.5.el7_9                   selinux-policy.noarch 0:3.13.1-268.0.25.el7_9.2\n  selinux-policy-targeted.noarch 0:3.13.1-268.0.25.el7_9.2    shim-x64.x86_64 0:15.8-1.0.3.el7                                  strace.x86_64 0:4.24-7.el7_9\n  sudo.x86_64 0:1.8.23-10.el7_9.3                             sysstat.x86_64 0:10.1.5-20.0.3.el7_9                              systemd.x86_64 0:219-78.0.17.el7_9.9\n  systemd-libs.x86_64 0:219-78.0.17.el7_9.9                   systemd-sysv.x86_64 0:219-78.0.17.el7_9.9                         tuned.noarch 0:2.11.0-12.0.3.el7_9\n  tzdata.noarch 0:2024b-2.el7                                 unzip.x86_64 0:6.0-24.0.1.el7_9                                   util-linux.x86_64 0:2.23.2-65.0.4.el7_9.1\n  virt-what.x86_64 0:1.18-4.el7_9.1                           wpa_supplicant.x86_64 1:2.6-12.el7_9.2                            xz.x86_64 0:5.2.2-2.el7_9\n  xz-libs.x86_64 0:5.2.2-2.el7_9                              yum.noarch 0:3.4.3-168.0.5.el7                                    zlib.x86_64 0:1.2.7-21.el7_9\n\nComplete!\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">It is important to reboot the server so it can start on the last kernel, otherwise we will have a leapp report error.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,10]\">\n[root@SRV ~]# systemctl reboot\n\nlogin as: root\nroot@SRV's password:\nLast failed login: Wed Jun 17 15:26:51 CEST 2026 from ts3-back.int.custname.ch on ssh:notty\nThere was 1 failed login attempt since the last successful login.\nLast login: Wed Jun 17 14:37:30 2026 from ts3-back.int.custname.ch\n\n\n[root@SRV ~]# uptime\n 15:26:56 up 1 min,  1 user,  load average: 0.49, 0.23, 0.09\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<h4>ULN Registration<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Check that system is not register with ULN.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,10,17,21,23]\">\n[root@SRV ~]# rpm -qa | grep -Ei 'uln|rhn'\nrhnsd-5.0.13-10.0.1.el7.x86_64\nrhn-setup-2.0.2-24.0.11.el7.x86_64\nrhn-check-2.0.2-24.0.11.el7.x86_64\nyum-plugin-ulninfo-0.2-13.el7.noarch\nyum-rhn-plugin-2.0.1-10.0.1.el7.noarch\nrhn-client-tools-2.0.2-24.0.11.el7.x86_64\nrhnlib-2.5.65-8.0.5.el7.noarch\n\n[root@SRV ~]# ls -l \/etc\/sysconfig\/rhn\ntotal 8\ndrwxr-xr-x. 4 root root   39 Aug  1  2023 allowed-actions\ndrwxr-xr-x. 2 root root    6 Aug  1  2023 clientCaps.d\n-rw-r--r--. 1 root root   13 Jun 17  2013 rhnsd\n-rw-r--r--. 1 root root 1897 Aug  1  2023 up2date\n\n[root@SRV ~]# yum repolist all | grep -iE 'uln|oraclelinux|linux.oracle.com'\nLoaded plugins: ulninfo\nol8_oraclelinuxmanager210_client\/x86_64 Oracle Linux Manager Cli disabled\n\n[root@SRV ~]# grep -Ri \"linux.oracle.com\\|uln\" \/etc\/yum.repos.d\/\n\n[root@SRV ~]# uln-channel -l\nUnable to locate SystemId file. Is this system registered?\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<h3>Run pre-upgrade<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">We can now run the preupgrade.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">[root@SRV ~]# leapp preupgrade --oraclelinux\n==&gt; Processing phase `configuration_phase`\n====&gt; * ipu_workflow_config\n        IPU workflow config actor\n==&gt; Processing phase `FactsCollection`\n====&gt; * DB8action_workarounds\n        Provides additional RPM DB8action tasks based on bundled RPM packages.\n====&gt; * scan_kernel_cmdline\n        No documentation has been provided for the scan_kernel_cmdline actor.\n====&gt; * persistentnetnames\n        Get network interface information for physical ethernet interfaces of the original system.\n====&gt; * common_leapp_dracut_modules\n        Influences the generation of the initram disk\n====&gt; * scanmemory\n        Scan Memory of the machine.\n...\n...\n...\n====&gt; * target_userspace_creator\n        Initializes a directory to be populated as a minimal environment to run binaries from the target system.\nLatest Unbreakable Enterprise Kernel Release 6  0.0  B\/s |   0  B     00:00\nOracle Linux 8 Application Stream (x86_64)      0.0  B\/s |   0  B     00:00\nOracle Linux 8 BaseOS Latest (x86_64)           0.0  B\/s |   0  B     00:00\nNo match for argument: dnf\nNo match for argument: util-linux\nNo match for argument: dnf-command(config-manager)\n\n============================================================\n                           ERRORS\n============================================================\n\n2026-06-17 15:42:12.075669 [ERROR] Actor: target_userspace_creator\nMessage: Unable to install OL 8 userspace packages.\nSummary:\n    Details: DNF failed to install userspace packages, likely due to the proxy configuration detected in the YUM\/DNF configuration file. Make sure the proxy is properly configured in \/etc\/dnf\/dnf.conf. It's also possible the proxy settings in the DNF configuration file are incompatible with the target system. A compatible configuration can be placed in \/etc\/leapp\/files\/dnf.conf which, if present, will be used during the upgrade instead of \/etc\/dnf\/dnf.conf. In such case the configuration will also be applied to the target system.\n    Stderr: Host and machine ids are equal (939798bf09ac467188081e34260fbcfd): refusing to link journals\n            Failed to synchronize cache for repo 'ol8_UEKR6', ignoring this repo.\n            Failed to synchronize cache for repo 'ol8_appstream', ignoring this repo.\n            Failed to synchronize cache for repo 'ol8_baseos_latest', ignoring this repo.\n            Error: Unable to find a match: dnf util-linux dnf-command(config-manager)\n\n============================================================\n                       END OF ERRORS\n============================================================\n\nDebug output written to \/var\/log\/leapp\/leapp-preupgrade.log\n\n============================================================\n                      REPORT OVERVIEW\n============================================================\n\nFollowing errors occurred and the upgrade cannot continue:\n    1. Actor: target_userspace_creator\n       Message: Unable to install OL 8 userspace packages.\n\nHIGH and MEDIUM severity reports:\n    1. Packages available in excluded repositories will not be installed\n    2. Packages not signed by Oracle found on the system\n    3. Detected customized configuration for dynamic linker.\n    4. Difference in Python versions and support in OL 8\n    5. Default Boot Kernel\n\nReports summary:\n    Errors:                      1\n    Inhibitors:                  0\n    HIGH severity reports:       4\n    MEDIUM severity reports:     1\n    LOW severity reports:        5\n    INFO severity reports:       3\n\nBefore continuing consult the full report:\n    A report has been generated at \/var\/log\/leapp\/leapp-report.json\n    A report has been generated at \/var\/log\/leapp\/leapp-report.txt\n\n============================================================\n                   END OF REPORT OVERVIEW\n============================================================\n\nAnswerfile has been generated at \/var\/log\/leapp\/answerfile\n[root@SRV ~]#\n<\/pre>\n<br>\n\n\n\n<h3>Check preupgrade report<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">From the preupgrade command output, we can see the number of errors. All errors and inhibitor are mandatory to be resolved. I would fully recommend to resolve as well all high severity issues and to, at least review the medium, low and info severity.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Some issues need to be resolved before the upgrade, some after.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I can have details of the issue from the leapp-report.txt file. Here extract of mine:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# cat \/var\/log\/leapp\/leapp-report.txt\nRisk Factor: high (error)\nTitle: Unable to install OL 8 userspace packages.\nSummary: {\"details\": \"DNF failed to install userspace packages, likely due to the proxy configuration detected in the YUM\/DNF configuration file. Make sure the proxy is properly configured in \/etc\/dnf\/dnf.conf. It's also possible the proxy settings in the DNF configuration file are incompatible with the target system. A compatible configuration can be placed in \/etc\/leapp\/files\/dnf.conf which, if present, will be used during the upgrade instead of \/etc\/dnf\/dnf.conf. In such case the configuration will also be applied to the target system.\", \"stderr\": \"Host and machine ids are equal (939798bf09ac467188081e34260fbcfd): refusing to link journals\nFailed to synchronize cache for repo 'ol8_UEKR6', ignoring this repo.\nFailed to synchronize cache for repo 'ol8_appstream', ignoring this repo.\nFailed to synchronize cache for repo 'ol8_baseos_latest', ignoring this repo.\nError: Unable to find a match: dnf util-linux dnf-command(config-manager)\n\"}\nKey: d090c9f87ad7eae313bd4101ba68dbcf8697f3e4\n----------------------------------------\nRisk Factor: high\nTitle: Packages available in excluded repositories will not be installed\nSummary: 4 packages will be skipped because they are available only in target system repositories that are intentionally excluded from the list of repositories used during the upgrade. See the report message titled \"Excluded target system repositories\" for details.\nThe list of these packages:\n- libnsl2-devel (repoid: ol8_codeready_builder)\n- python3-pyxattr (repoid: ol8_codeready_builder)\n- rpcgen (repoid: ol8_codeready_builder)\n- rpcsvc-proto-devel (repoid: ol8_codeready_builder)\nKey: 2437e204808f987477c0e9be8e4c95b3a87a9f3e\n----------------------------------------\nRisk Factor: high\nTitle: Packages not signed by Oracle found on the system\nSummary: The following packages have not been signed by Oracle and may be removed during the upgrade process in case Oracle-signed packages to be removed during the upgrade depend on them:\n- collectd\n- epel-release\n- libzstd\nKey: f5a5d58476a97bf0a8904d00df5d1321189849ad\n----------------------------------------\nRisk Factor: high\nTitle: Detected customized configuration for dynamic linker.\nSummary: Custom configurations to the dynamic linker could potentially impact the upgrade in a negative way. The custom configuration includes modifications to \/etc\/ld.so.conf, custom or modified drop in config files in the \/etc\/ld.so.conf.d directory and additional entries in the LD_LIBRARY_PATH or LD_PRELOAD variables. These modifications configure the dynamic linker to use different libraries that might not be provided by Oracle products or might not be present during the whole upgrade process. The following custom configurations were detected by leapp:\n- The following drop in config files were marked as custom:\n    - \/etc\/ld.so.conf.d\/mariadb-x86_64.conf\nRemediation: [hint] Remove or revert the custom dynamic linker configurations and apply the changes using the ldconfig command. In case of possible active software collections we suggest disabling them persistently.\nKey: cc9bd972af70b7a27f66a37b11a00dcfcb73b1bc\n----------------------------------------\nRisk Factor: high\nTitle: Difference in Python versions and support in OL 8\nSummary: In OL 8, there is no 'python' command. Python 3 (backward incompatible) is the primary Python version and Python 2 is available with limited support and limited set of packages. If you no longer require Python 2 packages following the upgrade, please remove them. Read more here: https:\/\/docs.oracle.com\/en\/operating-systems\/oracle-linux\/8\/python\/\nRelated links:\n    - Difference in Python versions and support in OL 8: https:\/\/docs.oracle.com\/en\/operating-systems\/oracle-linux\/8\/python\/\nRemediation: [hint] Please run \"alternatives --set python \/usr\/bin\/python3\" after upgrade\nKey: 2f3a43f4f448995eec953217d54f388ed94838b2\n...\n...\n...\n<\/pre>\n<\/br>\n\n\n\n<h3>Resolve issues<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I resolved the issue that needs to be resolved before the upgrade: 1 error and 2 high severity. In this chapter I describe how I resolved them.<\/p>\n\n\n\n<h4>Solve issue #1 : Unable to install OL 8 userspace packages. &#8211; high (error)<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The problem here is that leapp can not download the OL 8 packages because the proxy is not part of the dnf configuration. Let&#8217;s add it.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,5,7]\">\n[root@SRV ~]# grep -i proxy \/etc\/yum.conf\nproxy=http:\/\/172.X.X.X:3128\n\n[root@SRV ~]# grep -i proxy \/etc\/dnf\/dnf.conf\n[root@SRV ~]# vi \/etc\/dnf\/dnf.conf\n\n[root@SRV ~]# grep -i proxy \/etc\/dnf\/dnf.conf\nproxy=http:\/\/172.X.X.X:3128\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<h4>Solve issue #2 &#8211; Detected customized configuration for dynamic linker. &#8211; (high)<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Looking to the next command, it seems the MariaDB library installation is broken. Not sure what happened during a previous yum installation.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,7,11,12,15]\">\n[root@SRV ~]# ls -ltrh \/etc\/ld.so.conf.d\/mariadb-x86_64.conf\n-rw-r--r--. 1 root root 17 Oct  1  2020 \/etc\/ld.so.conf.d\/mariadb-x86_64.conf\n\n[root@SRV ~]# cat \/etc\/ld.so.conf.d\/mariadb-x86_64.conf\n\/usr\/lib64\/mysql\n\n[root@SRV ~]# rpm -qa | grep -i mariadb\nmariadb-libs-5.5.65-1.el7.x86_64\nmariadb-libs-5.5.68-1.el7.x86_64\n\n[root@SRV ~]# rpm -qa | grep -i mysql\n[root@SRV ~]# ldconfig -p | grep -i maria\n[root@SRV ~]#\n\n[root@SRV ~]# rpm -qf \/etc\/ld.so.conf.d\/mariadb-x86_64.conf\nmariadb-libs-5.5.65-1.el7.x86_64\nmariadb-libs-5.5.68-1.el7.x86_64\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">Moreover there is 2 versions of the same mariadb package installed simultaneously, which should never happened.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I decided to check if there were other duplicated packages:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# package-cleanup --dupes\nlibcroco-0.6.12-6.el7_9.x86_64\nlibcroco-0.6.12-4.el7.x86_64\nlz4-1.8.3-1.el7.x86_64\nlz4-1.7.5-3.el7.x86_64\niprutils-2.4.17.1-3.el7.x86_64\niprutils-2.4.17.1-3.el7_7.x86_64\nnumactl-libs-2.0.12-5.el7.x86_64\nnumactl-libs-2.0.12-5.0.3.el7.x86_64\nfile-libs-5.11-36.el7.x86_64\nfile-libs-5.11-37.el7.x86_64\nsed-4.2.2-6.el7.x86_64\nsed-4.2.2-7.el7.x86_64\nlshw-B.02.18-17.el7.x86_64\nlshw-B.02.18-14.el7.x86_64\nfile-5.11-36.el7.x86_64\nfile-5.11-37.el7.x86_64\nkmod-20-28.0.1.el7.x86_64\nkmod-20-28.0.3.el7.x86_64\ncoreutils-8.22-24.0.1.el7.x86_64\ncoreutils-8.22-24.0.1.el7_9.2.x86_64\ndbus-libs-1.10.24-13.0.1.el7_6.x86_64\ndbus-libs-1.10.24-15.0.1.el7.x86_64\nelfutils-libelf-0.176-5.el7.x86_64\nelfutils-libelf-0.176-4.el7.x86_64\nfreetype-2.8-14.el7.x86_64\nfreetype-2.8-14.el7_9.1.x86_64\nplymouth-core-libs-0.8.9-0.34.20140113.0.1.el7.x86_64\nplymouth-core-libs-0.8.9-0.33.20140113.0.1.el7.x86_64\ncpio-2.11-27.el7.x86_64\ncpio-2.11-28.el7.x86_64\nkmod-libs-20-28.0.3.el7.x86_64\nkmod-libs-20-28.0.1.el7.x86_64\nlibpng-1.5.13-8.el7.x86_64\nlibpng-1.5.13-7.el7_2.x86_64\nlibteam-1.29-1.el7.x86_64\nlibteam-1.29-3.el7.x86_64\nelfutils-libs-0.176-4.el7.x86_64\nelfutils-libs-0.176-5.el7.x86_64\ndbus-1.10.24-13.0.1.el7_6.x86_64\ndbus-1.10.24-15.0.1.el7.x86_64\nmariadb-libs-5.5.65-1.el7.x86_64\nmariadb-libs-5.5.68-1.el7.x86_64\nelfutils-default-yama-scope-0.176-5.el7.noarch\nelfutils-default-yama-scope-0.176-4.el7.noarch\nteamd-1.29-3.el7.x86_64\nteamd-1.29-1.el7.x86_64\ndevice-mapper-persistent-data-0.8.5-2.el7.x86_64\ndevice-mapper-persistent-data-0.8.5-3.el7_9.2.x86_64\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">There were many!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For each of them I checked, which package is really the oldest:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# rpm -q --last libcroco\nlibcroco-0.6.12-6.el7_9.x86_64                Mon 16 Nov 2020 02:37:57 PM CET\nlibcroco-0.6.12-4.el7.x86_64                  Wed 28 Oct 2020 10:35:18 AM CET\n[root@SRV ~]# \n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">And removed the oldest one:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,21]\">\n[root@SRV ~]# yum remove libcroco-0.6.12-4.el7.x86_64\nLoaded plugins: ulninfo\nResolving Dependencies\n--&gt; Running DB8action check\n---&gt; Package libcroco.x86_64 0:0.6.12-4.el7 will be erased\n--&gt; Finished Dependency Resolution\n\nDependencies Resolved\n\n=========================================================================================================================================================================================================================\n Package                                           Arch                                            Version                                                  Repository                                              Size\n=========================================================================================================================================================================================================================\nRemoving:\n libcroco                                          x86_64                                          0.6.12-4.el7                                             @anaconda\/7.8                                          313 k\n\nDB8action Summary\n=========================================================================================================================================================================================================================\nRemove  1 Package\n\nInstalled size: 313 k\nIs this ok [y\/N]: y\nDownloading packages:\nRunning DB8action check\nRunning DB8action test\nDB8action test succeeded\nRunning DB8action\n  Erasing    : libcroco-0.6.12-4.el7.x86_64                                                                                                                                                                          1\/1\n  Verifying  : libcroco-0.6.12-4.el7.x86_64                                                                                                                                                                          1\/1\n\nRemoved:\n  libcroco.x86_64 0:0.6.12-4.el7\n\nComplete!\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">And I did this for all duplicate packages, removing the oldest one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To finally have a clean system:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# package-cleanup --dupes\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">Knowing maria package was not used, I removed mariadb libs one.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4]\">\n[root@SRV ~]# rpm -qf \/etc\/ld.so.conf.d\/mariadb-x86_64.conf\nmariadb-libs-5.5.68-1.el7.x86_64\n\n[root@SRV ~]# yum remove mariadb-libs\nLoaded plugins: ulninfo\nResolving Dependencies\n--&gt; Running DB8action check\n---&gt; Package mariadb-libs.x86_64 1:5.5.68-1.el7 will be erased\n--&gt; Processing Dependency: libmysqlclient.so.18()(64bit) for package: 2:postfix-2.10.1-9.el7.x86_64\n--&gt; Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: 2:postfix-2.10.1-9.el7.x86_64\n--&gt; Running DB8action check\n---&gt; Package postfix.x86_64 2:2.10.1-9.el7 will be erased\n--&gt; Finished Dependency Resolution\n\nDependencies Resolved\n\n=========================================================================================================================================================================================================================\n Package                                              Arch                                           Version                                                 Repository                                             Size\n=========================================================================================================================================================================================================================\nRemoving:\n mariadb-libs                                         x86_64                                         1:5.5.68-1.el7                                          installed                                             4.4 M\nRemoving for dependencies:\n postfix                                              x86_64                                         2:2.10.1-9.el7                                          @anaconda\/7.8                                          12 M\n\nDB8action Summary\n=========================================================================================================================================================================================================================\nRemove  1 Package (+1 Dependent package)\n\nInstalled size: 17 M\nIs this ok [y\/N]: N\nExiting on user command\nYour DB8action was saved, rerun it with:\n yum load-DB8action \/tmp\/yum_save_tx.2026-06-17.17-17.bwc_7l.yumtx\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">I checked system cache libraries:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,2]\">\n[root@SRV ~]# ldconfig -p | grep -i maria\n[root@SRV ~]# ldconfig -p | grep -i mysql\n        libmysqlclient.so.18 (libc6,x86-64) =&gt; \/usr\/lib64\/mysql\/libmysqlclient.so.18\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">And knowing there were none for mariadb package I decided to move the mariadb configuration file that tells ldconfig where MariaDB&#8217;s shared libraries are located. In any case, customer was not using mariadb and mysql.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3,5,8,12]\">\n[root@SRV ~]# mkdir \/root\/leap_issue\n\n[root@SRV ~]# mv \/etc\/ld.so.conf.d\/mariadb-x86_64.conf \/root\/leap_issue\/\n\n[root@SRV ~]# ls -ltrh \/etc\/ld.so.conf.d\/mariadb-x86_64.conf\nls: cannot access \/etc\/ld.so.conf.d\/mariadb-x86_64.conf: No such file or directory\n\n[root@SRV ~]# ls -ltrh \/root\/leap_issue\/\ntotal 4.0K\n-rw-r--r--. 1 root root 17 Oct  1  2020 mariadb-x86_64.conf\n\n[root@SRV ~]# ldconfig\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h4>Remove old kernel<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">I also made some free space in the \/boot file system removing old kernel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I check boot file system occupency:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# df -h \/boot\nFilesystem      Size  Used Avail Use% Mounted on\n\/dev\/sdb2       482M  318M  165M  66% \/boot\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">I checked the kernel that I&#8217;m currently running:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# uname -r\n5.4.17-2136.338.4.2.el7uek.x86_64\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">I checked the installed kernel:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# rpm -qa | grep -i kernel\nkernel-tools-3.10.0-1160.119.1.0.5.el7.x86_64\nkernel-tools-libs-3.10.0-1160.119.1.0.5.el7.x86_64\nkernel-uek-5.4.17-2036.102.0.2.el7uek.x86_64\nkernel-3.10.0-1160.6.1.el7.x86_64\nkernel-3.10.0-1160.119.1.0.5.el7.x86_64\nkernel-uek-5.4.17-2136.338.4.2.el7uek.x86_64\nkernel-uek-5.4.17-2036.100.6.1.el7uek.x86_64\nkernel-3.10.0-1160.11.1.el7.x86_64\nkernel-headers-3.10.0-1160.119.1.0.5.el7.x86_64\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">And removed the old one:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,2]\">\n[root@SRV ~]# rpm -e kernel-uek-5.4.17-2036.102.0.2.el7uek.x86_64\n[root@SRV ~]# rpm -e kernel-uek-5.4.17-2036.100.6.1.el7uek.x86_64\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">And I could then free some space in the file system:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# df -h \/boot\nFilesystem      Size  Used Avail Use% Mounted on\n\/dev\/sdb2       482M  218M  264M  46% \/boot\n<\/pre>\n<\/br>\n\n\n\n<h3>Run a preupgrade report again<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I ran a preupgrade report again:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# leapp preupgrade --oraclelinux\n==&gt; Processing phase `configuration_phase`\n====&gt; * ipu_workflow_config\n        IPU workflow config actor\n==&gt; Processing phase `FactsCollection`\n====&gt; * scan_systemd_source\n        Provides info about systemd on the source system\n====&gt; * scan_source_files\n        Scan files (explicitly specified) of the source system.\n====&gt; * repository_mapping\n...\n...\n...\nLatest Unbreakable Enterprise Kernel Release 6   10 MB\/s | 148 MB     00:14\nOracle Linux 8 Application Stream (x86_64)       11 MB\/s |  82 MB     00:07\nOracle Linux 8 BaseOS Latest (x86_64)            11 MB\/s | 145 MB     00:13\nLast metadata expiration check: 0:00:23 ago on Thu Jun 18 07:55:00 2026.\nDependencies resolved.\n================================================================================\n Package              Arch   Version                    Repository         Size\n================================================================================\nInstalling:\n dnf                  noarch 4.7.0-21.0.1.el8_10        ol8_baseos_latest 542 k\n dnf-plugins-core     noarch 4.0.21-25.0.1.el8          ol8_baseos_latest  76 k\n util-linux           x86_64 2.32.1-48.0.2.el8_10       ol8_baseos_latest 2.5 M\nInstalling dependencies:\n libcom_err           x86_64 1.46.2-2.el8               ol8_UEKR6          51 k\n\n...\n...\n...\n\n irqbalance                                x86_64  2:1.9.2-1.el8                                  ol8_baseos_latest   72 k\n libcgroup                                 x86_64  0.41-19.el8                                    ol8_baseos_latest   70 k\n libcroco                                  x86_64  0.6.12-4.el8_2.1                               ol8_baseos_latest  113 k\n libzstd                                   x86_64  1.4.4-1.0.1.el8                                ol8_baseos_latest  266 k\n oracle-database-preinstall-19c            x86_64  1.0-2.el8                                      ol8_appstream       31 k\n sg3_utils                                 x86_64  1.44-6.el8                                     ol8_baseos_latest  918 k\n sg3_utils-libs                            x86_64  1.44-6.el8                                     ol8_baseos_latest   99 k\nEnabling module streams:\n gimp                                              2.8\n mariadb                                           10.3\n python27                                          2.7\n python36                                          3.6\n satellite-5-client                                1.0\n\nDB8action Summary\n==========================================================================================================================\nInstall    231 Packages\nUpgrade    373 Packages\nRemove      72 Packages\nDowngrade    8 Packages\n\nTotal size: 1.3 G\nTotal download size: 1.1 G\nDownloading Packages:\nCheck completed.\n==&gt; Processing phase `Reports`\n====&gt; * verify_check_results\n        Check all dialogs and notify that user needs to make some choices.\n====&gt; * verify_check_results\n        Check all generated results messages and notify user about them.\n\nDebug output written to \/var\/log\/leapp\/leapp-preupgrade.log\n\n============================================================\n                      REPORT OVERVIEW\n============================================================\n\nUpgrade has been inhibited due to the following problems:\n    1. Missing required answers in the answer file\n\nHIGH and MEDIUM severity reports:\n    1. Packages available in excluded repositories will not be installed\n    2. Packages not signed by Oracle found on the system\n    3. Difference in Python versions and support in OL 8\n    4. Default Boot Kernel\n\nReports summary:\n    Errors:                      0\n    Inhibitors:                  1\n    HIGH severity reports:       3\n    MEDIUM severity reports:     1\n    LOW severity reports:        5\n    INFO severity reports:       3\n\nBefore continuing consult the full report:\n    A report has been generated at \/var\/log\/leapp\/leapp-report.json\n    A report has been generated at \/var\/log\/leapp\/leapp-report.txt\n\n============================================================\n                   END OF REPORT OVERVIEW\n============================================================\n\nAnswerfile has been generated at \/var\/log\/leapp\/answerfile\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">I could already see that now leapp can download the OL8 packages.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I have 1 inhibitors errors to resolve and let&#8217;s see the 3 high issues.<\/p>\n\n\n\n<h3>Check leapp preupgrade new report<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I checked the report for details on the issue:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,7]\">\nroot@SRV ~]# ls -ltrh \/var\/log\/leapp\/leapp-report.txt\n-rw-r--r--. 1 root root 8.7K Jun 18 07:57 \/var\/log\/leapp\/leapp-report.txt\n\n[root@SRV ~]# date\nThu Jun 18 07:59:45 CEST 2026\n\n[root@SRV ~]# cat \/var\/log\/leapp\/leapp-report.txt\nRisk Factor: high (inhibitor)\nTitle: Missing required answers in the answer file\nSummary: One or more sections in answerfile are missing user choices: remove_pam_pkcs11_module_check.confirm\nFor more information consult https:\/\/docs.oracle.com\/en\/operating-systems\/oracle-linux\/8\/leapp\/leapp-UpgradingtheSystem.html#preupgrade-report.\nRemediation: [hint] Please register user choices with leapp answer cli command or by manually editing the answerfile.\n[command] leapp answer --section remove_pam_pkcs11_module_check.confirm=True\nKey: d35f6c6b1b1fa6924ef442e3670d90fa92f0d54b\n----------------------------------------\nRisk Factor: high\nTitle: Packages available in excluded repositories will not be installed\nSummary: 4 packages will be skipped because they are available only in target system repositories that are intentionally excluded from the list of repositories used during the upgrade. See the report message titled \"Excluded target system repositories\" for details.\nThe list of these packages:\n- libnsl2-devel (repoid: ol8_codeready_builder)\n- python3-pyxattr (repoid: ol8_codeready_builder)\n- rpcgen (repoid: ol8_codeready_builder)\n- rpcsvc-proto-devel (repoid: ol8_codeready_builder)\nKey: 2437e204808f987477c0e9be8e4c95b3a87a9f3e\n----------------------------------------\nRisk Factor: high\nTitle: Packages not signed by Oracle found on the system\nSummary: The following packages have not been signed by Oracle and may be removed during the upgrade process in case Oracle-signed packages to be removed during the upgrade depend on them:\n- collectd\n- epel-release\n- libzstd\nKey: f5a5d58476a97bf0a8904d00df5d1321189849ad\n----------------------------------------\nRisk Factor: high\nTitle: Difference in Python versions and support in OL 8\nSummary: In OL 8, there is no 'python' command. Python 3 (backward incompatible) is the primary Python version and Python 2 is available with limited support and limited set of packages. If you no longer require Python 2 packages following the upgrade, please remove them. Read more here: https:\/\/docs.oracle.com\/en\/operating-systems\/oracle-linux\/8\/python\/\nRelated links:\n    - Difference in Python versions and support in OL 8: https:\/\/docs.oracle.com\/en\/operating-systems\/oracle-linux\/8\/python\/\nRemediation: [hint] Please run \"alternatives --set python \/usr\/bin\/python3\" after upgrade\nKey: 2f3a43f4f448995eec953217d54f388ed94838b2\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">There is only 1 inhibitor error to resolve, the 3 others high issue will be resolved after the upgrade.<\/p>\n\n\n\n<h3>Resolve the inhibitor issue<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">We just need to update the answer file by running following command:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# leapp answer --section remove_pam_pkcs11_module_check.confirm=True\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">And I can check the answer file:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# ls -ltrh \/var\/log\/leapp\/answerfile\n-rw-r--r--. 1 root root 49 Jun 18 08:02 \/var\/log\/leapp\/answerfile\n[root@SRV ~]# cat \/var\/log\/leapp\/answerfile\n[remove_pam_pkcs11_module_check]\nconfirm = True\n\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<h3>A last preupgrade leapp report<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I decided to run the preupgrade one last time and could see that I do not have any inhibitor error any more. And the 3 high severity are known and will be addressed at the end.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# leapp preupgrade --oraclelinux\n...\n...\n...\nReports summary:\n    Errors:                      0\n    Inhibitors:                  0\n    HIGH severity reports:       3\n    MEDIUM severity reports:     2\n    LOW severity reports:        5\n    INFO severity reports:       3\n\nBefore continuing consult the full report:\n    A report has been generated at \/var\/log\/leapp\/leapp-report.json\n    A report has been generated at \/var\/log\/leapp\/leapp-report.txt\n\n============================================================\n                   END OF REPORT OVERVIEW\n============================================================\n\nAnswerfile has been generated at \/var\/log\/leapp\/answerfile\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<h3>Check file system occupancy<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I checked file system occupancy:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# df -h\nFilesystem                     Size  Used Avail Use% Mounted on\ndevtmpfs                       252G     0  252G   0% \/dev\ntmpfs                          252G     0  252G   0% \/dev\/shm\ntmpfs                          252G   11M  252G   1% \/run\ntmpfs                          252G     0  252G   0% \/sys\/fs\/cgroup\n\/dev\/mapper\/vgroot--lv-root    7.5G  3.2G  4.3G  43% \/\n\/dev\/mapper\/vgroot--lv-usr      12G  2.4G  8.9G  21% \/usr\n\/dev\/mapper\/vgdata-lv--data    8.8T  5.0T  3.8T  57% \/data\n\/dev\/mapper\/vgroot--lv-home    7.5G  3.9G  3.6G  53% \/home\n\/dev\/mapper\/vgroot--lv-tmp     4.7G   33M  4.7G   1% \/tmp\n\/dev\/mapper\/vgroot--lv-var     9.4G  3.4G  6.0G  36% \/var\n\/dev\/sdb2                      482M  218M  264M  46% \/boot\n\/dev\/mapper\/vgrdbms-lv--rdbms   11T  1.9T  8.7T  18% \/rdbms\n\/dev\/mapper\/vgroot--lv-opt      15G  623M   15G   5% \/opt\n\/dev\/sdb1                      952M  7.4M  944M   1% \/boot\/efi\ntmpfs                           51G     0   51G   0% \/run\/user\/0\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">Which is ok.<\/p>\n\n\n\n<h3>Leapp answer file<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I checked leapp answer file:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# cat \/var\/log\/leapp\/answerfile\n[remove_pam_pkcs11_module_check]\n# Title:              None\n# Reason:             Confirmation\n# =================== remove_pam_pkcs11_module_check.confirm ==================\n# Label:              Disable pam_pkcs11 module in PAM configuration? If no, the upgrade process will be interrupted.\n# Description:        PAM module pam_pkcs11 is no longer available in OL-8 since it was replaced by SSSD.\n# Reason:             Leaving this module in PAM configuration may lock out the system.\n# Type:               bool\n# Default:            None\n# Available choices: True\/False\nconfirm = True\n\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">All good.<\/p>\n\n\n\n<h3>Run the upgrade<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Now I&#8217;m ready to run the upgrade.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is important to have a console opened. I decided to run the upgrade in the console, but I could do it in a ssh session. The console is a must so we can see what is happening once we will reboot after the first part of the upgrade is done.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Starting leapp upgrade with the command <code>leapp upgrade --oraclelinux<\/code>.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a6ceab76eb4d&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a6ceab76eb4d\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"928\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-2-1024x928.jpg\" alt=\"\" class=\"wp-image-46106\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-2-1024x928.jpg 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-2-300x272.jpg 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-2-768x696.jpg 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-2.jpg 1031w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">End of the first upgrade execution:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a6ceab76f231&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a6ceab76f231\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"907\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-11-1024x907.jpg\" alt=\"\" class=\"wp-image-46109\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-11-1024x907.jpg 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-11-300x266.jpg 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-11-768x680.jpg 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-11.jpg 1061w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">During this execution, I can also tail the leapp upgrade log file:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4]\">\n[root@SRV ~]# ls -ltrh \/var\/log\/leapp\/leapp-upgrade.log\n-rw-r--r--. 1 root root 224K Jun 18 08:52 \/var\/log\/leapp\/leapp-upgrade.log\n\n[root@SRV ~]# tail -f \/var\/log\/leapp\/leapp-upgrade.log\n2026-06-18 08:52:27.495 DEBUG    PID: 32639 leapp.workflow.FactsCollection.rpm_scanner: python|2.7.5|94.0.1.el7_9|0|(none)|x86_64|RSA\/SHA256, Mon 13 Nov 2023 10:38:45 AM CET, Key ID 72f97b74ec551f03\n2026-06-18 08:52:27.496 DEBUG    PID: 32639 leapp.workflow.FactsCollection.rpm_scanner: kmod|20|28.0.3.el7|0|(none)|x86_64|RSA\/SHA256, Mon 20 Jul 2020 09:02:02 AM CEST, Key ID 72f97b74ec551f03\n2026-06-18 08:52:27.497 DEBUG    PID: 32639 leapp.workflow.FactsCollection.rpm_scanner: bind-libs|9.11.4|26.0.1.P2.el7_9.16|32|(none)|x86_64|RSA\/SHA256, Mon 14 Oct 2024 09:41:52 PM CEST, Key ID 72f97b74ec551f03\n2026-06-18 08:52:27.497 DEBUG    PID: 32639 leapp.workflow.FactsCollection.rpm_scanner: rhnlib|2.5.65|8.0.5.el7|0|(none)|noarch|RSA\/SHA256, Thu 06 Apr 2023 06:15:51 PM CEST, Key ID 72f97b74ec551f03\n2026-06-18 08:52:27.498 DEBUG    PID: 32639 leapp.workflow.FactsCollection.rpm_scanner: libcurl|7.29.0|59.0.3.el7_9.2|0|(none)|x86_64|RSA\/SHA256, Tue 12 Dec 2023 07:37:52 PM CET, Key ID 72f97b74ec551f03\n2026-06-18 08:52:27.499 DEBUG    PID: 32639 leapp.workflow.FactsCollection.rpm_scanner: openldap|2.4.44|25.el7_9|0|(none)|x86_64|RSA\/SHA256, Tue 22 Feb 2022 06:12:32 PM CET, Key ID 72f97b74ec551f03\n2026-06-18 08:52:27.500 DEBUG    PID: 32639 leapp.workflow.FactsCollection.rpm_scanner: cronie-anacron|1.4.11|25.el7_9|0|(none)|x86_64|RSA\/SHA256, Wed 26 Apr 2023 05:57:25 AM CEST, Key ID 72f97b74ec551f03\n2026-06-18 08:52:27.500 DEBUG    PID: 32639 leapp.workflow.FactsCollection.rpm_scanner: ebtables|2.0.10|16.el7|0|(none)|x86_64|RSA\/SHA256, Sat 27 Jan 2018 02:33:10 PM CET, Key ID 72f97b74ec551f03\n2026-06-18 08:52:27.501 DEBUG    PID: 32639 leapp.workflow.FactsCollection.rpm_scanner: device-mapper-libs|1.02.170|6.0.5.el7_9.5|7|(none)|x86_64|RSA\/SHA256, Fri 21 May 2021 01:16:51 PM CEST, Key ID 72f97b74ec551f03\n2026-06-18 08:52:27.504 DEBUG    PID: 32639 leapp.workflow.FactsCollection.rpm_scanner: External command has finished: ['\/bin\/rpm', '-qa', '--queryformat', '%{NAME}|%{VERSION}|%{RELEASE}|%|EPOCH?{%{EPOCH}}:{0}||%|PACKAGER?{%{PACKAGER}}:{(none)}||%|ARCH?{%{ARCH}}:{}||%|DSAHEADER?{%{DSAHEADER:pgpsig}}:{%|RSAHEADER?{%{RSAHEADER:pgpsig}}:{(none)}|}|\\\\n']\n\n...\n...\n...\n\n2026-06-18 09:06:05.56  DEBUG    PID: 24169 leapp.workflow.InterimPreparation.add_upgrade_boot_entry: External command has finished: ['\/usr\/sbin\/grubby', '--remove-kernel', '\/boot\/vmlinuz-upgrade.x86_64']\n2026-06-18 09:06:05.57  DEBUG    PID: 24169 leapp.workflow.InterimPreparation.add_upgrade_boot_entry: External command has started: ['\/usr\/sbin\/grubby', '--add-kernel', '\/boot\/vmlinuz-upgrade.x86_64', '--initrd', '\/boot\/initramfs-upgrade.x86_64.img', '--title', 'OL-Upgrade-Initramfs', '--copy-default', '--make-default', '--args', ' enforcing=0 rd.plymouth=0 plymouth.enable=0']\n2026-06-18 09:06:05.102 DEBUG    PID: 24169 leapp.workflow.InterimPreparation.add_upgrade_boot_entry: External command has finished: ['\/usr\/sbin\/grubby', '--add-kernel', '\/boot\/vmlinuz-upgrade.x86_64', '--initrd', '\/boot\/initramfs-upgrade.x86_64.img', '--title', 'OL-Upgrade-Initramfs', '--copy-default', '--make-default', '--args', ' enforcing=0 rd.plymouth=0 plymouth.enable=0']\n2026-06-18 09:06:05.108 INFO     PID: 31824 leapp.workflow.InterimPreparation: Starting stage After of phase InterimPreparation\n2026-06-18 09:06:05.116 INFO     PID: 31824 leapp: Answerfile will be created at \/var\/log\/leapp\/answerfile\n<\/pre>\n<\/br>\n\n\n\n<h3>Check leapp report and answer file<\/h3>\n\n\n\n<h4>Check leapp upgrade report<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">As for the preupgrade, I will check the leapp report file and address all issue. There is 3 high severity issue, the same we had in the preupgrade report, and that we will address after the upgrade.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,7]\">\n[root@SRV ~]# ls -ltrh \/var\/log\/leapp\/leapp-report.txt\n-rw-r--r--. 1 root root 8.7K Jun 18 09:06 \/var\/log\/leapp\/leapp-report.txt\n\n[root@SRV ~]# date\nThu Jun 18 09:07:27 CEST 2026\n\n[root@SRV ~]# cat \/var\/log\/leapp\/leapp-report.txt\nRisk Factor: high\nTitle: Packages available in excluded repositories will not be installed\nSummary: 4 packages will be skipped because they are available only in target system repositories that are intentionally excluded from the list of repositories used during the upgrade. See the report message titled \"Excluded target system repositories\" for details.\nThe list of these packages:\n- libnsl2-devel (repoid: ol8_codeready_builder)\n- python3-pyxattr (repoid: ol8_codeready_builder)\n- rpcgen (repoid: ol8_codeready_builder)\n- rpcsvc-proto-devel (repoid: ol8_codeready_builder)\nKey: 2437e204808f987477c0e9be8e4c95b3a87a9f3e\n----------------------------------------\nRisk Factor: high\nTitle: Packages not signed by Oracle found on the system\nSummary: The following packages have not been signed by Oracle and may be removed during the upgrade process in case Oracle-signed packages to be removed during the upgrade depend on them:\n- collectd\n- epel-release\n- libzstd\nKey: f5a5d58476a97bf0a8904d00df5d1321189849ad\n----------------------------------------\nRisk Factor: high\nTitle: Difference in Python versions and support in OL 8\nSummary: In OL 8, there is no 'python' command. Python 3 (backward incompatible) is the primary Python version and Python 2 is available with limited support and limited set of packages. If you no longer require Python 2 packages following the upgrade, please remove them. Read more here: https:\/\/docs.oracle.com\/en\/operating-systems\/oracle-linux\/8\/python\/\nRelated links:\n    - Difference in Python versions and support in OL 8: https:\/\/docs.oracle.com\/en\/operating-systems\/oracle-linux\/8\/python\/\nRemediation: [hint] Please run \"alternatives --set python \/usr\/bin\/python3\" after upgrade\nKey: 2f3a43f4f448995eec953217d54f388ed94838b2\n<\/pre>\n<\/br>\n\n\n\n<h4>Check the answer file<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ensure the answer file is ok.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# ls -ltrh \/var\/log\/leapp\/answerfile\n-rw-r--r--. 1 root root 589 Jun 18 09:06 \/var\/log\/leapp\/answerfile\n[root@SRV ~]# cat \/var\/log\/leapp\/answerfile\n[remove_pam_pkcs11_module_check]\n# Title:              None\n# Reason:             Confirmation\n# =================== remove_pam_pkcs11_module_check.confirm ==================\n# Label:              Disable pam_pkcs11 module in PAM configuration? If no, the upgrade process will be interrupted.\n# Description:        PAM module pam_pkcs11 is no longer available in OL-8 since it was replaced by SSSD.\n# Reason:             Leaving this module in PAM configuration may lock out the system.\n# Type:               bool\n# Default:            None\n# Available choices: True\/False\nconfirm = True\n<\/pre>\n<\/br>\n\n\n\n\n<h3>Reboot<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Now that all is ok and that we are ready to upgrade, we will reboot and the second part of the leapp upgrade will upgrade the OL7 to OL8.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check file system occupancy to ensure there is no full partition:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# df -h\nFilesystem                     Size  Used Avail Use% Mounted on\ndevtmpfs                       252G     0  252G   0% \/dev\ntmpfs                          252G     0  252G   0% \/dev\/shm\ntmpfs                          252G   11M  252G   1% \/run\ntmpfs                          252G     0  252G   0% \/sys\/fs\/cgroup\n\/dev\/mapper\/vgroot--lv-root    7.5G  3.2G  4.3G  43% \/\n\/dev\/mapper\/vgroot--lv-usr      12G  2.4G  8.9G  21% \/usr\n\/dev\/mapper\/vgdata-lv--data    8.8T  5.0T  3.8T  57% \/data\n\/dev\/mapper\/vgroot--lv-home    7.5G  3.9G  3.6G  53% \/home\n\/dev\/mapper\/vgroot--lv-tmp     4.7G   33M  4.7G   1% \/tmp\n\/dev\/mapper\/vgroot--lv-var     9.4G  6.9G  2.5G  74% \/var\n\/dev\/sdb2                      482M  315M  167M  66% \/boot\n\/dev\/mapper\/vgrdbms-lv--rdbms   11T  1.9T  8.7T  18% \/rdbms\n\/dev\/mapper\/vgroot--lv-opt      15G  625M   15G   5% \/opt\n\/dev\/sdb1                      952M  7.4M  944M   1% \/boot\/efi\ntmpfs                           51G     0   51G   0% \/run\/user\/0\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">And reboot!<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# systemctl reboot\n<\/pre>\n<\/br>\n\n\n\n<h3>Monitor the console<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Now the console is very important and we can monitor how the upgrade is on-going.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Following pictures shows some of the screen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The server is rebooting.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a6ceab76fc57&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a6ceab76fc57\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"935\" height=\"284\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-12.jpg\" alt=\"\" class=\"wp-image-46111\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-12.jpg 935w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-12-300x91.jpg 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-12-768x233.jpg 768w\" sizes=\"auto, (max-width: 935px) 100vw, 935px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Reboot on the Upgrade initramfs.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a6ceab77024f&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a6ceab77024f\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"758\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-14-1024x758.jpg\" alt=\"\" class=\"wp-image-46112\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-14-1024x758.jpg 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-14-300x222.jpg 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-14-768x569.jpg 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-14.jpg 1152w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a6ceab7707a5&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a6ceab7707a5\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"835\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-15-1024x835.jpg\" alt=\"\" class=\"wp-image-46113\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-15-1024x835.jpg 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-15-300x244.jpg 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-15-768x626.jpg 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-15.jpg 1227w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">rpm package are upgraded from ol7 to ol8.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a6ceab770d83&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a6ceab770d83\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"899\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-16-1024x899.jpg\" alt=\"\" class=\"wp-image-46114\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-16-1024x899.jpg 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-16-300x263.jpg 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-16-768x674.jpg 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-16.jpg 1138w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a6ceab771311&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a6ceab771311\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"867\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-17-1024x867.jpg\" alt=\"\" class=\"wp-image-46115\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-17-1024x867.jpg 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-17-300x254.jpg 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-17-768x650.jpg 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-17.jpg 1162w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We have one more high severity issue to check and resolve once the upgrade is done.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a6ceab7718de&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a6ceab7718de\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"886\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-19-1024x886.jpg\" alt=\"\" class=\"wp-image-46116\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-19-1024x886.jpg 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-19-300x259.jpg 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-19-768x664.jpg 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-19.jpg 1147w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The server is automatically rebooted several times.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a6ceab771eb5&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a6ceab771eb5\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"786\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-23-1024x786.jpg\" alt=\"\" class=\"wp-image-46117\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-23-1024x786.jpg 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-23-300x230.jpg 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-23-768x589.jpg 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-23.jpg 1161w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">And we are done.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a6ceab772452&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a6ceab772452\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"893\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-29-1024x893.jpg\" alt=\"\" class=\"wp-image-46118\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-29-1024x893.jpg 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-29-300x262.jpg 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-29-768x670.jpg 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-29.jpg 1171w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h3>Check leapp report files<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Now we have a new leapp report file, and we will check it for issue to be resolved.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check file date.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,7,10]\">\n[root@SRV ~]# date\nThu Jun 18 09:46:13 CEST 2026\n\n[root@SRV ~]# uptime\n 09:46:14 up 3 min,  1 user,  load average: 0.27, 0.32, 0.14\n\n[root@SRV ~]# ls -ltrh \/var\/log\/leapp\/leapp-report.txt\n-rw-r--r--. 1 root root 11K Jun 18 09:43 \/var\/log\/leapp\/leapp-report.txt\n\n[root@SRV ~]# ls -ltrh \/var\/log\/leapp\/answerfile\n-rw-r--r--. 1 root root 0 Jun 18 09:43 \/var\/log\/leapp\/answerfile\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">Check answer file content, it should be empty.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# cat \/var\/log\/leapp\/answerfile\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">Check leapp report issue. We will resolve them later on.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# cat \/var\/log\/leapp\/leapp-report.txt\nRisk Factor: high\nTitle: Packages available in excluded repositories will not be installed\nSummary: 4 packages will be skipped because they are available only in target system repositories that are intentionally excluded from the list of repositories used during the upgrade. See the report message titled \"Excluded target system repositories\" for details.\nThe list of these packages:\n- libnsl2-devel (repoid: ol8_codeready_builder)\n- python3-pyxattr (repoid: ol8_codeready_builder)\n- rpcgen (repoid: ol8_codeready_builder)\n- rpcsvc-proto-devel (repoid: ol8_codeready_builder)\nKey: 2437e204808f987477c0e9be8e4c95b3a87a9f3e\n----------------------------------------\nRisk Factor: high\nTitle: Packages not signed by Oracle found on the system\nSummary: The following packages have not been signed by Oracle and may be removed during the upgrade process in case Oracle-signed packages to be removed during the upgrade depend on them:\n- collectd\n- epel-release\n- libzstd\nKey: f5a5d58476a97bf0a8904d00df5d1321189849ad\n----------------------------------------\nRisk Factor: high\nTitle: Difference in Python versions and support in OL 8\nSummary: In OL 8, there is no 'python' command. Python 3 (backward incompatible) is the primary Python version and Python 2 is available with limited support and limited set of packages. If you no longer require Python 2 packages following the upgrade, please remove them. Read more here: https:\/\/docs.oracle.com\/en\/operating-systems\/oracle-linux\/8\/python\/\nRelated links:\n    - Difference in Python versions and support in OL 8: https:\/\/docs.oracle.com\/en\/operating-systems\/oracle-linux\/8\/python\/\nRemediation: [hint] Please run \"alternatives --set python \/usr\/bin\/python3\" after upgrade\nKey: 2f3a43f4f448995eec953217d54f388ed94838b2\n----------------------------------------\nRisk Factor: high\nTitle: Some OL 7 packages have not been upgraded\nSummary: Following OL 7 packages have not been upgraded:\nkernel-3.10.0-1160.119.1.0.5.el7\nkernel-uek-5.4.17-2136.338.4.2.el7uek\nkernel-3.10.0-1160.11.1.el7\nleapp-upgrade-el7toel8-0.20.0-2.0.11.el7_9\nPlease remove these packages to keep your system in supported state.\n\nKey: 1e4e21ca7b2b7d9c59556f4b9813ef0d801af32c\n...\n...\n...\n<\/pre>\n<\/br>\n\n\n\n<h3>Check new sysetm release and kernel<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I checked release and kernel.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,7]\">\n[root@SRV ~]# cat \/etc\/oracle-release\nOracle Linux Server release 8.10\n\n[root@SRV ~]# uname -r\n5.4.17-2136.356.4.2.el8uek.x86_64\n\n[root@SRV ~]# grubby --default-kernel\n\/boot\/vmlinuz-5.4.17-2136.356.4.2.el8uek.x86_64\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">Which is correct, as I can see from following link that the last el8 release is 8.10:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/yum.oracle.com\/repo\/OracleLinux\/OL8\/baseos\/latest\/x86_64\/index.html\">https:\/\/yum.oracle.com\/repo\/OracleLinux\/OL8\/baseos\/latest\/x86_64\/index.html<\/a><\/p>\n\n\n\n<h3>Check file system occupancy<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I checked the file system occupancy and could confirm all is ok.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# df -h\nFilesystem                     Size  Used Avail Use% Mounted on\ndevtmpfs                       252G     0  252G   0% \/dev\ntmpfs                          252G     0  252G   0% \/dev\/shm\ntmpfs                          252G   11M  252G   1% \/run\ntmpfs                          252G     0  252G   0% \/sys\/fs\/cgroup\n\/dev\/mapper\/vgroot--lv-root    7.5G  3.2G  4.3G  43% \/\n\/dev\/mapper\/vgroot--lv-usr      12G  3.6G  7.7G  32% \/usr\n\/dev\/mapper\/vgdata-lv--data    8.8T  5.0T  3.8T  57% \/data\n\/dev\/mapper\/vgroot--lv-home    7.5G  3.9G  3.6G  53% \/home\n\/dev\/mapper\/vgrdbms-lv--rdbms   11T  1.9T  8.7T  18% \/rdbms\n\/dev\/mapper\/vgroot--lv-tmp     4.7G   33M  4.7G   1% \/tmp\n\/dev\/sdb2                      482M  330M  153M  69% \/boot\n\/dev\/sdb1                      952M  6.1M  946M   1% \/boot\/efi\n\/dev\/mapper\/vgroot--lv-opt      15G  627M   15G   5% \/opt\n\/dev\/mapper\/vgroot--lv-var     9.4G  2.2G  7.2G  23% \/var\ntmpfs                           51G     0   51G   0% \/run\/user\/0\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<h3>Postupgrade tasks<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Now I will perform the standard and known postupgrade tasks to be run after an Oracle linux upgrade.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Doing this will also resolve all my high severity issue from the leapp report.<\/p>\n\n\n\n<h4>alternative for python<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The command provided by the process did not work:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# alternatives --set python \/usr\/bin\/python3\nfailed to rename link \/etc\/alternatives\/tmpdir.X8lXqU\/tmp_sl -&gt; \/usr\/share\/man\/man1\/python.1.gz: Invalid cross-device link\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">If I check, I think I&#8217;m good as it is:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,15,16]\">\n[root@SRV ~]# alternatives --display python\npython - status is manual.\n link currently points to \/usr\/bin\/python3\n\/usr\/libexec\/no-python - priority 404\n slave unversioned-python: (null)\n slave unversioned-python-man: \/usr\/share\/man\/man1\/unversioned-python.1.gz\n\/usr\/bin\/python3 - priority 300\n slave unversioned-python: \/usr\/bin\/python3\n slave unversioned-python-man: \/usr\/share\/man\/man1\/python3.1.gz\n\/usr\/bin\/python2 - priority 200\n slave unversioned-python: \/usr\/bin\/python2\n slave unversioned-python-man: \/usr\/share\/man\/man1\/python2.1.gz\nCurrent `best' version is \/usr\/libexec\/no-python.\n\n[root@SRV ~]# alternatives --display unversioned-python\n[root@SRV ~]# readlink -f \/usr\/bin\/python\n\/usr\/libexec\/platform-python3.6\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">Moreover python is working:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,7]\">\n[root@SRV ~]# which python\n\/usr\/bin\/python\n\n[root@SRV ~]# ls -ltrh \/usr\/bin\/python\nlrwxrwxrwx. 1 root root 36 Jun 18 09:53 \/usr\/bin\/python -&gt; \/etc\/alternatives\/unversioned-python\n\n[root@SRV ~]# python --version\nPython 3.6.8\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<h4>firewalld daemon<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">firewalld daemon was inactive before the upgrade, so I kept it as inactive.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# systemctl status firewalld\n\u25cf firewalld.service - firewalld - dynamic firewall daemon\n   Loaded: loaded (\/usr\/lib\/systemd\/system\/firewalld.service; disabled; vendor preset: enabled)\n   Active: inactive (dead)\n     Docs: man:firewalld(1)\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n\n<h4>SELinux<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">I changed SE Linux from permissive to enforcing.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,6]\">\n[root@SRV ~]# getenforce\nPermissive\n\n[root@SRV ~]# setenforce enforcing\n\n[root@SRV ~]# getenforce\nEnforcing\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">Permissive mode: SELinux logs policy violations but does not block them.<br>Enforcing mode: SELinux logs and blocks actions that violate the active policy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I made the changes permanent:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,5,7,11]\">\n[root@SRV ~]# grep -i ^SELINUX \/etc\/selinux\/config\nSELINUX=permissive\nSELINUXTYPE=targeted\n\n[root@SRV ~]# vi \/etc\/selinux\/config\n\n[root@SRV ~]# grep -i ^SELINUX \/etc\/selinux\/config\nSELINUX=Enforcing\nSELINUXTYPE=targeted\n\n[root@SRV ~]# cat \/etc\/selinux\/config\n\n# This file controls the state of SELinux on the system.\n# SELINUX= can take one of these three values:\n#     enforcing - SELinux security policy is enforced.\n#     permissive - SELinux prints warnings instead of enforcing.\n#     disabled - No SELinux policy is loaded.\nSELINUX=Enforcing\n# SELINUXTYPE= can take one of three values:\n#     targeted - Targeted processes are protected,\n#     minimum - Modification of targeted policy. Only selected processes are protected.\n#     mls - Multi Level Security protection.\nSELINUXTYPE=targeted\n\n\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<h4>Update dnf.conf<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Edit \/etc\/dnf\/dnf.conf and comment out exclude= that refer to leapp packages<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,6,10]\">\n[root@SRV ~]# grep -i leapp \/etc\/dnf\/dnf.conf\nexclude=python2-leapp,snactor,leapp-upgrade-el7toel8,leapp\n\n[root@SRV ~]# vi \/etc\/dnf\/dnf.conf\n\n[root@SRV ~]# grep -i leapp \/etc\/dnf\/dnf.conf\n#exclude=python2-leapp,snactor,leapp-upgrade-el7toel8,leapp\n[root@SRV ~]#\n\n[root@SRV ~]# cat \/etc\/dnf\/dnf.conf\n[main]\ngpgcheck=1\ninstallonly_limit=3\nclean_requirements_on_remove=True\nproxy=http:\/\/172.X.X.X:3128\n#exclude=python2-leapp,snactor,leapp-upgrade-el7toel8,leapp\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<h4>set PermitRootLogin no and restart sshd service<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">We will add security here and not permitting to use root to login directly through ssh.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,5,7,11]\">\n[root@SRV ~]# grep -i PermitRootLogin \/etc\/ssh\/sshd_config\nPermitRootLogin yes\n# the setting of \"PermitRootLogin without-password\".\n\n[root@SRV ~]# vi \/etc\/ssh\/sshd_config\n\n[root@SRV ~]# grep -i PermitRootLogin \/etc\/ssh\/sshd_config\nPermitRootLogin no\n# the setting of \"PermitRootLogin without-password\".\n\n[root@SRV ~]# systemctl restart sshd\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n\n<h4>Remove old linux repo and package<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">We need to remove any el7 old package and repo that is still existing. We also need to remove leapp package.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I checked existing old ol7 one:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# rpm -qa | grep el7\nkernel-3.10.0-1160.119.1.0.5.el7.x86_64\nleapp-0.17.0-1.0.2.el7_9.noarch\nkernel-uek-5.4.17-2136.338.4.2.el7uek.x86_64\nkernel-3.10.0-1160.11.1.el7.x86_64\npython2-leapp-0.17.0-1.0.2.el7_9.noarch\nleapp-upgrade-el7toel8-0.20.0-2.0.11.el7_9.noarch<\/pre>\n<\/br>\n\n\n\n\n<p class=\"wp-block-paragraph\">I checked existing leapp package:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# rpm -qa | grep leapp\nleapp-0.17.0-1.0.2.el7_9.noarch\nleapp-repository-deps-el8-5.0.8-100.202401121819Z.0e51aebb.master.el8.noarch\npython2-leapp-0.17.0-1.0.2.el7_9.noarch\nleapp-upgrade-el7toel8-0.20.0-2.0.11.el7_9.noarch\nleapp-deps-el8-5.0.8-100.202401121819Z.0e51aebb.master.el8.noarch\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">So I removed all those packages, as for example:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# dnf remove kernel-3.10.0-1160.11.1.el7.x86_64\nDependencies resolved.\n=============================================================================================================================================================================================\n Package                                  Architecture                             Version                                                   Repository                                 Size\n=============================================================================================================================================================================================\nRemoving:\n kernel                                   x86_64                                   3.10.0-1160.11.1.el7                                      @System                                    64 M\n\nDB8action Summary\n=============================================================================================================================================================================================\nRemove  1 Package\n\nFreed space: 64 M\nIs this ok [y\/N]: y\nRunning DB8action check\nDB8action check succeeded.\nRunning DB8action test\nDB8action test succeeded.\nRunning DB8action\n  Preparing        :                                                                                                                                                                     1\/1\n  Running scriptlet: kernel-3.10.0-1160.11.1.el7.x86_64                                                                                                                                  1\/1\n  Erasing          : kernel-3.10.0-1160.11.1.el7.x86_64                                                                                                                                  1\/1\n  Running scriptlet: kernel-3.10.0-1160.11.1.el7.x86_64                                                                                                                                  1\/1\n  Verifying        : kernel-3.10.0-1160.11.1.el7.x86_64                                                                                                                                  1\/1\n\nRemoved:\n  kernel-3.10.0-1160.11.1.el7.x86_64\n\nComplete!\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">To finally have no more el7 and leapp package:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,2]\">\n[root@SRV ~]# rpm -qa | grep el7\n[root@SRV ~]# rpm -qa | grep leapp\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">And of course I have got el8 package:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# rpm -qa | grep el8 | wc -l\n610\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n\n<h4>Check kernel<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">I confirmed all is ok with the kernel and boot file system occupancy.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,15,19]\">\n[root@SRV ~]# uname -r\n5.4.17-2136.356.4.2.el8uek.x86_64\n\n[root@SRV ~]# rpm -qa | grep -i kernel\nkernel-modules-extra-4.18.0-553.132.1.el8_10.x86_64\nkernel-core-4.18.0-553.132.1.el8_10.x86_64\nkernel-tools-4.18.0-553.132.1.el8_10.x86_64\nkernel-workaround-0.1-1.el8.noarch\nkernel-4.18.0-553.132.1.el8_10.x86_64\nkernel-headers-4.18.0-553.132.1.el8_10.x86_64\nkernel-uek-5.4.17-2136.356.4.2.el8uek.x86_64\nkernel-modules-4.18.0-553.132.1.el8_10.x86_64\nkernel-tools-libs-4.18.0-553.132.1.el8_10.x86_64\n\n[root@SRV ~]# df -h \/boot\nFilesystem      Size  Used Avail Use% Mounted on\n\/dev\/sdb2       482M  213M  270M  45% \/boot\n\n[root@SRV ~]# ls -ltrh \/boot\ntotal 188M\ndrwx------. 3 root root 4.0K Jan  1  1970 efi\n-rw-------. 1 root root  60M Oct 28  2020 initramfs-0-rescue-939798bf09ac467188081e34260fbcfd.img\n-rwxr-xr-x. 1 root root 6.5M Oct 28  2020 vmlinuz-0-rescue-939798bf09ac467188081e34260fbcfd\n-rw-------. 1 root root 4.3M Jun  5 05:34 System.map-5.4.17-2136.356.4.2.el8uek.x86_64\n-rw-r--r--. 1 root root 215K Jun  5 05:34 config-5.4.17-2136.356.4.2.el8uek.x86_64\n-rwxr-xr-x. 1 root root  11M Jun  5 05:35 vmlinuz-5.4.17-2136.356.4.2.el8uek.x86_64\n-rw-------. 1 root root 4.4M Jun 11 11:40 System.map-4.18.0-553.132.1.el8_10.x86_64\n-rw-r--r--. 1 root root 198K Jun 11 11:40 config-4.18.0-553.132.1.el8_10.x86_64\n-rwxr-xr-x. 1 root root  11M Jun 11 11:40 vmlinuz-4.18.0-553.132.1.el8_10.x86_64\ndrwxr-xr-x. 3 root root   21 Jun 18 09:33 loader\nlrwxrwxrwx. 1 root root   57 Jun 18 09:35 symvers-5.4.17-2136.356.4.2.el8uek.x86_64.gz -&gt; \/lib\/modules\/5.4.17-2136.356.4.2.el8uek.x86_64\/symvers.gz\nlrwxrwxrwx. 1 root root   54 Jun 18 09:35 symvers-4.18.0-553.132.1.el8_10.x86_64.gz -&gt; \/lib\/modules\/4.18.0-553.132.1.el8_10.x86_64\/symvers.gz\n-rw-------. 1 root root  29M Jun 18 09:35 initramfs-4.18.0-553.132.1.el8_10.x86_64.img\ndrwx------. 2 root root   21 Jun 18 09:36 grub2\n-rw-------. 1 root root  31M Jun 18 09:37 initramfs-5.4.17-2136.356.4.2.el8uek.x86_64.img\n-rw-------. 1 root root  33M Jun 18 09:43 initramfs-5.4.17-2136.356.4.2.el8uek.x86_64kdump.img\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<h3>Relink oracle binaries<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">After a linux operating system, it is mandatory to relink all rdbms. This is mandatory to relink oracle executables to new operating system libraries.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I did following for all my dbhomes. As an example I will show you the process for rdbms193000.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First all oracle resources need to be stoppe. I stopped databases and listeners.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,2]\">\noracle@SRV:~\/ [rdbms193000] ps -ef | grep -i [t]nslsn\noracle@SRV:~\/ [rdbms193000] ps -ef | grep -i [p]mon\noracle@SRV:~\/ [rdbms193000] \n<\/pre>\n<br>\n\n\n\n\n<p class=\"wp-block-paragraph\">Relink oracle dbhome:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,6]\">\noracle@SRV:~\/ [rdbms193000] echo $ORACLE_HOME\n\/rdbms\/u01\/app\/oracle\/product\/19.30.260120\n\noracle@SRV:~\/ [rdbms193000] cd $ORACLE_HOME\/bin\n\noracle@SRV:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/ [rdbms193000] relink all\nwriting relink log to: \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/install\/relinkActions2026-06-18_10-31-37AM.log\noracle@SRV:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/ [rdbms193000] tail \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/install\/relinkActions2026-06-18_10-31-37AM.log\nrm -f \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/drdaproc\n\nINFO:\nmv \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/rdbms\/lib\/drdaproc \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/drdaproc\n\nINFO:\nchmod 751 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/drdaproc\n\nINFO: End output from spawned process.\nINFO: ----------------------------------\noracle@SRV:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/ [rdbms193000]\n\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">But relink might change ownership and permissions on some oracle files:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,7,10]\">\noracle@SRV:~\/ [rdbms193000] ls -ltrh  $ORACLE_HOME\/bin\/oracle\n-rwsr-s--x. 1 oracle oinstall 448M Jun 18 10:32 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/oracle\n\noracle@SRV:~\/ [rdbms193000] ls -ltrh  $ORACLE_HOME\/bin\/extjob\n-rwxr-xr-x. 1 oracle oinstall 3.0M Jun 18 10:31 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/extjob\n\noracle@SRV:~\/ [rdbms193000] ls -ltrh $ORACLE_HOME\/rdbms\/admin\/externaljob.ora\n-rw-r-----. 1 root oinstall 1.5K Dec 21  2005 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/rdbms\/admin\/externaljob.ora\n\noracle@SRV:~\/ [rdbms193000] ls -ltrh $ORACLE_HOME\/bin\/jssu\n-rwxr-xr-x. 1 oracle oinstall 2.3M Jun 18 10:31 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/jssu\noracle@SRV:~\/ [rdbms193000] \n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">This is why it is mandatory, after relink, to run root.sh. See also Executing &#8220;relink all&#8221; resets permission of extjob, jssu, oradism, externaljob.ora &#8211; KB148555.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Running root.sh goes went in failure:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3]\">\n[root@SRV ~]# cd \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\n\n[root@SRV 19.30.260120]# .\/root.sh\nCheck \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/install\/root_SRV.INT.custname.CH_2026-06-18_10-37-33-682660639.log for the output of root script\n[root@SRV 19.30.260120]# cat \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/install\/root_SRV.INT.custname.CH_2026-06-18_10-37-33-682660639.log\nPerforming root user operation.\n\nThe following environment variables are set as:\n    ORACLE_OWNER= oracle\n    ORACLE_HOME=  \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\n   Copying dbhome to \/usr\/local\/bin ...\n   Copying oraenv to \/usr\/local\/bin ...\n   Copying coraenv to \/usr\/local\/bin ...\n\nEntries will be added to the \/etc\/oratab file as needed by\nDatabase Configuration Assistant when a database is created\nFinished running generic part of root script.\nNow product-specific root actions will be performed.\n.\/root.sh: line 5: \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/suptools\/tfa\/release\/tfa_home\/install\/roottfa.sh: No such file or directory\n<\/pre>\n<\/br>\n\n\n\n\n<p class=\"wp-block-paragraph\">See known issue: &#8220;Roottfa.sh: Not Found&#8221; after executing root.sh script. &#8211; KB104521<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You might want to know that if you run root.sh as part of an ansible playbook you would have the same error, but the script would return a return code of 0, and you might not see that in fact root.sh could not be executed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Resolve the problem by commenting out the tfa line, as we do not have tfa installed on our server.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,6,21,23,29]\">\n[root@SRV 19.30.260120]# cat .\/root.sh\n#!\/bin\/sh\nunset WAS_ROOTMACRO_CALL_MADE\n. \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/install\/utl\/rootmacro.sh \"$@\"\n. \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/install\/utl\/rootinstall.sh\n\/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/suptools\/tfa\/release\/tfa_home\/install\/roottfa.sh\n\/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/install\/root_schagent.sh\n\n#\n# Root Actions related to network\n#\n\/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/network\/install\/sqlnet\/setowner.sh\n\n#\n# Invoke standalone rootadd_rdbms.sh\n#\n\/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/rdbms\/install\/rootadd_rdbms.sh\n\n\/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/rdbms\/install\/rootadd_filemap.sh\n\n[root@SRV 19.30.260120]# vi .\/root.sh\n\n[root@SRV 19.30.260120]# cat .\/root.sh\n#!\/bin\/sh\nunset WAS_ROOTMACRO_CALL_MADE\n. \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/install\/utl\/rootmacro.sh \"$@\"\n. \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/install\/utl\/rootinstall.sh\n#\/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/suptools\/tfa\/release\/tfa_home\/install\/roottfa.sh\n\/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/install\/root_schagent.sh\n\n#\n# Root Actions related to network\n#\n\/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/network\/install\/sqlnet\/setowner.sh\n\n#\n# Invoke standalone rootadd_rdbms.sh\n#\n\/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/rdbms\/install\/rootadd_rdbms.sh\n\n\/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/rdbms\/install\/rootadd_filemap.sh\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">And I could successfully run root.sh.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV 19.30.260120]# .\/root.sh\nCheck \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/install\/root_SRV.INT.custname.CH_2026-06-18_10-39-42-830060996.log for the output of root script\n[root@SRV 19.30.260120]# cat \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/install\/root_SRV.INT.custname.CH_2026-06-18_10-39-42-830060996.log\nPerforming root user operation.\n\nThe following environment variables are set as:\n    ORACLE_OWNER= oracle\n    ORACLE_HOME=  \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\n   Copying dbhome to \/usr\/local\/bin ...\n   Copying oraenv to \/usr\/local\/bin ...\n   Copying coraenv to \/usr\/local\/bin ...\n\nEntries will be added to the \/etc\/oratab file as needed by\nDatabase Configuration Assistant when a database is created\nFinished running generic part of root script.\nNow product-specific root actions will be performed.\n[root@SRV 19.30.260120]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">And if I check, my files permissions are now all good:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,7,10]\">\noracle@SRV:~\/ [rdbms193000] ls -ltrh  $ORACLE_HOME\/bin\/oracle\n-rwsr-s--x. 1 oracle oinstall 448M Jun 18 10:32 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/oracle\n\noracle@SRV:~\/ [rdbms193000] ls -ltrh  $ORACLE_HOME\/bin\/extjob\n-rwsr-x---. 1 root oinstall 3.0M Jun 18 10:31 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/extjob\n\noracle@SRV:~\/ [rdbms193000] ls -ltrh $ORACLE_HOME\/rdbms\/admin\/externaljob.ora\n-rw-r-----. 1 root oinstall 1.5K Dec 21  2005 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/rdbms\/admin\/externaljob.ora\n\noracle@SRV:~\/ [rdbms193000] ls -ltrh $ORACLE_HOME\/bin\/jssu\n-rwsr-x---. 1 root oinstall 2.3M Jun 18 10:31 \/rdbms\/u01\/app\/oracle\/product\/19.30.260120\/bin\/jssu\noracle@SRV:~\/ [rdbms193000]\n<\/pre>\n<\/br>\n\n\n\n<h3>Activate CIFS again<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Now I can update the fstab if I deactivated at the beginning the CIFS mount point, and I can mount all of them.<\/p>\n\n\n\n<h3>oratab file<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I will also update my oratab so the needed database will be restarted automatically at next reboot.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3]\">\noracle@SRV:~\/ [rdbms193000] vi \/etc\/oratab\n\noracle@SRV:~\/ [rdbms193000] cat \/etc\/oratab\n#\n\n\n\n# This file is used by ORACLE utilities.  It is created by root.sh\n# and updated by either Database Configuration Assistant while creating\n# a database or ASM Configuration Assistant while creating ASM instance.\n\n# A colon, ':', is used as the field terminator.  A new line terminates\n# the entry.  Lines beginning with a pound sign, '#', are comments.\n#\n# Entries are of the form:\n#   $ORACLE_SID:$ORACLE_HOME::\n#\n# The first and second fields are the system identifier and home\n# directory of the database respectively.  The third field indicates\n# to the dbstart utility that the database should , \"Y\", or should not,\n# \"N\", be brought up at system boot time.\n#\n# Multiple entries with the same $ORACLE_SID are not allowed.\n#\n#\nDB10:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120:N\nDB3:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120:Y\nDB9:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120:Y\nDB4:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120:Y\nDB1:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120:Y\nDB8:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120:Y\nDB7:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120:Y\nDB2:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120:Y\nDB5:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120_MX:Y\nDB6:\/rdbms\/u01\/app\/oracle\/product\/19.30.260120_MX:Y\n<\/pre>\n<\/br>\n\n\n\n<h3>Cleanup<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I will remove leapp directory.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,6,8]\">\n[root@SRV ~]# ls -ltrh \/root\/tmp_leapp_py3\ntotal 4.0K\n-rwxrwx---. 1 root root 118 Jun 18 09:36 leapp3\nlrwxrwxrwx. 1 root root  38 Jun 18 09:36 leapp -&gt; \/usr\/lib\/python2.7\/site-packages\/leapp\n\n[root@SRV ~]# rm -rf \/root\/tmp_leapp_py3\n\n[root@SRV ~]# ls -ltrh \/root\/tmp_leapp_py3\nls: cannot access '\/root\/tmp_leapp_py3': No such file or directory\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<h3>Check rpm release<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I ensured that I only have el8 package and no more el7 package.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,2,3,5]\">\n[root@SRV ~]# rpm -qa | grep -i el7\n[root@SRV ~]# rpm -qa | grep -i ol7\n[root@SRV ~]# rpm -qa | grep -i el8 | wc -l\n610\n[root@SRV ~]# rpm -qa | grep -i el8 | tail -n3\nlibxmlb-0.1.15-1.el8.x86_64\nlibnetfilter_conntrack-1.0.6-5.el8.x86_64\nlibrepo-1.14.2-5.el8.x86_64\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<h3>Remove el7 repo<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">It is also important to check the repo, because leapp upgrade will not remove customized repo running on el7.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As I can see here, I still have epel el7 repo.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# dnf repolist all\nrepo id                                                           repo name                                                                                                          status\nepel                                                              Extra Packages for Enterprise Linux 7 - x86_64                                                                     enabled\nepel-debuginfo                                                    Extra Packages for Enterprise Linux 7 - x86_64 - Debug                                                             disabled\nepel-source                                                       Extra Packages for Enterprise Linux 7 - x86_64 - Source                                                            disabled\nepel-testing                                                      Extra Packages for Enterprise Linux 7 - Testing - x86_64                                                           disabled\nepel-testing-debuginfo                                            Extra Packages for Enterprise Linux 7 - Testing - x86_64 - Debug                                                   disabled\nepel-testing-source                                               Extra Packages for Enterprise Linux 7 - Testing - x86_64 - Source                                                  disabled\nol8_MODRHCK                                                       Latest RHCK with fixes from Oracle for Oracle Linux 8 (x86_64)                                                     disabled\nol8_UEKR6                                                         Latest Unbreakable Enterprise Kernel Release 6 for Oracle Linux 8 (x86_64)                                         enabled\nol8_UEKR6_RDMA                                                    Oracle Linux 8 UEK6 RDMA (x86_64)                                                                                  disabled\nol8_UEKR7                                                         Latest Unbreakable Enterprise Kernel Release 7 for Oracle Linux 8 (x86_64)                                         disabled\nol8_UEKR7_RDMA                                                    Oracle Linux 8 UEK7 RDMA (x86_64)                                                                                  disabled\n...\n...\n...\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">Moreover those el7 repo are enabled.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I removed it.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,8]\">\n[root@SRV ~]# rpm -qa | grep -i epel\nepel-release-7-14.noarch\n\n[root@SRV ~]# ls -ltrh \/etc\/yum.repos.d\/*epel*\n-rw-r--r--. 1 root root 1.5K Sep  4  2021 \/etc\/yum.repos.d\/epel-testing.repo\n-rw-r--r--. 1 root root 1.4K Sep  4  2021 \/etc\/yum.repos.d\/epel.repo\n\n[root@SRV ~]# dnf remove epel-release-7-14.noarch\nDependencies resolved.\n=============================================================================================================================================================================================\n Package                                           Architecture                                Version                                    Repository                                    Size\n=============================================================================================================================================================================================\nRemoving:\n epel-release                                      noarch                                      7-14                                       @System                                       25 k\n\nDB8action Summary\n=============================================================================================================================================================================================\nRemove  1 Package\n\nFreed space: 25 k\nIs this ok [y\/N]: y\nRunning DB8action check\nDB8action check succeeded.\nRunning DB8action test\nDB8action test succeeded.\nRunning DB8action\n  Preparing        :                                                                                                                                                                     1\/1\n  Running scriptlet: epel-release-7-14.noarch                                                                                                                                            1\/1\n  Erasing          : epel-release-7-14.noarch                                                                                                                                            1\/1\n  Running scriptlet: epel-release-7-14.noarch                                                                                                                                            1\/1\n  Verifying        : epel-release-7-14.noarch                                                                                                                                            1\/1\n\nRemoved:\n  epel-release-7-14.noarch\n\nComplete!\n<\/pre>\n<br>\n\n\n\n<p class=\"wp-block-paragraph\">And I&#8217;m good.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,2]\">\n[root@SRV ~]# rpm -qa | grep -i epel\n[root@SRV ~]# ls -ltrh \/etc\/yum.repos.d\/*epel*\nls: cannot access '\/etc\/yum.repos.d\/*epel*': No such file or directory\n[root@SRV ~]#\n<\/pre>\n<\/br>\n\n\n\n<p class=\"wp-block-paragraph\">And I can ensure that only el8 repo are enabled.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# dnf repolist all --enabled\nrepo id                                                           repo name\nol8_UEKR6                                                         Latest Unbreakable Enterprise Kernel Release 6 for Oracle Linux 8 (x86_64)\nol8_appstream                                                     Oracle Linux 8 Application Stream (x86_64)\nol8_baseos_latest                                                 Oracle Linux 8 BaseOS Latest (x86_64)\n[root@SRV ~]#\n<\/pre>\n<br>\n\n\n\n\n<p class=\"wp-block-paragraph\">If needed I can install epel for el8.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# dnf install oracle-epel-release-el8\nOracle Linux 8 BaseOS Latest (x86_64)                                                                                                                        3.6 MB\/s | 145 MB     00:40\nOracle Linux 8 Application Stream (x86_64)                                                                                                                   2.9 MB\/s |  82 MB     00:28\nLatest Unbreakable Enterprise Kernel Release 6 for Oracle Linux 8 (x86_64)                                                                                   4.4 MB\/s | 148 MB     00:33\nLast metadata expiration check: 0:00:23 ago on Thu 18 Jun 2026 11:04:31 AM CEST.\nDependencies resolved.\n=============================================================================================================================================================================================\n Package                                               Architecture                         Version                                    Repository                                       Size\n=============================================================================================================================================================================================\nInstalling:\n oracle-epel-release-el8                               x86_64                               1.0-5.el8                                  ol8_baseos_latest                                15 k\n\nDB8action Summary\n=============================================================================================================================================================================================\nInstall  1 Package\n\nTotal download size: 15 k\nInstalled size: 18 k\nIs this ok [y\/N]: y\nDownloading Packages:\noracle-epel-release-el8-1.0-5.el8.x86_64.rpm                                                                                                                 133 kB\/s |  15 kB     00:00\n---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\nTotal                                                                                                                                                        131 kB\/s |  15 kB     00:00\nRunning DB8action check\nDB8action check succeeded.\nRunning DB8action test\nDB8action test succeeded.\nRunning DB8action\n  Preparing        :                                                                                                                                                                     1\/1\n  Installing       : oracle-epel-release-el8-1.0-5.el8.x86_64                                                                                                                            1\/1\n  Verifying        : oracle-epel-release-el8-1.0-5.el8.x86_64                                                                                                                            1\/1\n\nInstalled:\n  oracle-epel-release-el8-1.0-5.el8.x86_64\n\nComplete!\n<\/pre>\n<br>\n\n\n\n\n<p class=\"wp-block-paragraph\">I can check again my list of activated repo and I will find the new one in.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[root@SRV ~]# dnf repolist all --enabled\nrepo id                                                                repo name\nol8_UEKR6                                                              Latest Unbreakable Enterprise Kernel Release 6 for Oracle Linux 8 (x86_64)\nol8_appstream                                                          Oracle Linux 8 Application Stream (x86_64)\nol8_baseos_latest                                                      Oracle Linux 8 BaseOS Latest (x86_64)\nol8_developer_EPEL                                                     Oracle Linux 8 EPEL Packages for Development (x86_64)\nol8_developer_EPEL_modular                                             Oracle Linux 8 EPEL Modular Packages for Development (x86_64)\n[root@SRV ~]#\n<\/pre>\n<br>\n\n\n\n<p class=\"wp-block-paragraph\">I also remove leapp repository, as I do not need it any more.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,9,11]\">\n[root@SRV ~]# ls -ltrh \/etc\/yum.repos.d\/\ntotal 28K\n-rw-r--r--. 1 root root  530 Mar 28  2022 oracle-epel-ol8.repo\n-rw-r--r--. 1 root root  243 May 23  2024 virt-ol8.repo\n-rw-r--r--. 1 root root 4.5K Sep 19  2025 leapp-upgrade-repos-ol8.repo.save\n-rw-r--r--. 1 root root 4.1K Jun 18 09:43 oracle-linux-ol8.repo\n-rw-r--r--. 1 root root  941 Jun 18 09:43 uek-ol8.repo\n\n[root@SRV ~]# rm -f \/etc\/yum.repos.d\/leapp-upgrade-repos-ol8.repo.save\n\n[root@SRV ~]# ls -ltrh \/etc\/yum.repos.d\/\ntotal 20K\n-rw-r--r--. 1 root root  530 Mar 28  2022 oracle-epel-ol8.repo\n-rw-r--r--. 1 root root  243 May 23  2024 virt-ol8.repo\n-rw-r--r--. 1 root root 4.1K Jun 18 09:43 oracle-linux-ol8.repo\n-rw-r--r--. 1 root root  941 Jun 18 09:43 uek-ol8.repo\n<\/pre>\n<br>\n\n\n\n<p class=\"wp-block-paragraph\">I also could verify that I do not have any el7 old repo any more.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,2,4,6]\">\n[root@SRV ~]# grep -i el7 \/etc\/yum.repos.d\/*\n[root@SRV ~]# grep -i el8 \/etc\/yum.repos.d\/* | wc -l\n0\n[root@SRV ~]# grep -i ol8 \/etc\/yum.repos.d\/* | wc -l\n50\n[root@SRV ~]# grep -i ol7 \/etc\/yum.repos.d\/* | wc -l\n0\n[root@SRV ~]#\n<\/pre>\n<br>\n\n\n\n<h3>Reboot<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I finally rebooted the server one last time before giving it back to the application team, to ensure all is ok.<\/p>\n\n\n\n<h3>To wrap up&#8230;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I showed how to upgrade an Oracle Linux from version el7 to el8. The process would exactly be the same for higher. I could not upgrade to el9 because the server was not supporting it. It is a production server that will still be replaced by customer, in one or two years, and it was important to upgrade Oracle Linux for security audit.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also I could confirm that the last critical CVE as Dirty Frag (Copy Fail 2) are covered and that the last el8 version has the correction:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4]\">\n[root@SRV ~]# uname -r\n5.4.17-2136.356.4.2.el8uek.x86_64\n\n[root@SRV ~]# rpm -q --changelog kernel-uek-5.4.17-2136.356.4.2.el8uek | grep -iE 'CVE-2026-31431|CVE-2026-43284|CVE-2026-46300'\n- net: skbuff: propagate shared-frag marker through frag-DB8fer helpers (Hyunwoo Kim) [Orabug: 39368828,39441326] {CVE-2026-43503,CVE-2026-46300}\n- net: skbuff: preserve shared-frag marker during coalescing (William Bowling) [Orabug: 39368828] {CVE-2026-46300}\n- xfrm: esp: avoid in-place decrypt on shared skb frags (Kuan-Ting Chen) [Orabug: 39334580,39367147] {CVE-2026-43284}\n- crypto: algif_aead - Revert to operating out-of-place (Herbert Xu) [Orabug: 39250687,39283868,39292250] {CVE-2026-31431}\n- crypto: algif_aead - use memcpy_sglist() instead of null skcipher (Eric Biggers) [Orabug: 39250687] {CVE-2026-31431}\n[root@SRV ~]#\n<\/pre>\n<br>\n","protected":false},"excerpt":{"rendered":"<p>I recently had to upgrade an Oracle Linux production server running 19.30 Oracle databases for one of our customer. In this post, I will share with you the full set of steps that need to be carried out to run an in-place Oracle Linux upgrade when running Oracle databases. The method will be the same [&hellip;]<\/p>\n","protected":false},"author":48,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","_members_access_role":[],"_members_access_error":""},"categories":[59],"tags":[2540,2561,2601],"type_dbi":[],"class_list":["post-46019","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-databases","tag-oracle-linux-2","tag-upgrade-2"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.1 (Yoast SEO v28.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Upgrading Oracle Linux when running Oracle databases - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/upgrading-oracle-linux-when-running-oracle-databases\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Upgrading Oracle Linux when running Oracle databases\" \/>\n<meta property=\"og:description\" content=\"I recently had to upgrade an Oracle Linux production server running 19.30 Oracle databases for one of our customer. In this post, I will share with you the full set of steps that need to be carried out to run an in-place Oracle Linux upgrade when running Oracle databases. The method will be the same [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/upgrading-oracle-linux-when-running-oracle-databases\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-31T16:33:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-31T16:33:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1031\" \/>\n\t<meta property=\"og:image:height\" content=\"934\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Marc Wagner\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marc Wagner\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/upgrading-oracle-linux-when-running-oracle-databases\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/upgrading-oracle-linux-when-running-oracle-databases\\\/\"},\"author\":{\"name\":\"Marc Wagner\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/225d9884b8467ead9a872823acb14628\"},\"headline\":\"Upgrading Oracle Linux when running Oracle databases\",\"datePublished\":\"2026-07-31T16:33:10+00:00\",\"dateModified\":\"2026-07-31T16:33:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/upgrading-oracle-linux-when-running-oracle-databases\\\/\"},\"wordCount\":2311,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/upgrading-oracle-linux-when-running-oracle-databases\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/07\\\/DBS1-leapp_upgrade-2-1024x928.jpg\",\"keywords\":[\"databases\",\"oracle linux\",\"upgrade\"],\"articleSection\":[\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/upgrading-oracle-linux-when-running-oracle-databases\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/upgrading-oracle-linux-when-running-oracle-databases\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/upgrading-oracle-linux-when-running-oracle-databases\\\/\",\"name\":\"Upgrading Oracle Linux when running Oracle databases - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/upgrading-oracle-linux-when-running-oracle-databases\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/upgrading-oracle-linux-when-running-oracle-databases\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/07\\\/DBS1-leapp_upgrade-2-1024x928.jpg\",\"datePublished\":\"2026-07-31T16:33:10+00:00\",\"dateModified\":\"2026-07-31T16:33:12+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/225d9884b8467ead9a872823acb14628\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/upgrading-oracle-linux-when-running-oracle-databases\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/upgrading-oracle-linux-when-running-oracle-databases\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/upgrading-oracle-linux-when-running-oracle-databases\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/07\\\/DBS1-leapp_upgrade-2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/07\\\/DBS1-leapp_upgrade-2.jpg\",\"width\":1031,\"height\":934},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/upgrading-oracle-linux-when-running-oracle-databases\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Upgrading Oracle Linux when running Oracle databases\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/225d9884b8467ead9a872823acb14628\",\"name\":\"Marc Wagner\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g\",\"caption\":\"Marc Wagner\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/marc-wagner\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Upgrading Oracle Linux when running Oracle databases - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/upgrading-oracle-linux-when-running-oracle-databases\/","og_locale":"en_US","og_type":"article","og_title":"Upgrading Oracle Linux when running Oracle databases","og_description":"I recently had to upgrade an Oracle Linux production server running 19.30 Oracle databases for one of our customer. In this post, I will share with you the full set of steps that need to be carried out to run an in-place Oracle Linux upgrade when running Oracle databases. The method will be the same [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/upgrading-oracle-linux-when-running-oracle-databases\/","og_site_name":"dbi Blog","article_published_time":"2026-07-31T16:33:10+00:00","article_modified_time":"2026-07-31T16:33:12+00:00","og_image":[{"width":1031,"height":934,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-2.jpg","type":"image\/jpeg"}],"author":"Marc Wagner","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Marc Wagner","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/upgrading-oracle-linux-when-running-oracle-databases\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/upgrading-oracle-linux-when-running-oracle-databases\/"},"author":{"name":"Marc Wagner","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628"},"headline":"Upgrading Oracle Linux when running Oracle databases","datePublished":"2026-07-31T16:33:10+00:00","dateModified":"2026-07-31T16:33:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/upgrading-oracle-linux-when-running-oracle-databases\/"},"wordCount":2311,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/upgrading-oracle-linux-when-running-oracle-databases\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-2-1024x928.jpg","keywords":["databases","oracle linux","upgrade"],"articleSection":["Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/upgrading-oracle-linux-when-running-oracle-databases\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/upgrading-oracle-linux-when-running-oracle-databases\/","url":"https:\/\/www.dbi-services.com\/blog\/upgrading-oracle-linux-when-running-oracle-databases\/","name":"Upgrading Oracle Linux when running Oracle databases - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/upgrading-oracle-linux-when-running-oracle-databases\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/upgrading-oracle-linux-when-running-oracle-databases\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-2-1024x928.jpg","datePublished":"2026-07-31T16:33:10+00:00","dateModified":"2026-07-31T16:33:12+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/upgrading-oracle-linux-when-running-oracle-databases\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/upgrading-oracle-linux-when-running-oracle-databases\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/upgrading-oracle-linux-when-running-oracle-databases\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-2.jpg","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/07\/DBS1-leapp_upgrade-2.jpg","width":1031,"height":934},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/upgrading-oracle-linux-when-running-oracle-databases\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Upgrading Oracle Linux when running Oracle databases"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628","name":"Marc Wagner","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g","caption":"Marc Wagner"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/marc-wagner\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/46019","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/48"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=46019"}],"version-history":[{"count":58,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/46019\/revisions"}],"predecessor-version":[{"id":46144,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/46019\/revisions\/46144"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=46019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=46019"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=46019"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=46019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}