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 that 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

pm

A mount point name

s

A standard directory name

u

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

h

Oracle base directory

q

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

d

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

pm

A mount point name

s

A standard directory name

u

The name of the owner of the directory

v

The version of the software

type

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

n

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

adhoc

Ad hoc SQL scripts

arch

Archived redo log files

adump

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

create

Scripts used to create the database

exp

Database export files

logbook

Files recording the status and history of the database

pfile

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.

where

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

user_dump_dest

{ADR_HOME}/trace/

Background Process traces

background_dump_dest

{ADR_HOME}/trace/

Alert Log Data

background_dump_dest

{ADR_HOME}/alert/

Core Dump

core_dump_dest

{ADR_HOME}/incident/In/

Incident Dumps

user_dump_dest or background_dump_dest depending on the process.

{ADR_HOME}/incident/In/


D.2.3 Naming Database Files

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


Note:

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

Note:

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

EXAMPLE

No

The EXAMPLE tablespace used to store the Sample Schemas

SYSAUX

Yes

Auxiliary tablespace to the SYSTEM tablespace

SYSTEM

Yes

Data dictionary segments

TEMP

Yes

Temporary segments

UNDOTBS1

Yes

Used by Oracle to store undo information

USERS

No

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

/u[0-9][0-9]

User data directories

/*/home/*

User home directories

/*/app/*

User application software directories

/*/app/applmgr

Oracle applications software subtrees

/*/app/oracle/product

Oracle software subtrees

/*/app/oracle/product/11.1.0

Oracle software subtree for release 11g products

/*/app/oracle/product/11.1.0/db*

Oracle home directories for Oracle Database 11g

/*/app/11.1.0/crs

Oracle home directory for Oracle Clusterware 11g

/*/app/oracle/admin/orcl

orcl database administrative subtrees

/*/app/oracle/admin/orcl/arch/*

orcl database archived log files

/*/app/oracle/oradata

Oracle data directories

/*/app/oracle/oradata/orcl/*

orcl database files

/*/app/oracle/oradata/orcl/*.log

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.

Note:

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

/u01/

User data mount point 1

/u01/app/

Subtree for application software

/u01/app/oracle/

Oracle Base directory

/u01/app/oracle/admin/

Subtree for database administration files

/u01/app/oracle/admin/TAR

Subtree for support log files

/u01/app/oracle/admin/db_name1/

admin subtree for db_name1 database

/u01/app/oracle/admin/db_name2/

admin subtree for db_name2 database

/u01/app/oracle/doc/

Online documentation

/u01/app/oracle/flash_recovery_area/

Subtree for recovery files

/u01/app/oracle/flash_recovery_area/db_name1

Recovery files for db_name1 database

/u01/app/oracle/flash_recovery_area/db_name2

Recovery files for db_name2 database

/u02/app/oracle/oradata

/u03/app/oracle/oradata

/u04/app/oracle/oradata

Oracle data directory

/u01/app/oracle/product/

Distribution files

/u01/app/oracle/product/11.1.0/db_1

Oracle home directory for Oracle Database 11g

/u01/app/11.1.0/crs

Oracle home directory for Oracle Clusterware11g

/u01/app/kjf/

Oracle base directory for user kjf

/u01/app/edm/

Oracle base directory for user edm