Learn to patch the way God intended (S3E1)

We begin 2026 with the third season of the article series «Learn to patch like a pro.»

I suggest watching the earlier episodes if you haven’t already:

S1E1. In-place patching, the most common and also the most risky method
S1E2. Out-of-place patching, the recommended and most efficient method
S1E3. Creation of Gold Image for patching Oracle Single Instance Database

S2E1. Patching Oracle RAC Database with Gold Image
S2E2. Out-of-place patching of Oracle Grid Infrastructure (Oracle Restart)
S2E3. Creation of Gold Image for Oracle Grid Infrastructure (Oracle Restart) patching

In this new season, we will review what we have already seen, but now taking advantage of the AutoUpgrade utility, which, with version 26.2, has reached a level of maturity that we cannot ignore.

I examined AutoUpgrade’s function as a patch downloader in a prior post; in this one, we’ll examine it as an installation and patching tool.

First, we will examine the distinctions with the process outlined in article S1E2: Patching Oracle Single Instance Database.

Starting point

A single instance database called democdb is supported by Oracle Database Server 19c with RU 19.27, which is installed on our server1 in an Oracle Home called DBHome1.

We intend to apply the most recent Release Update: 19.30, the recommended patches, and the most recent version of OPatch for Linux, as shown by the list below:

38632161Database Release Update : 19.30.0.0.260120(REL-JAN260130) (38632161)
38661284OCW RELEASE UPDATE 19.30.0.0.0 (38661284)
38523609OJVM RELEASE UPDATE: 19.30.0.0.260120 (38523609)
38586770JDK BUNDLE PATCH 19.0.0.0.260120
38844733DATAPUMP BUNDLE PATCH 19.30.0.0.0
29213893DBMS_STATS FAILING WITH ERROR ORA-01422 WHEN GATHERING STATS FOR USER$ TABLE
34774667ORA-7445 IN PURGE QUEUE TABLE
34672698ORA-00800 SOFT EXTERNAL ERROR, ARGUMENTS [SET PRIORITY FAILED], [VKTM] , DISM(16)
37690446ORA-600 [KTATMKREF-RS] ERRORS IN THE ALERT LOG POST-PATCH 37260974 (19.26.0.0.250121 DBRU)
3884436719.30 OJVM PATCH APPLY IS FAILING ON SECOND NODE IN RAC ENVIRONMENT

AutoUpgrade: download

Configuration file

The first thing we’ll do is to create a configuration file called download.cfg.
global.global_log_dir=/stage/autoupgrade/log
global.keystore=/stage/autoupgrade/keystore
global.folder=/stage/autoupgrade/patches

patch1.patch=RU:19.30,OPATCH,OJVM,DPBP,OCW,JDK,37690446,34672698,34774667,29213893,38844367
patch1.platform=LINUX.X64

It contains the following information:

  1. the location of the wallet containing our My Oracle Support credentials (line 2)
  2. the directory where the patches will be downloaded (line 3)
  3. the patches we require (line 5)
  4. the platform we are using (line 6)

1

2

Download patches

First, we use -mode download to launch AutoUpgrade and start the download:

java -jar autoupgrade.jar \
-config download.cfg \
-patch -mode download

AutoUpgrade Patching 26.2.260205 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded

Connected to MOS - Searching for specified patches

There were conditions found preventing AutoUpgrade Patching from successfully running

*Downloading files
Cannot find the patch for bug 38844367

Unfortunately, AutoUpgrade is unable to locate patch 38844367, despite the fact that it is present in MOS.

After contacting with certain Oracle engineers in charge of AutoUpgrade, it was determined that there is a product limitation: currently, only RU-related patches may be downloaded, and this patch is for OJVM.

Because of this, the only option is to take it off the list and download it using another method. It seems that getMOSPatch will continue to be my ally until further notice.

global.global_log_dir=/stage/autoupgrade/log
global.keystore=/stage/autoupgrade/keystore
global.folder=/stage/autoupgrade/patches

patch1.patch=RU:19.30,OPATCH,OJVM,DPBP,OCW,JDK,37690446,34672698,34774667,29213893
patch1.platform=LINUX.X64
java -jar autoupgrade.jar \
-config download.cfg \
-patch -mode download

AutoUpgrade Patching 26.2.260205 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded

Connected to MOS - Searching for specified patches

