OFA Standards (Oracle Magazine November/December 1995)
OFA Rule 1. Name all mount points that will hold site-specific data to match the pattern /pm, where p is a string constant that will not misrepresent the contents of any mount point, and m is a unique fixed length key that distinguishes one mount point from another.
OFA Rule 2. Name home directories matching the pattern /pm/h/u, where pm is a mount point name, h is selected from a small set of standard directory names, and u is the name of the owner of the directory.
OFA Rule 3. Refer to explicit path names only in files designed specifically to store them, such as the UNIX /etc/passwd file and the Oracle oratab file; refer to group memberships only in /etc/group.
OFA Rule 4. Store each version of Oracle Server distribution software in a directory that matches the pattern h/product/v, where h is the login home directory of the Oracle software owner and v represents the version of the software.
OFA Rule 5. For each database with db_name=d, store database-administration files in the following subdirectories of h/admin/d, where h is the Oracle software owner's login home directory.
adhoc?ad hoc SQL scripts for a given database
adump?audit trail trace files
arch?archived redo log files
bdump?background process trace files
cdump?core dump files
create?programs 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
OFA Rule 6. Name Oracle database files using the following patterns-.
/pm/q/d/control.c?control file
/pm/q/d/redon.log?redo log files
/pm/q/d/tn.dbf?data files
where pm is a mount-point name, q is a string denoting the separation of Oracle data from all other files, d is the db_name of the database, t is an Oracle tablespace name and n is a distinguishing key that is fixed-length for a given file type. Never store any file other than a control, redo log, or data file associated with database d in /pm/q/d.
OFA Rule 7. Separate groups of segments with different life spans, I/O request demands, and backup frequencies among different tablespaces. For each Oracle database, create the following special tablespaces in addition to those needed for applications segments:
SYSTEM?data dictionary segments only
TEMP??temporary segments only
RBS??rollback segments only
TOOLS??general-purpose tools only
USERS??miscellaneous user segments
OFA Rule 8. Name tablespaces connotatively with eight or fewer characters.
OFA Rule 9. Choose a small set of standard sizes for all character-special files that you might use to store Oracle database files.
OFA Rule 10. If you are using Oracle Parallel Server, select exactly one node N to act as Oracle administrative home for the cluster to house the administrative subtree defined in OFA Rule 5. Let h be the Oracle software owner's login home directory on node N. Create a directory named for each instance accessing database d within the adump, bdump, cdump, logbook, pfile, and udump directories of N:h/admin/d. On every node n in the cluster except N, mount the remote directory N:h/admin/d as the administrative directory for database d (for example, as n:h/admin/d.
OFA Rule 11. If you can afford enough hardware to guarantee that each disk drive will contain database files from exactly one application and you can dedicate a sufficient number of drives to each database to ensure there will be no I/O bottleneck, name mount points matching the pattern /qdm, where q is a string denoting that Oracle data and nothing else is to be stored there, d is the value of the db_name init.ora parameter for the single database that will be stored there, and m is a unique fixed-length key that distinguishes one mount point for a given database from another.
SUMMARY
Using these guidelines, you should be able to build a high-performance system that requires little maintenance, even in continually changing conditions.