Are There Any New Patches?

The other day, a customer showed me their more-or-less fully automated patching process. Part of the process involved:

  • A nightly job that starts AutoUpgrade to download the latest Release Update and MRP.
  • If AutoUpgrade downloads a new patch, the job builds a new gold image.
  • Next, it deploys the new gold image to test servers.
  • Then, notifies the DBAs, so they can start testing when they arrive at the office in the morning.

That’s such a cool process. I’m a huge fan.

But one question came up:

We run AutoUpgrade through an Ansible runbook. How can we know which patches are new?

Parsing Console Output

When downloading patches, AutoUpgrade prints the patch description and file name to the console along with a status.

------------------------------------------------------
Downloading files to /Users/doverbyh/Downloads/patches
------------------------------------------------------
DATABASE RELEASE UPDATE 19.32.0.0.0
    File: p39472050_190000_Linux-x86-64.zip - LOCATED

OPatch 12.2.0.1.53 for DB 19.0.0.0.0 (Sep 2026)
    File: p6880880_190000_Linux-x86-64.zip - LOCATED

DATAPUMP BUNDLE PATCH 19.32.0.0.0
    File: p39657094_1932000DBRU_Generic.zip - LOCATED

OJVM RELEASE UPDATE 19.32.0.0.0
    File: p39222882_190000_Linux-x86-64.zip - LOCATED

DATABASE MRP 19.32.0.0.260915
    File: p39971265_1932000DBRU_Linux-x86-64.zip - VALIDATED

You can use the status to determine whether the file is new:

  • VALIDATED: This file was not on disk and has been downloaded.
  • REPLACED: This file was already on disk, but was re-downloaded.
  • LOCATED: The file was already on disk.

To use this information with a script, you must parse stdout and put the pieces together. Doable, but not very elegant.

Checking the Patch Info File

In the download_folder, you find patches_info.json, which is an overview of all the files downloaded by AutoUpgrade.

Here’s an example:

