Read Only Oracle Home – Part 1
Starting with version 18c, Oracle introduced the Read Only Oracle Home binaries, which means that all the configuration data and log files are stored outside the read only Oracle Home. Which files would those be? Think of tnsnames.ora, sqlnet.ora, spfile.ora, these will all reside outside the Oracle Home.
Why would you want to have a read only Oracle Home? The answer is simple, to provision Oracle Homes faster, and to help with the patching and updating of the Oracle Homes.
There are two new directory concepts introduced: ORACLE_BASE_HOME and ORACLE_BASE_CONFIG. In a read write Oracle Home, both these directories point to the ORACLE_HOME directory.
In read only Oracle Home,the ORACLE_BASE_HOME, is storing the user/instance specific files and log files (network\admin folder). The location of the ORACLE_BASE_HOME is ORACLE_BASE\homes\HOME_NAME.
To get the location of the ORACLE_BASE_HOME, use the command orabasehome
In read only Oracle Home, the ORACLE_BASE_CONFIG, is storing the configuration files (dbs folder). The location of the ORACLE_BASE_CONFIG is the same as the ORACLE_BASE.
To get the location of the ORACLE_BASE_CONFIG, use the command orabaseconfig
How do you know if an Oracle Home is read only or read write? To answer that question, Oracle is providing a file: orabasetab, that helps you determine if the home is read only or read write.
The location of the orabasetab is: ORACLE_HOME\install\orabasetab
The last line in the file, that starts with the ORACLE_HOME, consists of four fields separated by a colon, in the format: ORACLE_HOME:ORACLE_BASE:HOME_NAME:Y|N. The fourth field specifies if the home is read only or not (Y for R/O and N for R/W).
In a nutshell, see below a mind map of the Read Only Oracle Home.
Next week I’ll show you how to convert an Oracle Home to a Read Only Oracle Home!
If you enjoyed this article, and would like to learn more about databases, please sign up to my weekly email, and you will receive The Ultimate 3 Step Guide To Find The Root Cause Of The Slow Running SQL!