{"id":2858,"date":"2025-11-06T20:32:31","date_gmt":"2025-11-07T02:32:31","guid":{"rendered":"https:\/\/bijoos.com\/oraclenotes\/?p=2858"},"modified":"2026-02-07T15:25:04","modified_gmt":"2026-02-07T21:25:04","slug":"oracle-software-install-using-autoupgrade-on-a-brand-new-vm","status":"publish","type":"post","link":"https:\/\/bijoos.com\/oraclenotes\/2025\/2858\/","title":{"rendered":"Oracle AI Database 26ai Software Install using AutoUpgrade on a Brand New VM!"},"content":{"rendered":"\n<p>This week, I attended the East Coast Oracle Conference and listened to Alex Zaballa. He finished his session early and jumped to show some of the cool features available in AutoUpgrade. I was truly impressed by the new features and capabilities of AutoUpgrade. I think that soon the upgrade team will have to change the product name, as AutoUpgrade does a lot more than just Oracle Database upgrades.<\/p>\n\n\n\n<p>I wanted to check out the Oracle software install with all patches and updates automagically using AutoUpgrade on a brand new server. Thanks Alex!<\/p>\n\n\n\n<p><em>Let&#8217;s begin with 19c before I demonstrate the Oracle AI Database 26ai installation. By the way, 26ai is a RU patch for 23ai \u2014 the main version number remains at 23. To upgrade to AIDB 26ai, simply apply the October 2025 RU on your existing 23ai database.<\/em><\/p>\n\n\n\n<p class=\"is-style-text-subtitle\">Virtual Machine on OCI Setup<\/p>\n\n\n\n<p>Provisioned a new VM on OCI &#8211; AMD E6 Flex, Oracle Linux <strong>Version<\/strong> 9 using <strong>Image<\/strong> <a href=\"https:\/\/cloud.oracle.com\/compute\/images\/ocid1.image.oc1.us-chicago-1.aaaaaaaaqjzn2mou4f4boyqgth4ckluouzyc65kht6mvmmuztqkztocb7uda\">Oracle-Linux-9.6-2025.09.16-0<\/a>. <\/p>\n\n\n\n<p>Install the required rpms and create a directory for Oracle software install. Download the latest autoupgrade.jar file.<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code># yum -y update\n# yum -y install oracle-database-preinstall-19c\n# yum -y install java-1.8.0-openjdk\n\n# chown oracle:oinstall \/u01\n\n# su - oracle\n$ cd \/u01\n$ mkdir autoupgrade\n$ cd autoupgrade\n$ wget https:\/\/download.oracle.com\/otn-pub\/otn_software\/autoupgrade.jar<\/code><\/pre>\n\n\n\n<p>For autoupgrade to download patches from My Oracle Support, it needs valid credentials.  <\/p>\n\n\n\n<p>Used the following parameters, all may not be applicable to create the keystore, but it is the cfg file I will use to download and install the software. <\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>global.global_log_dir=\/u01\/autoupgrade\/logs\nglobal.keystore=\/u01\/autoupgrade\/keystore\n\ninstall1.patch=RU,OPATCH,OJVM,DPBP\ninstall1.folder=\/u01\/app\/oracle\/software\ninstall1.target_home=\/u01\/app\/oracle\/product\/dbhome_19\ninstall1.home_settings.oracle_base=\/u01\/app\/oracle\ninstall1.home_settings.edition=EE\ninstall1.home_settings.inventory_location=\/u01\/app\/oraInventory\ninstall1.target_version=19\ninstall1.download=yes<\/code><\/pre>\n\n\n\n<p>Create the keystore and save login credentials.<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>&#91;oracle@audbs01 autoupgrade]$ java -jar autoupgrade.jar -config newhome.cfg -patch -load_password\nProcessing config file ...\n\nStarting AutoUpgrade Patching Password Loader - Type help for available options\nCreating new AutoUpgrade Patching keystore - Password required\nEnter password:\nEnter password again:\nAutoUpgrade Patching keystore was successfully created\n\nMOS&gt; add -user bXXXXXs@gXXXX.com\nEnter your secret\/Password:\nRe-enter your secret\/Password:\nMOS&gt;\nMOS&gt; exit\nSave the AutoUpgrade Patching keystore before exiting &#91;YES|NO] ? yes\nConvert the AutoUpgrade Patching keystore to auto-login &#91;YES|NO] ? yes\n\nAutoUpgrade Patching Password Loader finished - Exiting AutoUpgrade Patching\n&#91;oracle@audbs01 autoupgrade]$<\/code><\/pre>\n\n\n\n<p class=\"is-style-text-subtitle\">Install 19c Software with latest RU<\/p>\n\n\n\n<p>Download the 19c RU and bundle patches. I did not specify the patch version or where to download the patches. <\/p>\n\n\n\n<p><code>install1.patch=RU,OPATCH,OJVM,DPBP<br>install1.home_settings.edition=EE<br>install1.target_version=19<br>install1.download=yes<\/code><\/p>\n\n\n\n<p>Autoupgrade downloaded the latest RU.<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>&#91;oracle@audbs01 autoupgrade]$ java -jar autoupgrade.jar -config newhome.cfg -patch -mode download\nAutoUpgrade Patching 25.6.251016 launched with default internal options\nProcessing config file ...\nLoading AutoUpgrade Patching keystore\nAutoUpgrade Patching keystore is loaded\n\nConnected to MOS - Searching for specified patches\n\n---------------------------------------------\nDownloading files to \/u01\/app\/oracle\/software\n---------------------------------------------\nDATABASE RELEASE UPDATE 19.29.0.0.0\n    File: p38291812_190000_Linux-x86-64.zip - VALIDATED\n\nDATAPUMP BUNDLE PATCH 19.29.0.0.0\n    File: p38535360_1929000DBRU_Generic.zip - VALIDATED\n\nOJVM RELEASE UPDATE 19.29.0.0.0\n    File: p38194382_190000_Linux-x86-64.zip - VALIDATED\n\nOPatch 12.2.0.1.48 for DB 19.0.0.0.0 (Oct 2025)\n    File: p6880880_190000_Linux-x86-64.zip - VALIDATED\n---------------------------------------------\n\n&#91;oracle@audbs01 autoupgrade]$<\/code><\/pre>\n\n\n\n<p>Since the patches are downloaded, I updated the target_home and download parameters in the cfg file.<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>global.global_log_dir=\/u01\/autoupgrade\/logs\nglobal.keystore=\/u01\/autoupgrade\/keystore\n\ninstall1.patch=RU,OPATCH,OJVM,DPBP\ninstall1.folder=\/u01\/app\/oracle\/software\n<strong>install1.target_home=\/u01\/app\/oracle\/product\/dbhome_1929<\/strong>\ninstall1.home_settings.oracle_base=\/u01\/app\/oracle\ninstall1.home_settings.edition=EE\ninstall1.home_settings.inventory_location=\/u01\/app\/oraInventory\ninstall1.target_version=19\n<strong>install1.download=no<\/strong><\/code><\/pre>\n\n\n\n<p>Oracle 19c database base image download is not availblae through MOS. So I had to download the software to perform the install. Oracle 23ai (26ai) is different, where you do not have to download any base image. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"731\" height=\"80\" src=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image.png?resize=731%2C80&#038;ssl=1\" alt=\"\" class=\"wp-image-2861\" srcset=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image.png?w=731&amp;ssl=1 731w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image.png?resize=300%2C33&amp;ssl=1 300w\" sizes=\"auto, (max-width: 731px) 100vw, 731px\" \/><\/figure>\n\n\n\n<p>Let&#8217;s use autoupgrade to install the Oracle software and apply all the bundle patches. <\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>&#91;oracle@audbs01 autoupgrade]$ java -jar autoupgrade.jar -config newhome.cfg -patch -mode create_home                   \nAutoUpgrade Patching 25.6.251016 launched with default internal options\nProcessing config file ...\nLoading AutoUpgrade Patching keystore\nAutoUpgrade Patching keystore is loaded\n+-----------------------------------------+\n| Starting AutoUpgrade Patching execution |\n+-----------------------------------------+\nType 'help' to list console commands\npatch&gt;\n\npatch&gt; lsj -r\n+----+-------------+-------+---------+-------+----------+-------+---------------------+\n|Job#|      DB_NAME|  STAGE|OPERATION| STATUS|START_TIME|UPDATED|              MESSAGE|\n+----+-------------+-------+---------+-------+----------+-------+---------------------+\n| 100|create_home_1|EXTRACT|EXECUTING|RUNNING|  21:56:17|42s ago|Extracting gold image|\n+----+-------------+-------+---------+-------+----------+-------+---------------------+\nTotal jobs 1\n\npatch&gt; logs\nAutoUpgrade Patching logs folder &#91;\/u01\/autoupgrade\/logs\/cfgtoollogs\/patch\/auto]\nlogs folder &#91;create_home_1]&#91;\/u01\/autoupgrade\/logs\/create_home_1]\n\npatch&gt;\npatch&gt;\npatch&gt; lsj -r\n+----+-------------+-------+---------+-------+----------+-----------+----------------------+\n|Job#|      DB_NAME|  STAGE|OPERATION| STATUS|START_TIME|    UPDATED|               MESSAGE|\n+----+-------------+-------+---------+-------+----------+-----------+----------------------+\n| 100|create_home_1|INSTALL|EXECUTING|RUNNING|  21:56:17|!!!465s ago|Installing ORACLE_HOME|\n+----+-------------+-------+---------+-------+----------+-----------+----------------------+\nTotal jobs 1\n\npatch&gt;\n\npatch&gt; Job 100 completed\n------------------- Final Summary --------------------\nNumber of databases            &#91; 1 ]\n\nJobs finished                  &#91;1]\nJobs failed                    &#91;0]\nJobs restored                  &#91;0]\nJobs pending                   &#91;0]\n\n# Run the root.sh script as root for the following jobs:\nFor create_home_1 -&gt; \/u01\/app\/oracle\/product\/dbhome_1929\/root.sh\n\n# Run the orainstRoot.sh script as root for the following jobs:\nFor create_home_1 -&gt; \/u01\/app\/oraInventory\/orainstRoot.sh\n\nPlease check the summary report at:\n\/u01\/autoupgrade\/logs\/cfgtoollogs\/patch\/auto\/status\/status.html\n\/u01\/autoupgrade\/logs\/cfgtoollogs\/patch\/auto\/status\/status.log\n&#91;oracle@audbs01 autoupgrade]$<\/code><\/pre>\n\n\n\n<p>I could have simply waited for the job to finish. But wanted to check what&#8217;s going on, hence you see the &#8220;lsj&#8221; and &#8220;logs&#8221; commands. <\/p>\n\n\n\n<p>Run the root scripts, and your Oracle home is ready. <\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>&#91;root@audbs01 opc]# \/u01\/app\/oracle\/product\/dbhome_1929\/root.sh\nCheck \/u01\/app\/oracle\/product\/dbhome_1929\/install\/root_audbs01_2025-11-06_22-12-59-020743232.log for the output of root script\n\n&#91;root@audbs01 opc]# \/u01\/app\/oraInventory\/orainstRoot.sh\nChanging permissions of \/u01\/app\/oraInventory.\nAdding read,write permissions for group.\nRemoving read,write,execute permissions for world.\n\nChanging groupname of \/u01\/app\/oraInventory to oinstall.\nThe execution of the script is complete.\n&#91;root@audbs01 opc]#<\/code><\/pre>\n\n\n\n<p>I wanted to check the software install by creating a database, just for fun. Again, no GUI. <\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>&#91;oracle@audbs01 ~]$ export ORACLE_HOME=\/u01\/app\/oracle\/product\/dbhome_1929\n&#91;oracle@audbs01 ~]$ export ORACLE_SID=AUCDB01\n&#91;oracle@audbs01 ~]$ export PATH=$ORACLE_HOME\/bin:$PATH\n&#91;oracle@audbs01 ~]$ which dbca\n\/u01\/app\/oracle\/product\/dbhome_1929\/bin\/dbca\n&#91;oracle@audbs01 ~]$\n\n&#91;oracle@audbs01 autoupgrade]$ mkdir createdb\n&#91;oracle@audbs01 autoupgrade]$ cd createdb\n&#91;oracle@audbs01 createdb]$ cp \/u01\/app\/oracle\/product\/dbhome_1929\/assistants\/dbca\/dbca.rsp .\n&#91;oracle@audbs01 createdb]$ vi dbca.rsp\n\n&#91;oracle@audbs01 createdb]$ <strong>dbca -createDatabase -silent -responseFile .\/dbca.rsp<\/strong>\nPrepare for db operation\n8% complete\nCopying database files\n31% complete\nCreating and starting Oracle instance\n32% complete\n36% complete\n40% complete\n43% complete\n46% complete\nCompleting Database Creation\n51% complete\n53% complete\n54% complete\nCreating Pluggable Databases\n58% complete\n63% complete\n77% complete\nExecuting Post Configuration Actions\n100% complete\nDatabase creation complete. For details check the logfiles at:\n \/u01\/app\/oracle\/cfgtoollogs\/dbca\/AUCDB01.\nDatabase Information:\nGlobal Database Name:AUCDB01\nSystem Identifier(SID):AUCDB01\nLook at the log file \"\/u01\/app\/oracle\/cfgtoollogs\/dbca\/AUCDB01\/AUCDB01.log\" for further details.\n&#91;oracle@audbs01 createdb]$<\/code><\/pre>\n\n\n\n<p class=\"is-style-text-subtitle\">Install Oracle AI Database 26ai Software<\/p>\n\n\n\n<p>So, 19c is all working well. How about the latest and greatest Oracle AI Database 26ai. Let&#8217;s try. <\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>global.global_log_dir=\/u01\/autoupgrade\/logs\nglobal.keystore=\/u01\/autoupgrade\/keystore\n\ninstall1.patch=RU,OPATCH,DPBP\ninstall1.folder=\/u01\/app\/oracle\/software\ninstall1.target_home=\/u01\/app\/oracle\/product\/dbhome_2326\ninstall1.home_settings.oracle_base=\/u01\/app\/oracle\ninstall1.home_settings.edition=EE\ninstall1.home_settings.inventory_location=\/u01\/app\/oraInventory\n<strong>install1.target_version=23<\/strong>\n<strong>install1.download=yes<\/strong>\n<\/code><\/pre>\n\n\n\n<p>The config file updated with target_version 23. Repeat the same steps as before. <\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>&#91;oracle@audbs01 autoupgrade]$<strong> java -jar autoupgrade.jar -config newhome23.cfg -patch -mode download<\/strong>\nAutoUpgrade Patching 25.6.251016 launched with default internal options\nProcessing config file ...\nLoading AutoUpgrade Patching keystore\nAutoUpgrade Patching keystore is loaded\n\nConnected to MOS - Searching for specified patches\n\n---------------------------------------------\nDownloading files to \/u01\/app\/oracle\/software\n---------------------------------------------\nDATABASE RELEASE UPDATE 23.26.0.0.0\n    File: p38411960_230000_Linux-x86-64.zip - VALIDATED\n\nDATAPUMP BUNDLE PATCH 23.26.0.0.0\n    File: p38504058_2326000DBRU_Generic.zip - VALIDATED\n\nOPatch 12.2.0.1.48 for DB 23.0.0.0.0 (Oct 2025)\n    File: p6880880_230000_Linux-x86-64.zip - VALIDATED\n---------------------------------------------\n\n&#91;oracle@audbs01 autoupgrade]$ vi newhome23.cfg<\/code><\/pre>\n\n\n\n<p>The 23.26 software RU and bundle patches are downloaded. The 23ai (or 26ai as it is known now) RU is full software image, there is no need to install a base image and apply RU on top. <\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"margin-top:0;margin-bottom:0\"><code>&#91;oracle@audbs01 autoupgrade]$ <strong>java -jar autoupgrade.jar -config newhome23.cfg -patch -mode create_home<\/strong>\nAutoUpgrade Patching 25.6.251016 launched with default internal options\nProcessing config file ...\nLoading AutoUpgrade Patching keystore\nAutoUpgrade Patching keystore is loaded\n+-----------------------------------------+\n| Starting AutoUpgrade Patching execution |\n+-----------------------------------------+\nType 'help' to list console commands\npatch> lsj -r\n+----+-------------+-------+---------+-------+----------+-------+---------------------+\n|Job#|      DB_NAME|  STAGE|OPERATION| STATUS|START_TIME|UPDATED|              MESSAGE|\n+----+-------------+-------+---------+-------+----------+-------+---------------------+\n| 101|create_home_1|EXTRACT|EXECUTING|RUNNING|  23:25:11| 7s ago|Extracting gold image|\n+----+-------------+-------+---------+-------+----------+-------+---------------------+\nTotal jobs 1\n\npatch> lsj\n+----+-------------+-------+---------+-------+----------+-------+----------------------+\n|Job#|      DB_NAME|  STAGE|OPERATION| STATUS|START_TIME|UPDATED|               MESSAGE|\n+----+-------------+-------+---------+-------+----------+-------+----------------------+\n| 101|create_home_1|INSTALL|EXECUTING|RUNNING|  23:25:11|53s ago|Installing ORACLE_HOME|\n+----+-------------+-------+---------+-------+----------+-------+----------------------+\nTotal jobs 1\n\npatch> Job 101 completed\n------------------- Final Summary --------------------\nNumber of databases            &#91; 1 ]\n\nJobs finished                  &#91;1]\nJobs failed                    &#91;0]\nJobs restored                  &#91;0]\nJobs pending                   &#91;0]\n\n# Run the root.sh script as root for the following jobs:\nFor create_home_1 -> <strong>\/u01\/app\/oracle\/product\/dbhome_2326\/root.sh<\/strong>\n\nPlease check the summary report at:\n\/u01\/autoupgrade\/logs\/cfgtoollogs\/patch\/auto\/status\/status.html\n\/u01\/autoupgrade\/logs\/cfgtoollogs\/patch\/auto\/status\/status.log\n&#91;oracle@audbs01 autoupgrade]$<\/code><\/pre>\n\n\n\n<p>That was much faster than the 19c install+RU. Since I ran the commands on OCI VM, the 26ai download and install worked. My understanding is that this will not work on premises Linux VM. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"820\" height=\"106\" src=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-2.png?resize=820%2C106&#038;ssl=1\" alt=\"\" class=\"wp-image-2866\" srcset=\"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-2.png?w=820&amp;ssl=1 820w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-2.png?resize=300%2C39&amp;ssl=1 300w, https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-2.png?resize=768%2C99&amp;ssl=1 768w\" sizes=\"auto, (max-width: 820px) 100vw, 820px\" \/><\/figure>\n\n\n\n<p>Thanks to the AutoUpgrade team. No more searching for RU and Bundle patches. If your database server does not have access to internet, you can download the sofware on your Mac or Windows laptop using autoupgrade easily. <\/p>\n\n\n\n<p>On to next steps&#8230; Create an Oracle AI Database 26ai!<\/p>\n\n\n\n<p class=\"is-style-default\" style=\"margin-right:0;margin-left:0\"><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week, I attended the East Coast Oracle Conference and listened to Alex Zaballa. He finished his session early and jumped to show some of the cool features available in AutoUpgrade. I was truly impressed by the new features and capabilities of AutoUpgrade. I think that soon the upgrade team will have to change the &#8230; <a title=\"Oracle AI Database 26ai Software Install using AutoUpgrade on a Brand New VM!\" class=\"read-more\" href=\"https:\/\/bijoos.com\/oraclenotes\/2025\/2858\/\" aria-label=\"Read more about Oracle AI Database 26ai Software Install using AutoUpgrade on a Brand New VM!\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":2864,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[133],"tags":[123,136],"class_list":["post-2858","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oracledb","tag-autoupgrade","tag-oracle-26ai"],"acf":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2025\/11\/image-1.png?fit=1024%2C768&ssl=1","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/posts\/2858","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/comments?post=2858"}],"version-history":[{"count":5,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/posts\/2858\/revisions"}],"predecessor-version":[{"id":2869,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/posts\/2858\/revisions\/2869"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/media\/2864"}],"wp:attachment":[{"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/media?parent=2858"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/categories?post=2858"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/tags?post=2858"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}