{
    "patchFolder": "/home/oracle/patch-repo",
    "generatedAt": "2026-10-06T07:54:27.930456Z",
    "patches": [
        {
            "description": "DATABASE MRP 19.32.0.0.260915",
            "platform": "Linux x86-64",
            "patchId": 39971265,
            "releasedDate": "+58659-01-03T15:56:40",
            "files": [
                {
                    "name": "p39971265_1932000DBRU_Linux-x86-64.zip",
                    "checksum": "029A3847AC9A38571E052440AA187D5AE147A24D",
                    "checksum-256": "090348A58923A031212628BE9A69F2E800C16933C7CF53678CB070A3DA1630B1",
                    "size": 29432590,
                    "lastUpdated": "2026-09-21T05:23:05.158447Z"
                }
            ]
        },
...
  • The lastUpdated timestamp indicates when the file was downloaded. The Z at the end indicates UTC, also known as Zulu time.
  • The customer only wants to create a gold image when a new Release Update or MRP arrives. They can use description to filter the patches.
  • A single patch may consist of multiple files, so your code needs to take that into consideration.

The JSON file is much better suited for automation.

Checking the Log File

You can also use the AutoUpgrade log files. For download mode, you find them here:

<global.global_log_dir>/cfgtoollogs/patch/auto/aru

To find a list of downloaded files, you can look in aru_user.log:

grep "Finished the downloading" aru_user.log

...
2026-10-06 09:54:21.434 INFO Finished the downloading of DATABASE RELEASE UPDATE 23.26.3.0.0(GOLD IMAGE) - p39581612_230000_Linux-x86-64.zip
2026-10-07 06:41:44.070 INFO Finished the downloading of DATAPUMP BUNDLE PATCH 19.32.0.0.0 - p39657094_1932000DBRU_Generic.zip
2026-10-07 10:38:18.046 INFO Finished the downloading of autoupgrade.jar 26.6 (September 2026) - autoupgrade.jar
2026-10-07 10:39:06.251 INFO Finished the downloading of DATABASE MRP 19.32.0.0.260915 - p39971265_1932000DBRU_Linux-x86-64.zip

  • Each line matches the download of one file.
  • The line contains the download timestamp, patch description and file name.
  • A patch consists of one or multiple files, so don’t assume that each line represents a different patch.

Grepping a text file works, but it’s not the best option for automation.

That’s It

AutoUpgrade fits perfectly into your automation. The information is available through the console, log files, and patches_info.json. For automation, I’d go with JSON.

If there’s anything we can change to make AutoUpgrade even more suitable for automation, leave a comment and I’ll see what we can do.

Happy patching!

The Easiest Way to Download Exadata Patches

Using AutoUpgrade, you can download patches for Oracle Exadata. It’s fast and convenient.

Get Those Patches

  1. I use the latest version of AutoUpgrade.

    wget https://download.oracle.com/otn-pub/otn_software/autoupgrade.jar
    
  2. I’ve already stored my MOS credentials in the AutoUpgrade keystore.

  3. I create an AutoUpgrade config file:

    global.global_log_dir=/home/oracle/autoupgrade/logs
    global.keystore=/home/oracle/autoupgrade/keystore
    global.download_folder=/home/oracle/patch-repo
    
    patch1.patch=EXAQFSDP:19,EXAPATCHMGR
    patch1.target_version=19
    patch1.platform=LINUX.X64
    
    • I use the EXAQFSDP keyword to download the Quarterly Full Stack Download Patch (QFSDP) for Exadata systems.
    • I want to download patches for 19c.
    • I also want to get the latest version of the patchmgr utility.
  4. I start AutoUpgrade in download mode:

    java -jar autoupgrade.jar -patch \
       -config get-patches.cfg \
       -mode download
    
  5. AutoUpgrade now downloads the patches:

    AutoUpgrade Patching 26.6.260925 launched with default internal options
    Processing config file ...
    Loading AutoUpgrade Patching keystore
    AutoUpgrade Patching keystore is loaded
    
    ------------------------------------------------------
    Downloading files to /Users/doverbyh/Downloads/patches
    ------------------------------------------------------
    QUARTERLY FULL STACK DOWNLOAD PATCH FOR EXADATA (JUL2026 - 19.32)
        File: p39619107_190000_Linux-x86-64_10of10.zip - LOCATED
        File: p39619107_190000_Linux-x86-64_1of10.zip - LOCATED
        File: p39619107_190000_Linux-x86-64_2of10.zip - LOCATED
        File: p39619107_190000_Linux-x86-64_3of10.zip - LOCATED
        File: p39619107_190000_Linux-x86-64_4of10.zip - LOCATED
        File: p39619107_190000_Linux-x86-64_5of10.zip - LOCATED
        File: p39619107_190000_Linux-x86-64_6of10.zip - LOCATED
        File: p39619107_190000_Linux-x86-64_7of10.zip - LOCATED
        File: p39619107_190000_Linux-x86-64_8of10.zip - LOCATED
        File: p39619107_190000_Linux-x86-64_9of10.zip - LOCATED
    
    DBSERVER.PATCH.ZIP ORCHESTRATOR PLUS DBNU - ARU PLACEHOLDER
        File: p21634633_261300_Linux-x86-64.zip - LOCATED
    ------------------------------------------------------
    
  6. That’s it. Now I have everything I need to patch the Exadata system.

Notes

  • The QFSDP contains patches for:
    • Infrastructure
      • ExadataStorageServer
      • DBServerPatch
      • ExadataDBNodeUpdate
      • SunRackIIPDUMeteringUnitFirmware
    • Database
      • Database Oracle home
      • Grid Infrastructure Oracle home
      • OPatch
      • OPlan
    • Systems management
      • Enterprise Manager OMS Release Update
      • Enterprise Manager Agent Release Update
  • Each QFSDP is quite large. Have at least 60 GB of free space for the download, plus additional space to extract it.
  • You can also download the QFSDP for releases 21c and 26ai.
  • You must also specify target_version in the config file, although AutoUpgrade doesn’t use it for Exadata patches. That requirement will be removed in a later version of AutoUpgrade.

How to Extract the QFSDP

Here’s how to extract the QFSDP. I’m using QUARTERLY FULL STACK DOWNLOAD PATCH FOR EXADATA (JUL2026 – 19.32) as an example.

  • The QFSDP comes in 10 zip files. Extract all of them:
    mkdir -p p39619107
    for i in {1..10}; do
        unzip -q "p39619107_190000_Linux-x86-64_${i}of10.zip" -d p39619107 || break
    done
    
  • Now you have 10 parts of a split tar archive. Combine and extract them:
    cd p39619107
    cat *.tar.* | tar -xvf -
    
  • You now have all the patches extracted and ready for patching.

That’s It

AutoUpgrade now belongs in your Exadata patching runbook. Regardless of how you patch your system, AutoUpgrade can take care of getting the patches.

This enhancement came directly from customer feedback. What should we add next?

Happy patching!

AutoUpgrade Keystore Security Changes in 26.6

In the latest version of AutoUpgrade (26.6), you will notice some changes to the AutoUpgrade keystore.

AutoUpgrade uses a keystore to store sensitive information like your MOS credentials, TDE keystore passwords and authorization tokens.

We’ve implemented these changes to better protect your data.

Password Length

Your AutoUpgrade keystore password should contain:

  • At least 16 characters
  • Alphabetic characters
  • At least one number or special character

If your password is 7 characters or fewer, AutoUpgrade throws an error:

Starting AutoUpgrade Patching Password Loader - Type help for available options
Creating new AutoUpgrade Patching keystore - Password required
Enter password:
PKI-01002: Invalid password. Passwords must have a minimum length of sixteen characters and contain alphabetic characters combined with numbers or special characters.

If your password is 8-15 characters long, AutoUpgrade prints a warning but allows you to use the weak password:

Starting AutoUpgrade Patching Password Loader - Type help for available options
Creating new AutoUpgrade Patching keystore - Password required
Enter password:
Warning: For security reasons, passwords must have at least 16 characters.
Enter password again:

The warning message is misleading. It states that you must use a stronger password. The correct word would be should.

Keep your secrets safe; use a strong password!

Keystore Permissions

Only the current user can have write access to the keystore folder and the files inside it.

If your file permissions are too permissive, you’ll see an error message:

Unable to connect to the Oracle Update Advisor service using the provided credentials
*No messages received from the Oracle Update Advisor service*

Or:

Oracle Update Advisor service - Connection Failure
*Tag mismatch!*

AutoUpgrade requires that you use strict file permissions:

find <keystore-folder> -type d -exec chmod 700 {} +
find <keystore-folder> -type f -exec chmod 600 {} +

That’s It

To keep your credentials and other sensitive information safe, AutoUpgrade now enforces stronger security practices.

At first glance, this might be an annoyance, but with AI changing how we work, protecting credentials and other secrets is more important than ever.

Happy safekeeping!

The Easiest Way to Download Enterprise Manager Patches

Using AutoUpgrade, you can download patches for Oracle Enterprise Manager (OEM). It’s fast and convenient.

Get Those Patches

  1. I use the latest version of AutoUpgrade.

    wget https://download.oracle.com/otn-pub/otn_software/autoupgrade.jar
    
  2. I’ve already stored my MOS credentials in the AutoUpgrade keystore.

  3. I create an AutoUpgrade config file:

    global.global_log_dir=/home/oracle/autoupgrade/logs
    global.keystore=/home/oracle/autoupgrade/keystore
    global.download_folder=/home/oracle/patch-repo
    
    patch1.patch=OEM:24.1
    patch1.target_version=19
    
    patch2.patch=OEM:13.5
    patch2.target_version=19
    
    • I use the OEM keyword to download patches for Oracle Enterprise Manager.
    • I want to get patches for versions 24.1 and 13.5.
  4. I start AutoUpgrade in download mode:

    java -jar autoupgrade.jar -patch \
       -config get-patches.cfg \
       -mode download
    
  5. AutoUpgrade now downloads the patches:

    AutoUpgrade Patching 26.6.260925 launched with default internal options
    Processing config file ...
    Loading AutoUpgrade Patching keystore
    AutoUpgrade Patching keystore is loaded
    
    ------------------------------------------------------
    Downloading files to /Users/doverbyh/Downloads/patches
    ------------------------------------------------------
    Oracle Enterprise Manager 24ai Release 1 Update 13 (24.1.0.13) for Oracle Management Service
        File: p39815035_241000_Generic.zip - LOCATED
    
    Oracle Enterprise Manager 24ai Release 1 Holistic Patch for Oracle Management Service - September 2026
        File: p39984254_241000_Generic.zip - LOCATED
    
    Oracle Enterprise Manager 24ai Release 1 Update 13 (24.1.0.13) for Oracle Management Agent
        File: p39815042_241000_Generic.zip - LOCATED
    
    OMSPatcher patch of version 13.9.24.17.0 for Enterprise Manager 24.1.0.0.0
        File: p19999993_241000_Generic.zip - LOCATED
    
    AgentPatcher patch of version 13.9.25.3.0 for Enterprise Manager 24.1.0.0.0
        File: p33355570_241000_Generic.zip - LOCATED
    ------------------------------------------------------
    
    
    ------------------------------------------------------
    Downloading files to /Users/doverbyh/Downloads/patches
    ------------------------------------------------------
    Oracle Enterprise Manager 13c Release 5 Update 34 (13.5.0.34) for Oracle Management Service
        File: p39820104_135000_Generic.zip - LOCATED
    
    Oracle Enterprise Manager 13c Release 5 Holistic Patch for Oracle Management Service - September 2026
        File: p39984261_135000_Generic.zip - LOCATED
    
    Oracle Enterprise Manager 13c Release 5 Update 34 (13.5.0.34) for Oracle Management Agent
        File: p39820108_135000_Generic.zip - LOCATED
    
    OMSPatcher patch of version 13.9.5.27.0 for Enterprise Manager Cloud Control 13.5.0.0.0
        File: p19999993_135000_Generic.zip - LOCATED
    
    AgentPatcher release of version 13.9.5.10.0 for Enterprise Manager Cloud Control Agent 13.5.0.0.0
        File: p33355570_135000_Generic.zip - LOCATED
    ------------------------------------------------------	
    
  6. That’s it. Now I can take those patches and patch OEM. AutoUpgrade can’t help me with that part.

Notes

  • AutoUpgrade downloads the following patches:
    • Oracle Management Service Release Update
    • Oracle Management Service Holistic Patch
    • Oracle Management Agent Release Update
    • OMSPatcher
    • AgentPatcher
  • OEM patches are generic, so there’s no need to specify a platform in the config file.
  • You must also specify target_version in the config file, although AutoUpgrade doesn’t use it for OEM patches.That requirement will be removed in a later version of AutoUpgrade.
  • AutoUpgrade supports OEM versions 13.5 and 24.1. There will be no support for older releases.
  • The patches are quite large. Have at least 15 GB per set of patches.

That’s It

Once again AutoUpgrade proves itself as the trusted aid of the DBA.

This enhancement came directly from customer feedback. What should we add next?

Happy patching!

AutoUpgrade New Features: The Patch Overview

I trust you’ve already used AutoUpgrade to download patches. If not, you’re missing out big time.

Here’s a nifty new feature that makes AutoUpgrade fit better into your automation and gives you an overview of what you’ve downloaded already.

The Download JSON File

  • AutoUpgrade constructs and maintains a JSON file named patches_info.json.
  • AutoUpgrade stores the file in the download folder (config file entry folder).
  • It contains information about all the patches AutoUpgrade has downloaded.
  • The file is cumulative, so it contains information about not just the latest download but also previous ones.

Example

Here’s a sample output:

{
    "patchFolder": "/home/oracle/patches",
    "patches": [
        {
            "description": "DATABASE RELEASE UPDATE 23.26.3.0.0(GOLD IMAGE)",
            "platform": "Linux x86-64",
            "releaseUpdate": "23.26.3.0.0",
            "files": [
                {
                    "name": "p39581612_230000_Linux-x86-64.zip",
                    "checksum": "DDBEBAC94B5F0B7D3FF4910AB01DB8FCDD3390A7",
                    "checksum-256": "2CAFECB11DBDD7F81C55DEE9FC846AA7E8F8C265721C1B8AB4B23EF13F94643D"
                }
            ]
        },
        {
            "description": "OPatch 12.2.0.1.52 for DB 23.0.0.0.0 (Jul 2026)",
            "platform": "Linux x86-64",
            "files": [
                {
                    "name": "p6880880_230000_Linux-x86-64.zip",
                    "checksum": "21EF498D3ECA4E734467A02FD0A799C464008726",
                    "checksum-256": "8C0D19B7774CD2E0443D2FC2BD29D3A784383199BEA3867CD4D39E2D32BFA6CC"
                }
            ]
        }
    ]
}

Checksum

After downloading a file, AutoUpgrade automatically checks the integrity of the file by calculating and verifying the checksum.

If there is a discrepancy, AutoUpgrade deletes the file and informs you.

If you want to verify it manually, you can find the expected checksum in the JSON file.

Human Readable

JSON is good for machines, but bad for humans, so here’s a party trick to beautify the output:

jq -r '
["TYPE","DESCRIPTION","PLATFORM","FILE","SHA1","SHA256"],
(.patches[] |
 [
   (if .description|test("RELEASE UPDATE") then "RU"
    elif .description|test("OPatch") then "OPATCH"
    elif .description|test("OJVM") then "OJVM"
    elif .description|test("DATAPUMP") then "DPBP"
    else "PATCH" end),
   .description,
   (.platform // "Generic"),
   .files[0].name,
   .files[0].checksum,
   .files[0]["checksum-256"]
 ]) | @tsv
' patches_info.json | column -t -s $'\t'

This command turns the JSON file into a tabular format:

TYPE    DESCRIPTION                                      PLATFORM      FILE                               SHA1                                      SHA256
RU      DATABASE RELEASE UPDATE 23.26.3.0.0(GOLD IMAGE)  Linux x86-64  p39581612_230000_Linux-x86-64.zip  DDBEBAC94B5F0B7D3FF4910AB01DB8FCDD3390A7  2CAFECB11DBDD7F81C55DEE9FC846AA7E8F8C265721C1B8AB4B23EF13F94643D
OPATCH  OPatch 12.2.0.1.52 for DB 23.0.0.0.0 (Jul 2026)  Linux x86-64  p6880880_230000_Linux-x86-64.zip   21EF498D3ECA4E734467A02FD0A799C464008726  8C0D19B7774CD2E0443D2FC2BD29D3A784383199BEA3867CD4D39E2D32BFA6CC

Thanks to Abhilash Kumar for the tip.

Happy patching!

AutoUpgrade New Features: Download Tools (AHF, CVU, SQLcl)

Once you try downloading patches using AutoUpgrade, you’ll never do it from My Oracle Support again.

But what if you want to download:

Do you really have to do that from My Oracle Support? Of course – AutoUpgrade has you covered!

Download Tools

  1. I’ve already configured AutoUpgrade to download patches.

  2. I create a config file:

    global.global_log_dir=/home/oracle/autoupgrade/logs
    global.keystore=/home/oracle/autoupgrade/keystore
    global.folder=/home/oracle/autoupgrade/patches
    
    patch1.platform=LINUX.X64
    patch1.target_version=19
    patch1.patch=SQLCL,AHF,CVU
    
    • Notice the patch specification. It contains the three new keywords that instruct AutoUpgrade to download the tools.
  3. I start AutoUpgrade in download mode:

    AutoUpgrade Patching 26.3.260401 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 /home/oracle/autoupgrade/patches
    -----------------------------------------------------
    PLACEHOLDER - DOWNLOAD LATEST AHF (TFA and ORACHK/EXACHK)
        File: AHF-LINUX_v26.3.1.zip - LOCATED
    
    Standalone CVU (OL8+, RHEL8+) January 2026
        File: cvupack_linux_ol8_x86_64.zip - LOCATED
    
    sqlcl-latest.zip 26.1.2.132.1334 (May 2026)
        File: sqlcl-latest.zip - LOCATED
    ------------------------------------------------------	
    
  • AutoUpgrade places the latest version of the tools in the download folder.

  • Nice and simple.

Multiple Platforms

  • If I have multiple platforms, I can download for all of them:

    patch1.platform=LINUX.X64
    patch1.target_version=19
    patch1.patch=SQLCL,AHF,CVU
    
    patch2.platform=WINDOWS.X64
    patch2.target_version=19
    patch2.patch=SQLCL,AHF,CVU
    
    patch3.platform=AIX.X64
    patch3.target_version=19
    patch3.patch=SQLCL,AHF,CVU
    
    • Notice how each platform has its own prefix (patch1, patch2, and patch3).
  • When I start AutoUpgrade in download mode, it downloads the tools for the three platforms.

That’s It

There are several tools that help you work with Oracle AI Database. Don’t miss out, update the tools and benefit from the latest enhancements.

Do you have a favorite tool that AutoUpgrade should download for you? Drop a comment and I’ll see what we can do.

Happy patching!

Recent Webinars on Database Patching

After a short delay, the latest Release Updates are out for Linux.

Are you wondering about the remaining platforms? Or do you want to refresh your knowledge of database patching? We recently aired two webinars that you’ll find interesting.

Webinar
Database Patching for DBAs – Patch smarter, not harder Slides Q&A Recording
Patch smarter, not harder – MS Windows Special Edition Slides Q&A Recording

If you’re still downloading patches from My Oracle Support, you must watch these webinars. Save yourself a lot of time and grab all the patches you need in one command.

If you have RAC databases and the applications are a little slow to drain or you just want more control, check out the DBA-controlled draining we recently introduced.

My Highlights

Here are a few of the topics that I find especially useful:

Next Webinar

It didn’t take long after the last one before we settled on the next webinar:

Statistics and Migrations – Well-Kept Secrets Revealed

Interested? Take a look at the abstract and sign up.

Happy patching!

AutoUpgrade New Features: Download the Newest AutoUpgrade.jar

I’ve told you a million times:

Always get the latest version of AutoUpgrade!

A while ago, AutoUpgrade even became available for direct download from Oracle.com. But it must be even easier.

Now, AutoUpgrade downloads the latest version of itself when you use the keywords RECOMMENDED or AU. Here’s an example:

global.global_log_dir=/home/oracle/autoupgrade-patching/log
global.keystore=/home/oracle/autoupgrade-patching/keystore
global.folder=/home/oracle/autoupgrade/patches
patch1.target_version=19
patch1.patch=RECOMMENDED

I start AutoUpgrade:

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

Conveniently, AutoUpgrade grabs the latest version after downloading the patches:

Connected to MOS - Searching for specified patches

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

...

autoupgrade.jar 26.2 (February 2026)
    File: autoupgrade.jar - LOCATED
-----------------------------------------------------

Simple and easy!

Other Tools

Besides AutoUpgrade, there are other important tools for Oracle AI Database.

Here’s a little sneak peek at what the next version of AutoUpgrade brings. Using this config file:

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

patch1.target_version=19
patch1.patch=AHF,CVU,SQLCL

You’ll get the latest versions of:

  • Autonomous Health Framework
  • Cluster Verification Utility
  • SQLcl

Leave a comment if you think there are other tools that AutoUpgrade should get for you.

How to Fix Errors in AutoUpgrade Download Mode

If you’re a frequent visitor to my blog, you’ll know I’m a big AutoUpgrade fanboy – especially the download mode, which can save you hours of downloading patches on My Oracle Support.

Recently, I was preaching to another customer, and when they finally gave in, here’s what happened:

We gave it a shot, but we keep running into errors when we try the download mode.

So, let’s see how we can solve the most common problems.

My Oracle Support

  1. You must have an Oracle SSO account.

  2. That account must be linked to a Customer Support Identifier (CSI) that has an active support agreement.

  3. In that CSI, you must have the privilege to download patches. The MOS administrator in your organization can help you with that.

    • In User Details, select the appropriate Support Identifier, set the Patches drop-down to Download.
  4. If AutoUpgrade tells you that your username or password is incorrect:

    *Connection Failed - You entered an incorrect user name or password.* 
    
    • You should ensure that you’re using the latest version of AutoUpgrade. We recently fixed a bug for passwords with certain special characters.

Network Connectivity

  1. AutoUpgrade must connect to the following servers:

  2. Those servers are part of a Content Delivery Network (CDN), so expect changing IP addresses. Base your firewall rules on DNS names rather than IP addresses.

  3. You can connect via a proxy:

    export https_proxy=https://proxy.weyland-yutani.net:8080
    java -jar autoupgrade.jar ... -mode download
    

Common Errors

*Request to https://login-ext.identity.oraclecloud.com failed with response code [403]*
  • Open your firewall. Allow traffic based on DNS names, not IP addresses.
  • Optionally, connect via a proxy server.

*unable to find valid certification path to requested target*

*SSL peer shut down incorrectly*
  • Check firewall settings and security groups to ensure they permit SSL traffic on the required ports.

Windows

If AutoUpgrade requires that you use an elevated command prompt (the run as administrator thing) when you use download mode, you should update to the latest version of AutoUpgrade. It no longer requires this.

Happy downloading!

The Easiest Way To Download Patches for Oracle Grid Infrastructure

Whether you patch Oracle Grid Infrastructure manually, using your own automation, or Oracle Fleet Patching and Provisioning, it all starts with downloading the patches.

Although AutoUpgrade doesn’t patch Grid Infrastructure, it can still download the latest version of OPatch and the GI Release Update.

How To Download Grid Infrastructure Release Update

I have already configured the AutoUpgrade keystore and saved my My Oracle Support credentials. You find instructions on how to do that here (search for Creating an AutoUpgrade Keystore).

  1. I download the latest version of AutoUpgrade:

    wget https://download.oracle.com/otn-pub/otn_software/autoupgrade.jar
    
  2. I create a config file called get-gi-patches.cfg:

    global.global_log_dir=/home/oracle/autoupgrade/logs
    global.keystore=/home/oracle/autoupgrade/keystore
    
    patch1.patch=RU,OPATCH,OCW
    patch1.target_version=19
    patch1.platform=LINUX.X64
    patch1.folder=/home/oracle/autoupgrade/patches
    
  3. I create the folder for the patches (config file parameter folder).

    mkdir -p /home/oracle/autoupgrade/patches
    
  4. I download the patches by starting AutoUpgrade in download mode:

    java -jar autoupgrade.jar -config get-gi-patches.cfg -mode download
    
  5. Here’s the output from AutoUpgrade:

    AutoUpgrade Patching 25.3.250509 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 /home/oracle/autoupgrade/patches
    -----------------------------------------------------
    DATABASE RELEASE UPDATE 19.27.0.0.0
        File: p37642901_190000_Linux-x86-64.zip - VALIDATED
    
    GI RELEASE UPDATE 19.27.0.0.0
        File: p37641958_190000_Linux-x86-64.zip - VALIDATED
    
    OPatch 12.2.0.1.46 for DB 19.0.0.0.0 (Apr 2025)
        File: p6880880_190000_Linux-x86-64.zip - VALIDATED
    -----------------------------------------------------   
    
  6. That’s it! After a few minutes, I’ve downloaded the latest GI Release Update and OPatch. GI RELEASE UPDATE 19.27.0.0.0 – p37641958_190000_Linux-x86-64.zip OPatch 12.2.0.1.46 for DB 19.0.0.0.0 (Apr 2025) – p6880880_190000_Linux-x86-64.zip

Is it really that easy? Yes, it is…

I can now patch my GI Oracle home – for Oracle RAC Database and Oracle Restart.

Happy patching!

Appendix

I Want To Download A Previous Release Update

Rather than downloading the latest Release Update, you can choose to download a specific Release Update. You can specify that in the patch parameter:

patch1.patch=RU:19.26,OPATCH,OCW
  • Notice how the RU keyword has a suffix specifying the exact Release Update.