D Optimal Flexible Architecture

This appendix describes the Optimal Flexible Architecture standard. The standard is a set of configuration guidelines created to ensure well organized Oracle installations that are easier to maintain. It includes information about the following topics:

D.1 Overview of the Optimal Flexible Architecture Standard

All Oracle components on the installation media are compliant with Optimal Flexible Architecture. This means, Oracle Universal Installer places Oracle Database components in directory locations that follow Optimal Flexible Architecture guidelines.

Although using Optimal Flexible Architecture is not a requirement, Oracle recommends that you use it if the database will grow in size, or if you plan to have multiple databases.

D.2 Implementing Optimal Flexible Architecture

This section describes the naming strategy recommended by the Optimal Flexible Architecture standard. It contains the following sections:

D.2.1 File Systems

The following sections describe the conventions for mount points:

D.2.1.1 Number of File Systems

To fully implement the Optimal Flexible Architecture recommendations for a database stored on file systems that are not striped or mirrored, you require at least three file systems located on separate physical devices.

D.2.1.2 Naming Conventions

Name all file system mount points using the syntax /pm, where p is a string constant and m is a unique fixed-length key (typically a two-digit number) used to distinguish each mount point. For example: /u01 and /u02, or /disk01 and /disk02.

D.2.2 Naming Directories

The following sections describe the naming conventions for directories that are compliant with the Optimal Flexible Architecture standard:

D.2.2.1 Oracle Base Directory Naming Convention

The Oracle Base directory is the top level directory that you can use to install the various oracle software products. You can use the same Oracle base directory for more than one installation. If different operating system users install Oracle software on the same system, then each user must create a separate Oracle base directory.

Name Oracle base directories using the syntax /pm/s/u. Table D-1 describes the variables used in this syntax.

Table D-1 Syntax for Naming Oracle Base Directories

Variable Description


A mount point name


A standard directory name


The name of the owner of the directory (the user running Oracle Universal Installer)

For example, /u01/app/oracle is an Oracle base directory created by the oracle user and /u01/app/applmgr is an Oracle base directory created by the applmgr user.

