We are happy to announce that starting in AutoUpgrade 26.2, it is possible to use and download Gold Images on the tool, which will speed up your patching process!
Let’s get started!
How does it work?
The Gold Image feature works by transparently calling the Oracle Update Advisor service, providing the list of patches on the patch config parameter, and ask this service to return with the database home zipped as a gold image so AU can simply extract it.
For customers using AutoUpgrade behind a firewall, it is necessary to allow HTTPS (port 443) connections to transport.oracle.com and objectstorage.us-ashburn-1.oraclecloud.com.
If the same image you are requesting was already requested previously (by any other user), the service will have it cached. Usually, it takes about ~7 minutes or less for the file to be available for download when it is cached. However, if the image needs to be generated for the first time, it can take up to 2 hours for it to be generated.
This Oracle Update Advisor service also requires that not just the MOS user/password be provided, but also the MOS CSI. Because of this requirement, we added a new option on the AU wallet so the CSI can be loaded:
To add the CSI, you run:
$ $ORACLE_HOME/jdk/bin/java -jar autoupgrade.jar -patch -config patch.cfg -load_password Processing config file ... Loading AutoUpgrade Patching keystore AutoUpgrade Patching keystore is loaded Starting AutoUpgrade Patching Password Loader - Type help for available options MOS> add The specified command is in an invalid format. To add MOS credentials: add -user [email protected] To add CSI #: add -csi <csi #> MOS> add -csi 12345678 MOS> save
Also, we added a new config file parameter, named gold_image. The accepted values for it are:
- NO
Gold Image will not be used. This will force the previous (current) behaviour. Patches are individually downloaded from MOS and applied. However, remember that for releases before 26ai, in this mode, it is required that the base release be placed in the patches folder.
- YES
The Gold Image feature is enabled. When this value is provided, AU will request and download the generated Gold Image for all patches from Oracle Update Advisor service, except for anything that is a number in the patch parameter (one-offs). So, the one-off patches are still downloaded and applied individually from MOS. This option will require that the MOS CSI be loaded into the keystore.
- ALL
The Gold Image feature is enabled. Differently from YES, if ALL is provided, AU will download the generated Gold Image for all patches from Oracle Update Advisor service. This option will require that the MOS CSI be loaded into the keystore.
Why not always use ALL instead of YES? Because the chances that the requested image is already cached (another user requested it before) are much higher when you exclude one-offs. So, it is faster to simply download the image, excluding the one-offs, and apply them later via opatch.
- AUTO (default)
The default value of AUTO will automatically decide the best approach, selecting between YES or NO.
If all of these preconditions below are met, then AUTO is resolved as YES. Otherwise, AUTO is resolved as NO:
-
- A valid CSI with My Oracle Support credentials is loaded into the AutoUpgrade Patching keystore.
- Connection to Oracle Updater is successful.
- Note that if you are behind a firewall,
https://transport.oracle.com/needs to be whitelisted.
- Note that if you are behind a firewall,
- The requested platform is LINUX.X64.
- The requested RU is available on the Oracle Update Advisor service (the service only provides the 3 latest RUs).
ALL vs YES
Let’s compare the flow of using YES vs ALL for a config file with the following properties: patch=RU,OJVM,OPATCH,OCW,37690446,34672698
- If
gold_image=YES:- Request Gold Image for RU,OJVM,OPATCH,OCW. Generation time will be about 7 min (if cached).
- Download Gold Image from Oracle Update Advisor service. Example: autoupgrade_linux-x86-64_19.28_db_home.zip.
- Download 37690446 and 34672698 from MOS.
- Unzip Gold Image as new Oracle Home.
- Apply each downloaded patch.
- If
gold_image=ALL:- Request Gold Image for everything. Generation time – about 2 hrs (if not cached).
- Download Gold Image from Oracle Update Advisor service. Example: autoupgrade_linux-x86-64_19.28_db_home.zip.
- Unzip Gold Image as new Oracle Home.
So, even though ALL has fewer steps, the time we wait for having the Gold Image is usually higher than applying the 2 extra one-offs, which are small.
Trying the feature
Let’s finally play with this new feature:
First, download the latest release of AutoUpgrade and ensure it is at least 26.2:
$ wget https://download.oracle.com/otn-pub/otn_software/autoupgrade.jar --2026-02-04 13:46:04-- https://download.oracle.com/otn-pub/otn_software/autoupgrade.jar Resolving download.oracle.com (download.oracle.com)... 23.37.8.103 Connecting to download.oracle.com (download.oracle.com)|23.37.8.103|:443... connected. HTTP request sent, awaiting response... 302 Moved Temporarily Location: https://edelivery.oracle.com/otn-pub/otn_software/autoupgrade.jar [following] --2026-02-04 13:46:05-- https://edelivery.oracle.com/otn-pub/otn_software/autoupgrade.jar Resolving edelivery.oracle.com (edelivery.oracle.com)... 23.55.213.198, 2600:1419:6200:10a8::366, 2600:1419:6200:10bb::366 Connecting to edelivery.oracle.com (edelivery.oracle.com)|23.55.213.198|:443... connected. HTTP request sent, awaiting response... 302 Moved Temporarily Location: https://download.oracle.com/otn-pub/otn_software/autoupgrade.jar?AuthParam=1770212885_5d957e026f73e3b40d9fc1a392869a7b [following] --2026-02-04 13:46:05-- https://download.oracle.com/otn-pub/otn_software/autoupgrade.jar?AuthParam=1770212885_5d957e026f73e3b40d9fc1a392869a7b Connecting to download.oracle.com (download.oracle.com)|23.37.8.103|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 6729677 (6.4M) [application/x-jar] Saving to: ‘autoupgrade.jar’ 100%[=====================================================================================================================================================>] 6,729,677 --.-K/s in 0.1s 2026-02-04 13:46:06 (52.8 MB/s) - ‘autoupgrade.jar’ saved [6729677/6729677]
Now, let’s create a config file with the following entries and request a download:
$ cat > patch.cfg << 'EOF' > global.global_log_dir=/home/oracle/autoupgrade/log > global.keystore=/home/oracle/autoupgrade/keystore > > patch1.sid=DB193H11 > patch1.source_home=/u01/app/oracle/product/19.3.0.0/dbhome_1 > patch1.target_home=/u01/app/oracle/product/%RELEASE%.%UPDATE%/dbhome_1 > patch1.restoration=YES > patch1.folder=/home/oracle/autoupgrade/patches > patch1.patch=RU,OJVM,OPATCH,OCW > patch1.download=YES > patch1.gold_image=YES > EOF $ $ORACLE_HOME/jdk/bin/java -jar autoupgrade.jar -patch -config patch.cfg -mode download AutoUpgrade Patching 26.2 launched with default internal options Processing config file ... Loading AutoUpgrade Patching keystore AutoUpgrade Patching keystore is loaded For prefix patch1, if gold_image is set to YES or ALL, both CSI and MOS credentials need to be loaded into the keystore. Use -load_password option
So, as you can see, we need to add the CSI to the AU wallet. Let’s do it:
$ $ORACLE_HOME/jdk/bin/java -jar autoupgrade.jar -patch -config patch.cfg -load_password Processing config file ... Loading AutoUpgrade Patching keystore AutoUpgrade Patching keystore is loaded Starting AutoUpgrade Patching Password Loader - Type help for available options MOS> add The specified command is in an invalid format. To add MOS credentials: add -user [email protected] To add CSI #: add -csi <csi #> MOS> add -csi 12345678 AutoUpgrade Patching keystore Password is required prior to operation Enter wallet password: Continuing... MOS> exit Save the AutoUpgrade Patching keystore before exiting [YES|NO] ? yes AutoUpgrade Patching Password Loader finished - Exiting AutoUpgrade Patching
Now trying to download again:
$ $ORACLE_HOME/jdk/bin/java -jar autoupgrade.jar -patch -config patch.cfg -mode download
AutoUpgrade Patching 26.2 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded
Connected to Oracle Updater service - Requesting gold images
AutoUpgrade Patching has finished processing the gold image requests
-----------------------------------------------------
Downloading files to /home/oracle/autoupgrade/patches
-----------------------------------------------------
Gold Image - 19.30.0.0.0
File: autoupgrade_linux-x86-64_19.30.0.0.0_db_home.zip - VALIDATED
-----------------------------------------------------
Nice, the base image was downloaded. It took me about 7 minutes for the file to be generated, plus 4 minutes to download it.
Let’s check the patches included on it:
$ unzip -j /home/oracle/autoupgrade/patches/autoupgrade_linux-x86-64_19.30.0.0.0_db_home.zip inventory/ContentsXML/oui-patch.xml Archive: /home/oracle/autoupgrade/patches/autoupgrade_linux-x86-64_19.30.0.0.0_db_home.zip inflating: oui-patch.xml $ xmllint --xpath '//ONEOFF[@TYPE="unknown"]/DESC' oui-patch.xml \ > | sed 's:</DESC>:</DESC>\n:g' \ > | sed -n 's:.*<DESC>\(.*\)</DESC>:\1:p' Database Release Update : 19.30.0.0.260120(REL-JAN260130) (38632161) OCW RELEASE UPDATE 19.30.0.0.0 (38661284) OJVM RELEASE UPDATE: 19.30.0.0.260120 (38523609) $
So, as you can see, the RU, OCW, and OJVM of the 19.30 release (latest as of today) are included in one single dbhome image file. Pretty cool.
Now what if I change:
patch=RU,OJVM,OPATCH,OCW,38854064,37690446,34672698,34774667,29213893
And keep the gold_image=YES. What will happen?
$ cat > patch.cfg << 'EOF'
> global.global_log_dir=/home/oracle/autoupgrade/log
> global.keystore=/home/oracle/autoupgrade/keystore
>
> patch1.sid=DB193H11
> patch1.source_home=/u01/app/oracle/product/19.3.0.0/dbhome_1
> patch1.target_home=/u01/app/oracle/product/%RELEASE%.%UPDATE%/dbhome_1
> patch1.restoration=YES
> patch1.folder=/home/oracle/autoupgrade/patches
> patch1.patch=RU,OJVM,OPATCH,OCW,38854064,37690446,34672698,34774667,29213893
> patch1.download=YES
> patch1.gold_image=YES
> EOF
$ $ORACLE_HOME/jdk/bin/java -jar autoupgrade.jar -patch -config patch.cfg -mode download
AutoUpgrade Patching 26.2 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded
Connected to Oracle Updater service - Requesting gold images
AutoUpgrade Patching has finished processing the gold image requests
Connected to MOS - Searching for specified patches
-----------------------------------------------------
Downloading files to /home/oracle/autoupgrade/patches
-----------------------------------------------------
OPatch 12.2.0.1.49 for DB 19.0.0.0.0 (Jan 2026)
File: p6880880_190000_Linux-x86-64.zip - VALIDATED
OCI: DATA CORRUPTION SEEN IN MIDDLE OF DBRU PATCHING TO 19.29 AND LOST WRITE DETECTED IN THE STNABY
File: p38854064_1930000DBRU_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
Gold Image - 19.30.0.0.0
File: autoupgrade_linux-x86-64_19.30.0.0.0_db_home.zip - LOCATED
-----------------------------------------------------
$
As you can see above, it used the same Gold Image as before and downloaded the extra one-offs. What if I change now gold_image=ALL?
$ cat > patch.cfg << 'EOF'
> global.global_log_dir=/home/oracle/autoupgrade/log
> global.keystore=/home/oracle/autoupgrade/keystore
>
> patch1.sid=DB193H11
> patch1.source_home=/u01/app/oracle/product/19.3.0.0/dbhome_1
> patch1.target_home=/u01/app/oracle/product/%RELEASE%.%UPDATE%/dbhome_1
> patch1.restoration=YES
> patch1.folder=/home/oracle/autoupgrade/patches
> patch1.patch=RU,OJVM,OPATCH,OCW,38854064,37690446,34672698,34774667,29213893
> patch1.download=YES
> patch1.gold_image=ALL
> EOF
$ $ORACLE_HOME/jdk/bin/java -jar autoupgrade.jar -patch -config patch.cfg -mode download
AutoUpgrade Patching 26.2 launched with default internal options
Processing config file ...
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded
Connected to Oracle Updater service - Requesting gold images
AutoUpgrade Patching has finished processing the gold image requests
-----------------------------------------------------
Downloading files to /home/oracle/autoupgrade/patches
-----------------------------------------------------
Gold Image - 19.30.0.0.0
File: autoupgrade_linux-x86-64_19.30.0.0.0_db_home.zip - VALIDATED
-----------------------------------------------------
$
It took about 2 hours for the Oracle Update Advisor service to prepare the image and 5 minutes to download the file (the file is placed on an OCI bucket). If it were cached, it would be fast. Now, checking the contents:
$ unzip -j /home/oracle/autoupgrade/patches/autoupgrade_linux-x86-64_19.30.0.0.0_db_home.zip inventory/ContentsXML/oui-patch.xml Archive: /home/oracle/autoupgrade/patches/autoupgrade_linux-x86-64_19.30.0.0.0_db_home.zip inflating: oui-patch.xml $ xmllint --xpath '//ONEOFF[@TYPE="unknown"]/DESC' oui-patch.xml \ > | sed 's:</DESC>:</DESC>\n:g' \ > | sed -n 's:.*<DESC>\(.*\)</DESC>:\1:p' Database Release Update : 19.30.0.0.260120(REL-JAN260130) (38632161) OCW RELEASE UPDATE 19.30.0.0.0 (38661284) DBMS_STATS FAILING WITH ERROR ORA-01422 WHEN GATHERING STATS FOR USER$ TABLE OJVM RELEASE UPDATE: 19.30.0.0.260120 (38523609) OCI DATA CORRUPTION SEEN IN MIDDLE OF DBRU PATCHING TO 19.29 AND LOST WRITE DETECTED IN THE STNABY ORA-600 [KTATMKREF-RS] ERRORS IN THE ALERT LOG POST-PATCH 37260974 (19.26.0.0.250121 DBRU) ORA-7445 IN PURGE QUEUE TABLE ORA-00800 SOFT EXTERNAL ERROR, ARGUMENTS [SET PRIORITY FAILED], [VKTM] , DISM(16) $
As we can see, it has all the patches that were requested already applied to that image.
Have you enjoyed? Please leave a comment or give a 👍!





