RelationalDBDesign RelationalDBDesign


DB Creation   «Prev 

Why should I use (OFA) Optimal Flexible Architecture

Optimal Flexible Architecture is a set of guidelines and naming conventions, nothing more. You do not have to follow it, and many sites do deviate to some degree or another. I suppose that without too much trouble, someone could dream up a different but equally flexible set of conventions for placing and naming the directories and files used in an Oracle installation. I think one of the biggest benefits of OFA is that it has been so widely adopted. Once you get used to it, you will find that you can move from one client to the next, and immediately be productive because everything is set up in pretty much the same way. There is a lot to be said for that.

OFA defines where each component will install its files. In many respects it resembles the Filesystem Hierarchy Standard (FHS) on UNIX systems in which, for example, the directory "/bin" always holds the essential system binaries — so when administrators and users use other systems they will already know where to find the standard system binaries. OFA takes FHS standard-style concepts and uses them for Oracle products on UNIX and on Windows. In this way Oracle Database administrators will find familiar structures and locations of the various applications and data installed on any OFA-compliant system. OFA covers where to install each part of each product; it addresses the storage of both applications and data. Much like the FHS, OFA imposes no constraints on the locations: it merely makes recommendations. Oracle Corporation has structured the OFA system so that system administrators can use multiple disks (for example: applications on one disk and databases on another). OFA also allows for installing multiple versions of the same product on the same host: for example Oracle Database 9 and Oracle Database 10.

Oracle Base Directory

The Oracle base directory is the topmost directory for Oracle software installation. You can install one or more versions of the Oracle software beneath this directory. The OFA standard for the Oracle base directory is as follows:
/<mount_point>/app/<software_owner>
Typical names for the mount point include /u01, /ora01, /oracle, and /oracle01. You can name the mount point according to whatever your standard is for your environment. I prefer to use a mount-point name such as /ora01. It is short, and when I look at the mount points on a database server, I can immediately tell which are used for the Oracle database. Also, a short mount-point name is easier to use when you are querying the data dictionary to report on the physical aspects of your database. Additionally, a shorter mount-point name makes for less typing when you are navigating through directories via OS commands. The software owner is typically named oracle. This is the OS user you use to install the Oracle software (binaries). Listed next is an example of a fully formed Oracle base directory path:
/u01/app/oracle

Oracle Home Directory

The Oracle home directory defines the installation location of software for a particular product, such as Oracle Database 12c or Oracle Database 11g. You must install different products or different releases of a product in separate Oracle homes. The recommended OFA-compliant Oracle home directory is as follows:
ORACLE_BASE/product//<version>//<install_name>


In the previous line of code, possible versions include 12.1.0.1 and 11.2.0.3. Possible install_name values include db_1, devdb1, test2, and prod1. Here is an example of an Oracle home name for a 12.1 database:

/u01/app/oracle/product/12.1.0.1/db_1

Note: Some DBAs dislike the db_1 string on the end of the ORACLE_HOME directory and see no need for it. The reason for the db_1 is that you may have two separate installations of binaries: a development installation and a test installation. If you do not require that configuration in your environment, feel free to drop the extra string (db_1).