------------------------------------------------------------------------
Downloading files to /stage/autoupgrade/patches
------------------------------------------------------------------------
DATABASE RELEASE UPDATE 19.30.0.0.0(REL-JAN260130)
    File: p38632161_190000_Linux-x86-64.zip - VALIDATED

OPatch 12.2.0.1.49 for DB 19.0.0.0.0 (Jan 2026)
    File: p6880880_190000_Linux-x86-64.zip - VALIDATED

OJVM RELEASE UPDATE 19.30.0.0.0
    File: p38523609_190000_Linux-x86-64.zip - VALIDATED

DATAPUMP BUNDLE PATCH 19.30.0.0.0
    File: p38844733_1930000DBRU_Generic.zip - VALIDATED

GI RELEASE UPDATE 19.30.0.0.0(REL-JAN260130)
    File: p38629535_190000_Linux-x86-64.zip - VALIDATED

JDK BUNDLE PATCH 19.0.0.0.260120
    File: p38586770_190000_Linux-x86-64.zip - VALIDATED

ORA-600 [KTATMKREF-RS] ERRORS IN THE ALERT LOG POST-PATCH 37260974 (19.26.0.0.250121 DBRU)
    File: p37690446_1930000DBRU_Linux-x86-64.zip - VALIDATED

ORA-00800: SOFT EXTERNAL ERROR, ARGUMENTS: [SET PRIORITY FAILED], [VKTM] , DISM(16)
    File: p34672698_1930000DBRU_Linux-x86-64.zip - VALIDATED

ORA-7445 IN PURGE QUEUE TABLE
    File: p34774667_1930000DBRU_Linux-x86-64.zip - VALIDATED

DBMS_STATS FAILING WITH ERROR ORA-01422 WHEN GATHERING STATS FOR USER$ TABLE
    File: p29213893_1930000DBRU_Generic.zip - VALIDATED
------------------------------------------------------------------------

Copy installers

Although we already have all of the necessary patches, AutoUpgrade requires that we place the Oracle Database Server 19c base installer in the patch folder.

This is no longer necessary with Oracle 26ai, as the RU is a Gold Image that can be used as an installer.

$ ls -la /stage/autoupgrade/patches
drwxrwxr-x Feb 10 18:27 .
drwxrwxr-x Feb 10 20:02 ..
-rw-rw-r-- Apr 26  2019 LINUX.X64_193000_db_home.zip
-rw-rw-r-- Feb  9 09:40 p29213893_1930000DBRU_Generic.zip
-rw-rw-r-- Feb  9 09:40 p34672698_1930000DBRU_Linux-x86-64.zip
-rw-rw-r-- Feb  9 09:40 p34774667_1930000DBRU_Linux-x86-64.zip
-rw-rw-r-- Feb  9 09:40 p37690446_1930000DBRU_Linux-x86-64.zip
-rw-rw-r-- Feb  9 09:34 p38523609_190000_Linux-x86-64.zip
-rw-rw-r-- Feb  1 16:03 p38586770_190000_Linux-x86-64.zip
-rw-rw-r-- Feb  9 09:33 p38632161_190000_Linux-x86-64.zip
-rw-rw-r-- Feb  9 11:06 p38661284_1930000OCW_Linux_x86-64.zip
-rw-rw-r-- Feb  9 14:45 p38844367_1930000OJVMRU_Generic.zip
-rw-rw-r-- Feb  9 09:34 p38844733_1930000DBRU_Generic.zip
-rw-rw-r-- Feb  1 15:52 p6880880_190000_Linux-x86-64.zip

3

AutoUpgrade: create_home

Configuration file

We need a new configuration file, which we will name create_oh.cfg, with the following content:

global.global_log_dir=/home/oracle/autoupgrade/log
global.keystore=/home/oracle/autoupgrade/keystore
global.folder=/NFS/autoupgrade/patches

install1.patch=RU:19.30,OPATCH,OJVM,DPBP,OCW,JDK,37690446,34672698,34774667,29213893,38844367
install1.target_version=19
install1.platform=LINUX.X64
install1.download=no

install1.target_home=/u01/app/oracle/19.0.0/db_2
install1.home_settings.oracle_base=/u01/app/oracle
install1.home_settings.edition=EE
install1.home_settings.inventory_location=/u01/app/oraInventory
install1.home_settings.home_name=DBHome2
install1.home_settings.osdba_group=dba
install1.home_settings.osbackupdba_group=backupdba
install1.home_settings.osdgdba_group=dgdba
install1.home_settings.oskmdba_group=kmdba
install1.home_settings.osracdba_group=racdba
install1.home_settings.ru_apply=yes

