You can use AutoUpgrade to install an Oracle home on a brand-new, empty server.
Previously, AutoUpgrade used an existing Oracle home to determine how to create a new Oracle home. Now, you can use config file parameters to instruct AutoUpgrade on installing the new Oracle home.
This allows you to use AutoUpgrade to prepare a new server for use with Oracle Database.
How To
Preparations
I start with a brand new Oracle Linux 8 system.
- This is a test system, so I disable SELinux:
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config reboot- Alternatively, follow the guidelines for SELinux in your organization.
- Install the preinstall package and Java (required by AutoUpgrade):
yum -y install oracle-database-preinstall-19c yum -y install java-1.8.0-openjdk - Additional configurations like mount points and swapfile.
Install Oracle Home
-
Download AutoUpgrade:
wget https://download.oracle.com/otn-pub/otn_software/autoupgrade.jar -
Create an AutoUpgrade config file called
install-home.cfg:global.global_log_dir=/home/oracle/autoupgrade/logs install1.patch=RU:19.27,OPATCH,OJVM,DPBP install1.folder=/u01/app/oracle/software install1.target_home=/u01/app/oracle/product/dbhome_1927 install1.home_settings.oracle_base=/u01/app/oracle install1.home_settings.edition=EE install1.home_settings.inventory_location=/u01/app/oraInventory install1.download=no- I have already downloaded the base release and required patches using AutoUpgrade download mode. The files are in an NFS file share which I specify with the
folderparameter. - I use the
home_settingsparameters to specify how I want to install the Oracle home. There are many other settings that I can use.
- I have already downloaded the base release and required patches using AutoUpgrade download mode. The files are in an NFS file share which I specify with the
-
I start AutoUpgrade:
java -jar autoupgrade.jar -config install-home.cfg -mode create_home -
On this system, the oracle user is not allowed to sudo, so I must manually execute the root scripts:
/u01/app/oracle/product/dbhome_1927/root.sh /u01/app/oraInventory/orainstRoot.sh- AutoUpgrade prints the scripts to the console.
- It also writes the scripts into
<global_log_dir>/create_home_1/<job-no>/rootsh/rootsh.log.
-
That’s it! I’ve now installed a new Oracle home and can move on with the creation of a listener, database, and so forth
Appendix
Installing on Microsoft Windows
You can use the same functionality on Windows.
- You must use
home_settings.account_typeto specify the user that runs the Windows service. If you specify a user, then it must exist already. Although runInstaller can create the user for you, AutoUpgrade doesn’t support it. - You should not use
home_settings.inventory_locationon Windows. On Windows, the Oracle Inventory is always placed in%SYSTEM_DRIVE%\Program Files\Oracle\Inventory.
Installing Java
AutoUpgrade requires Java 8 or Java 11. It doesn’t support newer versions because the tool must be backward compatible. The latest version of AutoUpgrade still supports upgrades from Oracle Database 11g.
I recommend using Oracle Java. This is what we test and develop with, however, other Java packs should be fine as well. I tested the commands in this blog post with OpenJDK.
If you have a license for Oracle Database, you can read about using Oracle JDK/JRE in the License Guide or Oracle Java SE licensing FAQ.
