Oracle® Database Installation Guide 10g Release 1 (10.1) for UNIX Systems: AIX-Based Systems, hp HP-UX PA-RISC (64-bit), hp Tru64 UNIX, Linux x86, and Solaris Operating System (SPARC) Part No. B10811-01 |
|
![]() |
![]() |
This appendix describes the Optimal Flexible Architecture (OFA) standard. The OFA standard is a set of configuration guidelines created to ensure reliable Oracle installations that require little maintenance. It includes information about the following topics:
For previous releases of Oracle Database, the OFA recommended Oracle home path was similar to the following:
/u01/app/oracle/product/9.2.0
For Oracle Database 10g, the OFA recommended Oracle home path has changed. The OFA recommended path is now similar to the following:
/u01/app/oracle/product/10.1.0/type[_n]
In this example, type
is the type of Oracle home, for example Oracle Database (db
) or Oracle Client (client
), and n
is an optional counter. This syntax provides the following benefits:
You can install different products with the same release number in the same Oracle base directory, for example:
/u01/app/oracle/product/10.1.0/db_1] /u01/app/oracle/product/10.1.0/client_1]
You can install the same product more than once in the same Oracle base directory, for example:
/u01/app/oracle/product/10.1.0/db_1] /u01/app/oracle/product/10.1.0/db_2]
The OFA standard is designed to:
Organize large amounts of complicated software and data on disk, to avoid device bottlenecks and poor performance
Facilitate routine administrative tasks such as software and data backup, which are often vulnerable to data corruption
Facilitate switching between multiple Oracle databases
Adequately manage and administer database growth
Help eliminate fragmentation of free space in the data dictionary, isolate other fragmentation, and minimize resource contention
Oracle recommends that you implement the OFA standard when you install and configure Oracle products.
This section describes the characteristics of an Oracle product installation that complies with the OFA standard.
The file system is organized to enable easy administration and to facilitate:
I/O loads are distributed across enough disk drives to prevent performance bottlenecks.
In most cases, investment in new hardware is not required to take advantage of the OFA standard.
By distributing applications across more than one drive, drive failures affect as few applications as possible.
The following items can be distributed across more than one disk drive:
The collection of home directories
The contents of an individual home directory
You can add, move, or delete login home directories without having to revise programs that refer to them.
Categories of files are separated into independent UNIX directory subtrees so that files in one category are minimally affected by operations on files in other categories.
You can run multiple versions of Oracle software simultaneously, enabling you to test and use a new release before retiring the previous release. Transferring to a new release after an upgrade is simple for the administrator and transparent for the user.
The ability to separate administrative information for each database ensures a reasonable structure for the organization and storage of administrative data.
Database files are named so that:
Database files are easy to distinguish from other files
Files belonging to one database are easy to distinguish from files that belong to another database
Control files, redo log files, and datafiles can be identified as such
The association of datafile to tablespace is clearly indicated
Tablespace contents are separated to:
Minimize tablespace free space fragmentation
Minimize I/O request contention
Maximize administrative flexibility
I/O loads are tuned across all drives, including drives storing Oracle data in either Automatic Storage Management disk groups or in raw devices.
This section describes the naming strategy recommended by the OFA standard for UNIX systems.
This section describes the naming conventions for mount points.
To fully implement the OFA 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.
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
.
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 /
pm
/
q
/
dm
for naming mount points. Table D-1 describes the variables used in this syntax.
Table D-1 Syntax for Naming Mount Points for Very Large Databases
Variable | Description |
---|---|
pm |
A mount point name |
q |
A string denoting that Oracle data is stored in this directory, for example, oradata |
dm |
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
.
This section describes the naming conventions for OFA compliant directories.
The Oracle base directory is the top-level directory for Oracle products installed by the same user. Name Oracle base directories using the syntax /
pm
/
h
/
u
. Table D-2 describes the variables used in this syntax.
Table D-2 Syntax for Naming Oracle Base Directories
Variable | Description |
---|---|
pm |
A mount point name |
h |
A standard directory name |
u |
The name of the owner of the directory (the user running the 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 allows you to refer to the collection of Oracle base directories on different mount points using a single pattern matching string, /*/app/*
.
Refer to explicit pathnames 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.
To help fulfill the OFA 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 |
h |
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 ), Companion (companion ), or CRS (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/10.1.0/db_1
indicates the Oracle home directory for the first installation of Oracle Database on this system
/u01/app/oracle/product/10.1.0/crs
indicates the Oracle home directory for Oracle Cluster Ready Services (CRS is required for RAC installations)
Oracle CRS can be installed only once on the system, so the optional counter is not required.
Set the ORACLE_HOME environment variable after installation to specify the Oracle home directory.
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.) |
bdump |
Background process trace files |
cdump |
Core dump files |
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 |
udump |
User SQL trace files |
For example, /u01/app/oracle/admin/sab/adhoc/
is the adhoc
subdirectory associated with the database named sab
.
The following table lists the recommended file naming conventions for database files:
File Type | File Naming Convention |
---|---|
Control files | / pm / q / d /control.ctl |
Redo log files | / pm / q / d /redo n .log |
Datafiles | / pm / q / d / tn .dbf |
The following table describes this syntax:
Variable | Description |
---|---|
pm |
A mount point name described previously in this appendix |
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 datafiles associated with databased in the path / pm / q / d . |
Using this convention, it is easy to determine the database to which the /u03/oradata/sab/system01.dbf
file belongs.
Separate groups of segments with different lifespans, I/O request demands, and backup frequencies across different tablespaces.
Table D-5 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: See the Oracle Database Administrator's Guide for information about creating databases manually. |
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. Doing this ensures that the SYSTEM tablespace does not require a rebuild due to tablespace free-space fragmentation.
Name tablespaces descriptively using a maximum of eight characters. Although Oracle Database tablespace names can be 30 characters long, portable UNIX filenames are restricted to 14 characters. The recommended standard for a datafile basename is tn
.dbf
, where t
is a descriptive tablespace name and n
is a two-digit string. Because the extension and the two-digit string take six characters, only eight characters remain for the tablespace name.
Descriptive names enable the datafile to be associated with the tablespace that uses it. For example, the names GLD and GLX might be used for the tablespaces storing General Ledger data and General Ledger indexes, respectively.
Note: Do not embed reminders of the word "tablespace" in your tablespace names. Tablespace names can be distinguished by context. For example, do not name the General Ledger tablespaceGLD_TBS01.dbf . |
Table D-6 describes the syntax used for identifying classes of files.
Table D-6 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/10.1.0 |
Oracle software subtree for release 10.1.0 products |
/*/app/oracle/product/10.1.0/db* |
Oracle home directories for Oracle Database 10g |
/*/app/oracle/admin/sab |
sab database administrative subtrees |
/*/app/oracle/admin/sab/arch/* |
sab database archived log files |
/*/oradata |
Oracle data directories |
/*/oradata/sab/* |
sab database files |
/*/oradata/sab/*.log |
sab database redo log files |
Table D-7 shows a hierarchical file mapping of a sample OFA-compliant installation with two Oracle home directories and two databases. The database files are distributed across three mount points, /u02
, /u03
, and /u04
.
Table D-7 Hierarchical File Mapping for OFA 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 |
/u01/app/oracle/product/ |
Distribution files |
/u01/app/oracle/product/9.2.0 |
Oracle home directory for Oracle9i release 2 (9.2.0) |
/u01/app/oracle/product/10.1.0/db_1 |
Oracle home directory for Oracle Database 10g release 1 (10.1.0) |
/u01/app/kjf/ |
Oracle base directory for user kjf |
/u01/app/edm/ |
Oracle base directory for user edm |
/u02 |
User data mount point 2 |
/u02/oradata/ |
Subtree for Oracle data |
/u02/oradata/ db_name1 / |
Subtree for db_name1 database files |
/u02/oradata/ db_name2 / |
Subtree for db_name2 database files |
/u03/ |
User data mount point 3 |
/u03/oradata/ |
Subtree for Oracle data |
/u03/oradata/ db_name1 / |
Subtree for db_name1 database files |
/u03/oradata/ db_name2 / |
Subtree for db_name2 database files |
/u04/ |
User data mount point 4 |
/u04/oradata/ |
Subtree for Oracle data |
/u04/oradata/ db_name1 / |
Subtree for db_name1 database files |
/u04/oradata/ db_name2 / |
Subtree for db_name2 database files |