Patches are typically downloaded from a server with Internet access, but the software is installed on servers that are not connected to the Internet, thus in line 3, we specify the location of the patches within an NFS-shared folder.

Line 5 indicates a list of patches to apply, including one that we had to obtain ourselves.

Line 8 indicates that no downloads will be made because everything is already in the patch folder.

Lines 10–19 describe the attributes of the new Oracle Home, including its location, name, groups, and so on.

Finally, line 20 specifies that the RU should be applied during installation, which translates to running: runinstaller -applyRU. However, additional patches will be installed one by one via OPatch. AutoUpgrade does not employ -applyOneOffs, which makes it somewhat slower but more reliable.

1

2

Install Oracle Database

We make a third call to AutoUpgrade, this time to execute the installation with -mode create_home.

java -jar autoupgrade.jar \
-config create_oh.cfg \
-patch -mode create_home

Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded
+-----------------------------------------+
| Starting AutoUpgrade Patching execution |
+-----------------------------------------+
Type 'help' to list console commands
patch>

As shown below, AutoUpgrade begins by decompressing the Oracle 19c base installation before applying the requested patches one at a time.

patch> lsj -a 90
patch> +----+-------------+-------+---------+-------+----------+-------+---------------------+
|Job#|      DB_NAME|  STAGE|OPERATION| STATUS|START_TIME|UPDATED|              MESSAGE|
+----+-------------+-------+---------+-------+----------+-------+---------------------+
| 100|create_home_1|EXTRACT|EXECUTING|RUNNING|  12:45:18| 5s ago|Extracting gold image|
+----+-------------+-------+---------+-------+----------+-------+---------------------+
Total jobs 1

The command lsj is running every 90 seconds. PRESS ENTER TO EXIT
+----+-------------+-------+---------+-------+----------+-------+----------------------+
|Job#|      DB_NAME|  STAGE|OPERATION| STATUS|START_TIME|UPDATED|               MESSAGE|
+----+-------------+-------+---------+-------+----------+-------+----------------------+
| 100|create_home_1|INSTALL|EXECUTING|RUNNING|  12:45:18| 5s ago|Installing ORACLE_HOME|
+----+-------------+-------+---------+-------+----------+-------+----------------------+
Total jobs 1