Placing Oracle base directories at the same level in the UNIX file system is advantageous because it enables you to refer to the collection of Oracle base directories on different mount points using a single pattern matching string, /*/app/*.

D.2.2.2 Naming Mount Points for Very Large Databases (VLDBs)

If each disk drive contains database files from one application and there are enough drives for each database to prevent I/O bottlenecks, use the syntax /h/q/d for naming mount points. Table D-2 describes the variables used in this syntax.

Table D-2 Syntax for Naming Mount Points for Very Large Databases

Variable Description


Oracle base directory


A string denoting that Oracle data is stored in this directory, for example, oradata


The value of the initialization parameter DB_NAME (typically the same as the instance SID for single-instance databases)

For example, to allocate two drives exclusively for the test database, name the mount points /u01/oradata/test and /u02/oradata/test.

D.2.2.3 Referring to Path Names

Refer to explicit path names only in files designed specifically to store them, such as the password file, /etc/passwd, and the Oracle oratab file. Refer to group memberships only in the /etc/group file.

D.2.2.4 Oracle Home Directory Naming Convention

To help fulfill the Optimal Flexible Architecture requirement of simultaneously running multiple versions of Oracle software, install the software in a directory matching the pattern /pm/h/u/product/v/type_[n].

Table D-3 describes the variables used in this syntax.

Table D-3 Syntax for Naming Oracle Home Directories

Variable Description


A mount point name


A standard directory name


The name of the owner of the directory


The version of the software


The type of installation, for example Database (db), Client (client), or Oracle Clusterware (crs)


An optional counter, which enables you to install the same product more than once in the same Oracle base directory

For example:

/u01/app/oracle/product/11.1.0/db_1 indicates the Oracle home directory for the first installation of Oracle Database on this system.

Set the ORACLE_HOME environment variable after installation to specify the Oracle home directory.

D.2.2.5 Naming Subdirectories

To facilitate the organization of administrative data, Oracle recommends that you store database-specific administration files in subdirectories matching the pattern /h/admin/d/a/, where h is the Oracle base directory, d is the database name (DB_NAME), and a is a subdirectory for specific types of database administration files. Table D-4 describes the database administration file subdirectories.

Table D-4 Subdirectories for Database Administration Files

Subdirectory Description


Ad hoc SQL scripts


Archived redo log files


Audit files (Set the AUDIT_FILE_DEST initialization parameter to specify the adump directory. Clean out this subdirectory periodically.)


Scripts used to create the database


Database export files


Files recording the status and history of the database


Instance parameter files

For example, /u01/app/oracle/admin/orcl/adhoc/ is the adhoc subdirectory associated with the database named orcl.

In Oracle Database 11g, Automatic Diagnostic Repository (ADR) directories replace the bdump, cdump, and udump directories. The ADR diagnostic data will go into the /h/diag/rdbms/d/i/ directory.


h is Oracle Base

d is the database name

i is the instance name.

From there we have the trace, alert, and incident sub-directories.

Table D-5 Locations for Diagnostic Traces

Diagnostic Data 10g Location 11g Location

Foreground Process traces



Background Process traces



Alert Log Data



Core Dump



Incident Dumps

user_dump_dest or background_dump_dest depending on the process.


D.2.3 Naming Database Files

The following table lists the recommended file naming conventions for database files:


Oracle Managed Files (OMF) and files stored in Automatic Storage Management disk groups use different naming conventions. For more information about these naming conventions, refer to the Oracle Database Administrator's Guide.

File Type File Naming Convention
Control files /h/q/d/control.ctl
Redo log files /h/q/d/redon.log
Data files /h/q/d/tn.dbf

The following table describes this syntax:

Variable Description
h Oracle base directory
q A string (typically oradata) distinguishing Oracle data from all other files
d The value of the DB_NAME initialization parameter (typically, the same as the instance SID for single-instance databases)
t An Oracle tablespace name
n A two-digit string


Do not store files other than control files, redo log files, or data files associated with database d in the path /h/q/d.

Using this convention, it is easy to determine the database to which the /u01/app/oracle/oradata/sab/system01.dbf file belongs.

D.2.4 Separating Segments with Different Requirements

Separate groups of segments with different lifespans, I/O request demands, and backup frequencies across different tablespaces.

Table D-6 describes the special tablespaces that the Database Configuration Assistant creates for each Oracle database. If you manually create a database, you must create the required tablespaces. These tablespaces are in addition to those required for application segments.

See Also:

Oracle Database Administrator's Guide for information about creating databases manually

Table D-6 Special Tablespaces

Tablespace Required Description



The EXAMPLE tablespace used to store the Sample Schemas



Auxiliary tablespace to the SYSTEM tablespace



Data dictionary segments



Temporary segments



Used by Oracle to store undo information



Miscellaneous user segments

Creating these special tablespaces is effective because data dictionary segments are never dropped, and no other segments that can be dropped are allowed in the SYSTEM tablespace.

D.2.5 Exploiting the Optimal Flexible Architecture Structure for Oracle Files

Table D-7 describes the syntax used for identifying classes of files.

Table D-7 Directory Structure Syntax for Identifying Classes of Files

Directory Structure Syntax Description


User data directories


User home directories


User application software directories


Oracle applications software subtrees


Oracle software subtrees


Oracle software subtree for release 11g products


Oracle home directories for Oracle Database 11g


Oracle home directory for Oracle Clusterware 11g


orcl database administrative subtrees


orcl database archived log files


Oracle data directories


orcl database files


orcl database redo log files

D.2.6 Optimal Flexible Architecture File Mapping

Table D-8 shows a hierarchical file mapping of a sample Optimal Flexible Architecture-compliant installation with two Oracle home directories and two databases. The database files are distributed across three mount points, /u02, /u03, and /u04.


Oracle recommends that you use ASM to provide greater redundancy and throughput.

Table D-8 Hierarchical File Mapping for an Optimal Flexible Architecture Installation

Directory Description


Root directory


User data mount point 1


Subtree for application software


Oracle Base directory


Subtree for database administration files


Subtree for support log files


admin subtree for db_name1 database


admin subtree for db_name2 database


Online documentation


Subtree for recovery files


Recovery files for db_name1 database


Recovery files for db_name2 database




Oracle data directory


Distribution files


Oracle home directory for Oracle Database 11g


Oracle home directory for Oracle Clusterware11g


Oracle base directory for user kjf


Oracle base directory for user edm