This blog post about Installing Oracle Database 18c applies to all Oracle 18c releases. I wrote a while ago about one very important change:
and explained that the installation is now image based. You’ll find other posts as part of my series on how to install and upgrade to Oracle Database 18c here:
- Deinstalling Oracle Database 12.2.0.1
- Installing Oracle Database 18.1.0
- Patching Oracle 18.1.0 to 18.2.0
- Upgrade Oracle 12.2.0.1 to Oracle Database 18c on-premises
Installing Oracle Database 18c
Oracle Database 18c on-premises is supposed to be generally available with the July 2018 Update. For details please always check the single-source-of-truth MOS Note: 742060.1. Furthermore, please see my previous blog post from March 20, 2018, as well.There you’ll find information on how to access the software.
The documentation explains:
“Simplified Image-based Oracle Database Installation
Starting with Oracle Database 18c, the Oracle Database software is available as an image file for download and installation. You must extract the image software into the directory where you want your Oracle home to be located, and then run the runInstaller
script to start the Oracle Database installation.
For more information, see About Image-Based Oracle Database Installation“
Make sure you follow this advice: You must extract the image software into the directory where you want your Oracle home to be
The OUI does not ask you for a home directory. Hence, copy the zip file into your desired directory and extract it there. Then start the ./runInstaller
.
The Oracle Universal Installer 18c
The screens in OUI 18c look pretty much the same as before.
As I’d like to patch and upgrade afterwards, there’s no need to invoke DBCA at this point.
No RAC environment here. Hence, Single Instance installation is fine.
Enterprise Edition of course 🙂
Now you see the difference to previous OUIs: There’s no Oracle Home input field anymore. It automatically displays the location where you copied and unpacked the software into.
Make sure you set the groups correctly.
I need to ignore the precheck warning as my Vbox environment has only 6GB RAM at the moment. This shouldn’t cause any trouble.
See the summary:
Then we almost made it – only the root.sh needs to be executed.
And finally I will configure the Trace File Analyzer (TFA) as well.
And then we are done.
Extra tasks for the Hands-On Lab
In my particular case adjusting our Hands-On Lab I have to change and correct all the environment command files in /usr/local/bin
with root privileges. We use them to switch environments with for instance . cdb2
which sets all required variables and such for working with CDB2 in Oracle Database 18c. As these are in the /usr/local/bin
directory, oracle
user can simply call them and switch environments.
In addition I’m copying back all the files I saved before removing the Oracle 12.2.0.1 software.
Final – and important tasks – in the lab: I need to change the Oracle Home reference in the dbora
file in /etc/init.d
and the home for CDB2 in /etc/oratab
. Otherwise neither the automatic startup of the instance nor of the Oracle Listener which I’m running out of the 18c home will work.
–Mike
Hi,
I did something like that when the 18c was released.
Did for full stack (for Exadata). Exadata Storage Software, IB switches, DBnodes, GI from 12.1 to 18c and DB 18c installation.
It is not commented, it is full raw log. Check here: http://www.fernandosimon.com/blog/reaching-exadata-18c/
By the way, as always, amazing post from you.
Simon
Thanks a lot!!!!
And thanks for adding the link to your post!
Cheers,
Mike
Mike,
Anyone installing the 18c DB software should be aware of the following caveat. If you have 11g databases and use oraenv to set the environment, the 18c oraenv is totally incompatible with 11g. Save the 11g oraenv script before installing 18c.
Here is the detailed reason:
In 11g, the oraenv script uses:
ORABASE_EXEC=$ORACLE_HOME/bin/orabase
if [ ${ORACLE_BASE:-“x”} != “x” ]; then
OLD_ORACLE_BASE=$ORACLE_BASE
unset ORACLE_BASE
export ORACLE_BASE
else
OLD_ORACLE_BASE=””
fi
if [ -w $ORACLE_HOME/inventory/ContentsXML/oraclehomeproperties.xml ]; then <<—11g oraenv looks at oraclehomeproperties.xml file
if [ -f $ORABASE_EXEC ]; then
if [ -x $ORABASE_EXEC ]; then
ORACLE_BASE=`$ORABASE_EXEC`
In R18, oraenv uses:
ORABASE_EXEC=$ORACLE_HOME/bin/orabase
if [ ${ORACLE_BASE:-"x"} != "x" ]; then
OLD_ORACLE_BASE=$ORACLE_BASE
unset ORACLE_BASE
export ORACLE_BASE
else
OLD_ORACLE_BASE=""
fi
if [ -r $ORACLE_HOME/install/orabasetab ]; then
<<—THIS IS THE CAUSE OF PROBLEM. THIS FILE DOES NOT EXIST IN 11G. SO SCRIPT GOES TO ELSE
if [ -f $ORABASE_EXEC ]; then
if [ -x $ORABASE_EXEC ]; then
ORACLE_BASE=`$ORABASE_EXEC`
else
if [ "$SILENT" != "true" ]; then
echo "ORACLE_BASE environment variable is not being set since this"
echo "information is not available for the current user ID $USER."
echo "You can set ORACLE_BASE manually if it is required."
fi
The orabasetab contains the following:
$ cat orabasetab
#orabasetab file is used to track Oracle Home associated with Oracle Base
/u01/app/oracle/product/18.0.0.0/dbhome_1:/u01/app/oracle:OraDB18Home1:N:
Thanks a lot, Arun!
As I don’t use oraenv I wasn’t aware. Thanks for your detailed explanation!!!
Cheers,
Mike