12 comments
Skip to comment form
Hi,
if i try this i became following error =>
[oracle@oel9 goldimage]$ java -jar autoupgrade.jar -patch -config goldimage.cfg -mode download
AutoUpgrade Patching 26.2.260205 launched with default internal options
Processing config file …
The following errors were found in the configuration file:
The source_home parameter for prefix patch1 does not exist or is not a directory – /u01/app/oracle/product/19.3.0.0/db
[oracle@oel9 goldimage]$ mkdir -p /u01/app/oracle/product/19.3.0.0/db
If i then create empty directory
mkdir -p /u01/app/oracle/product/19.3.0.0/db
i became failure =>
[oracle@oel9 goldimage]$ java -jar autoupgrade.jar -patch -config goldimage.cfg -mode download
AutoUpgrade Patching 26.2.260205 launched with default internal options
Processing config file …
Unable to derive the binary options in the ORACLE_HOME /u01/app/oracle/product/19.3.0.0/db for prefix patch1
This is a empty Server only to create a “goldimage” . Do i miss anything? The only thing i change is the config file name. Parameters are the same,
Author
Yes, if this is an empty server, probably you are setting a source_home pointing to a non-existent folder. Remove this parameter from your config file. If the error persists, please paste the config file here so I can try to check what’s wrong.
Hi Rodrigo,
i got the gold image with the parameter patch1.gold_image=ALL, but when i tried to create a new home i got the next error:
java -jar autoupgrade.jar -patch -config config_file -mode create_home
There were conditions found preventing AutoUpgrade Patching from successfully running
There were conditions found preventing AutoUpgrade Patching from successfully running
*Validating Oracle Patch files
Unable to find any gold image containing the requested patches
the gold image exists in the folder
im doing something wrong?
Author
This was a bug in case you moved the patch download folder to another location, or if this Gold Image was shared between different servers. The download inventory was help on the log directory, so other executions couldn’t see or understand that gold image. This was already fixed on the latest release.
Thanks for the info Rodrigo.
Does the creation of a golden image depend on the operating system version? For example, is it the same to create a golden image on Red Hat 8 as on Red Hat 9? Or are the libraries that can be used always the same? I’m referring to when you create the golden image locally with runInstaller. Seeing that it can be done directly in the cloud, it seems to be independent then. Thank you very much.
Author
Hi Carlos. It is the same across different operating systems given they have the same platform (Linux x86-64). However, for OL9 for example, the minimum RU level must be 19.22.
Hi Rodrigo,
this is pretty cool, thanks! I was able to download the gold image for 19.31. After I have copied it to another server, when running “create_home”, it is not finding the patch files. I have basically a similar issue than Cesar Martinez. I am using latest autoupgrade.jar and have copied it to the remove server including the gold image plus the autoupgrade_linux-x86-64_19.31.0.0.0_db_home.zip. We are on a RedHat 9 box.
This is my patch.cfg file:
global.global_log_dir=/local0/oracle/autoUpgrade/logs
patch1.source_home=/opt/oracle/19
patch1.target_home=/local0/oracle/product/19/19.31
patch1.folder=/local0/oracle/patches/19.31
patch1.download=NO
patch1.gold_image=YES
patch1.sid=SELCDB
patch1.restoration=no
This is the output:
$ORACLE_HOME/jdk/bin/java -jar /local0/oracle/patches/19.31/autoupgrade.jar -config /local0/oracle/patches/19.31/patch.cfg -patch -mode create_home
AutoUpgrade Patching 26.3.260401 launched with default internal options
Processing config file …
There were conditions found preventing AutoUpgrade Patching from successfully running
*Validating Oracle Patch files
Unable to find any gold image containing the requested patches
What have I missed?
Quick correction: I have copied the downloaded gold image “autoupgrade_linux-x86-64_19.31.0.0.0_db_home.zip plus the current “autoupgrade.jar” to the remote server. Not more. I am stuck.
I have the same problem. I downloaded the latest 19.31 goldimage and unzipped that file because it contains another zip file which seems to be the gold image as autoupgrade likes it.
I have the impression that autoupgrade verifies if the fixes in the goldimage maps the path parameter in autoupgrade.
Hi,
Great article. I noticed that for 26ai, AU downloads the full image file even if have “patch1.gold_image=NO” option in my config file. I need the traditional incremental patch file that I can unzip and run “opatch apply”. any idea why this behavior ?
thanks
I’m hitting similar issue with create_home option after downloading the gold image.
I downloaded the gold image successfully using autoupgrade:
java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -config download_gold.cfg -patch -mode download
With this cfg file:
global.global_log_dir=/u01/app/oracle/autoupgrade/logs
global.keystore=/u01/app/oracle/autoupgrade/keystore
download1.target_version=26
download1.folder=/u01/app/oracle/software
download1.patch=RECOMMENDED
download1.download=yes
download1.gold_image=yes
This contains these images and patches – latest version of opatch is in the zip file:
Database Release Update : 23.5.0.24.07 (36741532) Gold Image
OCW RELEASE UPDATE 23.5.0.24.07 (36744688) Gold Image
Database Release Update : 23.26.2.0.0 (39093711)
OCW RELEASE UPDATE 23.26.2.0.0 (39093738)
DATAPUMP BUNDLE PATCH 23.26.2.0.0
Then tried to create the new oracle home using the autoupgrade -patch -mode create_home but it gives me an error:
java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -config create_home.cfg -patch -mode create_home
AutoUpgrade Patching 26.3.260401 launched with default internal options
Processing config file …
Loading AutoUpgrade Patching keystore
AutoUpgrade Patching keystore is loaded
There were conditions found preventing AutoUpgrade Patching from successfully running
*Validating Oracle Patch files
Unable to find any gold image containing the requested patches.
create_home.cfg:
global.global_log_dir=/u01/app/oracle/autoupgrade/logs
global.keystore=/u01/app/oracle/autoupgrade/keystore
patch1.target_version=26
patch1.patch=RECOMMENDED
patch1.folder=/u01/app/oracle/software
patch1.target_home=/u01/app/oracle/product/26.0.0/db1
patch1.download=no
patch1.gold_image=yes
patch1.home_settings.oracle_base=/u01/app/oracle
patch1.home_settings.edition=EE
patch1.home_settings.inventory_location=/u01/app/oraInventory
patch1.home_settings.inventory_group=dba
patch1.home_settings.osdba_group=dba
patch1.home_settings.osbackupdba_group=dba
patch1.home_settings.oskmdba_group=dba
patch1.home_settings.osracdba_group=dba
patch1.home_settings.osdgdba_group=dba
patch1.home_settings.osoper_group=dba
patch1.home_settings.binopt.asm=yes
patch1.home_settings.binopt.rac=yes
patch1.home_settings.cluster_nodes=
This could be a bug with the new GOLD option – previously it was possible to create a home but it expected the base install plus patches to apply. I raised an SR with Oracle but just get referred to 19c KBs which don’t talk about the gold option.
Is it possible that create_home option can do the download too?
Hi Rodrigo, I appreciate the option to create a gold image using AutoUpgrade. As far as I can see, this is currently only possible for Oracle RDBMS. It would be really great if we could use AutoUpgrade as well to prepare a gold image for a full Oracle Client. Is this planned in the future, or have I missed it and it works already? We need to patch quite often (during a maintenance window) the Oracle Client on one server and the Oracle RDBMS on another server. It would be great if we could use the same process (using AutoUpgrade, out-of-place, gold image).