The command lsj is running every 90 seconds. PRESS ENTER TO EXIT
+----+-------------+-----------+---------+-------+----------+-------+----------------------------------------+
|Job#|      DB_NAME|      STAGE|OPERATION| STATUS|START_TIME|UPDATED|                                 MESSAGE|
+----+-------------+-----------+---------+-------+----------+-------+----------------------------------------+
| 100|create_home_1|OH_PATCHING|EXECUTING|RUNNING|  12:45:18| 3s ago|OJVM RELEASE UPDATE: 19.30.0.0.260120 (3|
+----+-------------+-----------+---------+-------+----------+-------+----------------------------------------+
Total jobs 1

The command lsj is running every 90 seconds. PRESS ENTER TO EXIT
+----+-------------+-----------+---------+-------+----------+-------+----------------------------------------+
|Job#|      DB_NAME|      STAGE|OPERATION| STATUS|START_TIME|UPDATED|                                 MESSAGE|
+----+-------------+-----------+---------+-------+----------+-------+----------------------------------------+
| 100|create_home_1|OH_PATCHING|EXECUTING|RUNNING|  12:45:18|33s ago|OCW RELEASE UPDATE 19.30.0.0.0 (38661284|
+----+-------------+-----------+---------+-------+----------+-------+----------------------------------------+
Total jobs 1

The command lsj is running every 90 seconds. PRESS ENTER TO EXIT
+----+-------------+-----------+---------+-------+----------+-------+----------------------------------------+
|Job#|      DB_NAME|      STAGE|OPERATION| STATUS|START_TIME|UPDATED|                                 MESSAGE|
+----+-------------+-----------+---------+-------+----------+-------+----------------------------------------+
| 100|create_home_1|OH_PATCHING|EXECUTING|RUNNING|  12:45:18|11s ago|ORA-600 [KTATMKREF-RS] ERRORS IN THE ALE|
+----+-------------+-----------+---------+-------+----------+-------+----------------------------------------+
Total jobs 1

The command lsj is running every 90 seconds. PRESS ENTER TO EXIT
+----+-------------+-----------+---------+-------+----------+-------+-----------------------------+
|Job#|      DB_NAME|      STAGE|OPERATION| STATUS|START_TIME|UPDATED|                      MESSAGE|
+----+-------------+-----------+---------+-------+----------+-------+-----------------------------+
| 100|create_home_1|OH_PATCHING|EXECUTING|RUNNING|  12:45:18|13s ago|ORA-7445 IN PURGE QUEUE TABLE|
+----+-------------+-----------+---------+-------+----------+-------+-----------------------------+
Total jobs 1

The command lsj is running every 90 seconds. PRESS ENTER TO EXIT
Job 100 completed
------------------- Final Summary --------------------
Number of databases            [ 1 ]

Jobs finished                  [1]
Jobs failed                    [0]
Jobs restored                  [0]
Jobs pending                   [0]

# Run the root.sh script as root for the following jobs:
For create_home_1 -> /u01/app/oracle/19.0.0/db_2/root.sh

Please check the summary report at:
/home/oracle/autoupgrade/log2/cfgtoollogs/patch/auto/status/status.html
/home/oracle/autoupgrade/log2/cfgtoollogs/patch/auto/status/status.log

Run root.sh

After the installation is completed without issues, we are instructed to run root.sh to finish it.

We run it and ensure that the new Oracle Home is exactly as requested.

$ sudo sh /u01/app/oracle/19.0.0/db_2/root.sh
Check /u01/app/oracle/19.0.0/db_2/install/root_server1_2026-02-09_13-09-34-146067296.log for the output of root script

$ opatch lspatches
38632161;Database Release Update : 19.30.0.0.260120(REL-JAN260130) (38632161)
38661284;OCW RELEASE UPDATE 19.30.0.0.0 (38661284)
38523609;OJVM RELEASE UPDATE: 19.30.0.0.260120 (38523609)
38586770;JDK BUNDLE PATCH 19.0.0.0.260120
38844733;DATAPUMP BUNDLE PATCH 19.30.0.0.0
29213893;DBMS_STATS FAILING WITH ERROR ORA-01422 WHEN GATHERING STATS FOR USER$ TABLE
34774667;ORA-7445 IN PURGE QUEUE TABLE
34672698;ORA-00800  SOFT EXTERNAL ERROR, ARGUMENTS  [SET PRIORITY FAILED], [VKTM] , DISM(16)
37690446;ORA-600 [KTATMKREF-RS] ERRORS IN THE ALERT LOG POST-PATCH 37260974 (19.26.0.0.250121 DBRU)
38844367;19.30 OJVM PATCH APPLY IS FAILING ON SECOND NODE IN RAC ENVIRONMENT

OPatch succeeded.

3

AutoUpgrade: patch

Configuration file

We create a configuration file, which we will name patch_db.cfg, with the following lines:

global.global_log_dir=/home/oracle/autoupgrade/log
global.folder=/NFS/autoupgrade/patches

patch1.sid=democdb
patch1.source_home=/u01/app/oracle/19.0.0/db_1
patch1.target_home=/u01/app/oracle/19.0.0/db_2
patch1.restoration=NO

As we can see, it’s very simple: we specify the source Oracle Home, the target Oracle Home, and, of course, the ORACLE_SID of the database we’re going to patch.

1

2

Patch the database

We are ready for AutoUpgrade to complete the patching, with -mode deploy.
java -jar autoupgrade.jar \
-config patch_db.cfg \
-patch -mode deploy

AutoUpgrade Patching 26.2.260205 launched with default internal options
Processing config file ...
+-----------------------------------------+
| Starting AutoUpgrade Patching execution |
+-----------------------------------------+
1 CDB(s) plus 2 PDB(s) will be processed
Type 'help' to list console commands
patch> 

AutoUpgrade starts by running preliminary checks, such as validating the status of statistics, running jobs, etc., that could prevent patching.

Next, it shuts down the database and restarts it in its new Oracle Home, then runs datapatch to update the catalog for CDB$ROOT, PDB$SEED, and all other PDBs.

Finally, it executes additional validations and copies files to the new Oracle Home, including tnsnames.ora, sqlnet.ora, and the password file.

patch> lsj -a 30
patch> +----+-------+---------+---------+-------+----------+-------+----------------+
|Job#|DB_NAME|    STAGE|OPERATION| STATUS|START_TIME|UPDATED|         MESSAGE|
+----+-------+---------+---------+-------+----------+-------+----------------+
| 100|democdb|PRECHECKS|EXECUTING|RUNNING|  15:23:29| 0s ago|Executing Checks|
+----+-------+---------+---------+-------+----------+-------+----------------+
Total jobs 1

The command lsj is running every 30 seconds. PRESS ENTER TO EXIT
+----+-------+---------+---------+-------+----------+-------+-------------------+
|Job#|DB_NAME|    STAGE|OPERATION| STATUS|START_TIME|UPDATED|            MESSAGE|
+----+-------+---------+---------+-------+----------+-------+-------------------+
| 100|democdb|PREFIXUPS|EXECUTING|RUNNING|  15:23:29| 4s ago|Re-Executing Checks|
+----+-------+---------+---------+-------+----------+-------+-------------------+
Total jobs 1

The command lsj is running every 30 seconds. PRESS ENTER TO EXIT
+----+-------+-----------+---------+-------+----------+-------+-----------------+
|Job#|DB_NAME|      STAGE|OPERATION| STATUS|START_TIME|UPDATED|          MESSAGE|
+----+-------+-----------+---------+-------+----------+-------+-----------------+
| 100|democdb|DB_PATCHING|EXECUTING|RUNNING|  15:23:29|18s ago|Patching Database|
+----+-------+-----------+---------+-------+----------+-------+-----------------+
Total jobs 1

The command lsj is running every 30 seconds. PRESS ENTER TO EXIT
+----+-------+-----------+---------+-------+----------+-------+-------------------------------+
|Job#|DB_NAME|      STAGE|OPERATION| STATUS|START_TIME|UPDATED|                        MESSAGE|
+----+-------+-----------+---------+-------+----------+-------+-------------------------------+
| 100|democdb|DB_PATCHING|EXECUTING|RUNNING|  15:23:29|15s ago|PREFIXUPS - Re-Executing Checks|
+----+-------+-----------+---------+-------+----------+-------+-------------------------------+
Total jobs 1

The command lsj is running every 30 seconds. PRESS ENTER TO EXIT
+----+-------+-----------+---------+-------+----------+-------+--------------------------------+
|Job#|DB_NAME|      STAGE|OPERATION| STATUS|START_TIME|UPDATED|                         MESSAGE|
+----+-------+-----------+---------+-------+----------+-------+--------------------------------+
| 100|democdb|DB_PATCHING|EXECUTING|RUNNING|  15:23:29|15s ago|DRAIN - Disabling RAC if present|
+----+-------+-----------+---------+-------+----------+-------+--------------------------------+
Total jobs 1

The command lsj is running every 30 seconds. PRESS ENTER TO EXIT
+----+-------+-----------+---------+-------+----------+-------+----------------------------------------+
|Job#|DB_NAME|      STAGE|OPERATION| STATUS|START_TIME|UPDATED|                                 MESSAGE|
+----+-------+-----------+---------+-------+----------+-------+----------------------------------------+
| 100|democdb|DB_PATCHING|EXECUTING|RUNNING|  15:23:29|15s ago|DRAIN - RAC configurations have finished|
+----+-------+-----------+---------+-------+----------+-------+----------------------------------------+
Total jobs 1

The command lsj is running every 30 seconds. PRESS ENTER TO EXIT
+----+-------+-----------+---------+-------+----------+-------+-------------------+
|Job#|DB_NAME|      STAGE|OPERATION| STATUS|START_TIME|UPDATED|            MESSAGE|
+----+-------+-----------+---------+-------+----------+-------+-------------------+
| 100|democdb|DB_PATCHING|EXECUTING|RUNNING|  15:23:29|15s ago|DBUPGRADE - Running|
+----+-------+-----------+---------+-------+----------+-------+-------------------+
Total jobs 1

The command lsj is running every 30 seconds. PRESS ENTER TO EXIT
+----+-------+-----------+---------+-------+----------+-------+-------------------------------+
|Job#|DB_NAME|      STAGE|OPERATION| STATUS|START_TIME|UPDATED|                        MESSAGE|
+----+-------+-----------+---------+-------+----------+-------+-------------------------------+
| 100|democdb|DB_PATCHING|EXECUTING|RUNNING|  15:23:29|15s ago|DBUPGRADE - 5%Patching CDB$ROOT|
+----+-------+-----------+---------+-------+----------+-------+-------------------------------+
Total jobs 1

The command lsj is running every 30 seconds. PRESS ENTER TO EXIT
+----+-------+-----------+---------+-------+----------+-------+-------------------------------+
|Job#|DB_NAME|      STAGE|OPERATION| STATUS|START_TIME|UPDATED|                        MESSAGE|
+----+-------+-----------+---------+-------+----------+-------+-------------------------------+
| 100|democdb|DB_PATCHING|EXECUTING|RUNNING|  15:23:29|15s ago|DBUPGRADE - 0%Patching PDB$SEED|
+----+-------+-----------+---------+-------+----------+-------+-------------------------------+
Total jobs 1

The command lsj is running every 30 seconds. PRESS ENTER TO EXIT
+----+-------+-----------+---------+-------+----------+-------+-----------------------------+
|Job#|DB_NAME|      STAGE|OPERATION| STATUS|START_TIME|UPDATED|                      MESSAGE|
+----+-------+-----------+---------+-------+----------+-------+-----------------------------+
| 100|democdb|DB_PATCHING|EXECUTING|RUNNING|  15:23:29|15s ago|POSTFIXUPS - Executing fixups|
+----+-------+-----------+---------+-------+----------+-------+-----------------------------+
Total jobs 1

The command lsj is running every 30 seconds. PRESS ENTER TO EXIT
+----+-------+----------+---------+-------+----------+-------+-------+
|Job#|DB_NAME|     STAGE|OPERATION| STATUS|START_TIME|UPDATED|MESSAGE|
+----+-------+----------+---------+-------+----------+-------+-------+
| 100|democdb|POSTCHECKS|PREPARING|RUNNING|  15:23:29| 0s ago|       |
+----+-------+----------+---------+-------+----------+-------+-------+
Total jobs 1

The command lsj is running every 30 seconds. PRESS ENTER TO EXIT
Job 100 completed
------------------- Final Summary --------------------
Number of databases            [ 1 ]

Jobs finished                  [1]
Jobs failed                    [0]
Jobs restored                  [0]
Jobs pending                   [0]

Please check the summary report at:
/home/oracle/autoupgrade/log_1930/cfgtoollogs/patch/auto/status/status.html
/home/oracle/autoupgrade/log_1930/cfgtoollogs/patch/auto/status/status.log

Verify

We confirm that the database is running from the new Oracle Home, using RU 19.30.

$ srvctl status database -db democdb
Database is running.

$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Tue Feb 10 21:46:57 2026
Version 19.30.0.0.0

Copyright (c) 1982, 2025, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.30.0.0.0

SQL> show pdbs

CON_ID CON_NAME  OPEN MODE  RESTRICTED
------ --------- ---------- ----------
     2 PDB$SEED  READ ONLY  NO
     3 DEMO      READ WRITE NO

3

Conclusions

AutoUpgrade is Oracle’s official tool for upgrading. Personally, I’ve used it on numerous projects and it’s never let me down. Now, in its new function of downloading patches and performing installations, it is on the right track and is quite robust.

But beware: AutoUpgrade is limited to Oracle Database Server; for Oracle Grid Infrastructure, we will still have to run commands manually.

For me, since I already have the tasks of installing and patching Oracle Database Server and Oracle Grid Infrastructure software automated with Ansible, it may not be the best time to abandon everything and replace it with AutoUpgrade, but it is my preferred tool for patching and upgrading databases.

For those who don’t have everything automated yet, AutoUpgrade is, without a doubt, the ideal tool to make your life easier. I recommend you start testing it as soon as possible—you won’t regret it!

For additional information on what has been discussed here, I recommend reading the following notes.

Did you find this article interesting, did you have any doubts, do you want to suggest a topic to cover, leave me your comments or contact me me right now!

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Related Posts

www.freepik.com
Learn how to download Oracle patches using the autoupgrade utility in addition to getMOSPatch.
Hide column contents
Learn how to use Real Application Security to implement the masking of column contents dynamically and without having to modify your code.
new: dbms_sqldiag.report_sql
Starting with Oracle 19.28, the use of IF [NOT] EXISTS and the function DBMS_SQLDIAG.REPORT_SQL is now available. Learn all about them.

Need Help?

Fill in these details and I will be in touch as soon as possible.