This appendix describes the Optimal Flexible Architecture standard. This 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:
Changes to the Optimal Flexible Architecture for Oracle Database
Optimal Flexible Architecture and Multiple Oracle Home Configurations
Comparison Between Optimal Flexible Architecture on Windows and UNIX
The Optimal Flexible Architecture standard helps you to organize database software and configure databases to allow multiple databases, of different versions, owned by different users to coexist. Optimal Flexible Architecture assists in identification of ORACLE_BASE
with its Automatic Diagnostic Repository (ADR) diagnostic data to properly collect incidents.
All Oracle components on the installation media are compliant with Optimal Flexible Architecture. Oracle Universal Installer places Oracle Database components in directory locations, assigning the default permissions that follow Optimal Flexible Architecture guidelines.
Oracle recommends that you use Optimal Flexible Architecture, specially if the database grows in size, or if you plan to have multiple databases.
When you install Oracle database, you are installing one of the largest applications that your computer can support. Using multiple Oracle homes and Optimal Flexible Architecture provides many advantages when administering large databases. The following advantages are important:
Structured organization of directories and files, and consistent naming for database files simplify database administration.
Distribution of I/O across multiple disks prevents performance bottlenecks caused by multiple read or write commands issued simultaneously to a single drive.
Distribution of applications across multiple disks safeguards against database failures.
Login home directories are not at risk when database administrators add, move, or delete Oracle home directories.
Multiple databases, of different versions, owned by different users can coexist concurrently.
Software upgrades can be tested in an Oracle home in a separate directory from the Oracle home where your production database is located.
For previous releases of Oracle Database, the Optimal Flexible Architecture recommended Oracle home path was similar to the following:
c:\oracle\ora92
Starting with Oracle Database 11g Release 1 (11.1), the Optimal Flexible Architecture recommended Oracle home path changed. The Optimal Flexible Architecture recommended Oracle home path is now similar to the following:
c:\app\username\product\11.2.0\dbhome_1
The ORACLE_BASE
default does not contain version information but the default ORACLE_HOME
does.
Optimal Flexible Architecture has necessitated changes to the Oracle Database directory tree. This section lists the differences:
When you install Oracle Database Optimal Flexible Architecture-compliant database, all subdirectories are under a top-level Oracle base directory, DRIVE_LETTER
:\app\
username
, where DRIVE_LETTER
is any hard drive.
The Oracle base directory contains \
ORACLE_HOME
directories, \oradata
directories (for database files), \diag
(for diagnostic data), \flash_recovery_area (for recovery operations), and \admin
directories (for database administration files).
Database files do not have the SID
in the database file name. For example, the first control file is named control01.ctl
. The SID
in the file name is not necessary because all the database files for a particular database are placed in \oradata
under a directory called DB_UNIQUE_NAME
that is named for that database.
In an Optimal Flexible Architecture-compliant release, database file names have the following extensions:
.ctl
for control files
.log
for log files
.dbf
for data files
Optimal Flexible Architecture uses directory naming conventions that make it easy to identify the precise Oracle home and database name that is associated with a set of files. This section describes the naming conventions used for top-level directories of an Optimal Flexible Architecture-compliant database directory tree:
ORACLE_BASE
is the root of the Oracle directory tree. If you install an Optimal Flexible Architecture-compliant database using Oracle Universal Installer default settings, then ORACLE_BASE
is DRIVE_LETTER
:\app\
username.
If you are installing Oracle Database for Microsoft Windows on a computer with no other Oracle software installed, then you can change the ORACLE_BASE
directory before running Oracle Universal Installer. Most users do not need or want to do this.
Do not change the value of ORACLE_BASE
after you run Oracle Universal Installer for the first time. If there is an existing ORACLE_BASE
and you change it, then there is a conflict of Oracle base directories. If you create another ORACLE_BASE
when the original ORACLE_BASE
exists, then certain tools and the database are not able to find previously created files. They look for them in the new ORACLE_BASE
instead of the original ORACLE_BASE
.
See Also:
Your operating system documentation for instructions about editing environment variablesThe ORACLE_HOME
directory is located under DRIVE_LETTER:\ORACLE_BASE
, where DRIVE_LETTER:\
is any hard drive, and contains subdirectories for Oracle software executables and network files.
If you install Oracle Database for Windows on a computer with no other Oracle software installed and you use default settings, then the first directory that you create is called \dbhome_1
.
Oracle Database 11g onwards, Automatic Diagnostic Repository (ADR) directories replace the bdump
, cdump
, and udump
directories for the database. The ADR diagnostic data goes into the ORACLE_BASE
\diag\rdbms\
DB_UNIQUE_NAME
\instance_name
by default.
Some of these subdirectories are:
\alert \hm \incident \incpkg \ir \lck \metadata \stage \sweep \trace
The ADR home has the trace, alert, and incident sub-directories. Table B-1 describes the ADR directories.
Table B-1 Locations for Diagnostic Traces
Diagnostic Data | 10g Location | 11g Location |
---|---|---|
Foreground Process traces |
|
|
Background Process traces |
|
|
Alert Log Data |
|
|
Core Dump |
|
|
Incident Dumps |
|
|
Database administration files are stored in subdirectories of ORACLE_BASE\admin\
DB_UNIQUE_NAME
.
Database files are stored in ORACLE_BASE
\oradata\
DB_UNIQUE_NAME
. Names and brief descriptions of these files are:
CONTROL01.CTL --control file 1 CONTROL02.CTL --control file 2 CONTROL03.CTL --control file 3 EXAMPLE01.DBF --EXAMPLE tablespace data files SYSAUX01.DBF --SYSAUX tablespace data files SYSTEM01.DBF --SYSTEM tablespace data file TEMP01.DBF --TEMP tablespace data file USERS01.DBF --USERS tablespace data file *.dbf --data files corresponding to each tablespace in your database REDO01.LOG --redo log file group one, member one REDO02.LOG --redo log file group two, member one REDO03.LOG --redo log file group three, member one
Note:
This directory structure allows for disk striping on UNIX and Windows platforms. See "Support for Symbolic Links on Windows".The recovery_area
directory stores and manages files related to backup and recovery. It contains a subdirectory for each database on the system. A fast recovery area is an optional disk location that you can use to store recovery-related files such as control files and online redo log copies, archived logs, flashback logs, and Oracle Database Recovery Manager (RMAN) backups. Oracle and RMAN manage the files in the fast recovery area automatically.
See Also:
Oracle Database Backup and Recovery User's Guide to learn how to create and use a fast recovery areaThe following sections describe various Optimal Flexible Architecture and multiple Oracle homes configurations.
To install an Optimal Flexible Architecture-compliant database, you must specify an Oracle home directory in the form of:
DRIVE_LETTER:\app\username\product\11.2.0\dbhome_1
where:
DRIVE_LETTER:\
is any hard drive. For example, c:\
\app\
username
is the ORACLE_BASE
before performing the installation.
dbhome_1
is the default directory name.
The following are examples of Optimal Flexible Architecture-compliant Oracle home directories:
c:\app\test1\product\11.2.0\dbhome_1
d:\app\test2\product\11.2.0\dbhome_1
This example shows how to create all Oracle homes within one Oracle base directory.
Install any Oracle Database that supports Optimal Flexible Architecture (Oracle Database Release 8.1.6 or later) on a computer with no other Oracle software installed and ensure that you accept the default settings for the Oracle home (for example, c:\app\
username
\product\11.2.0\dbhome_1
).
Install any Oracle Database in a second Oracle home accepting the default settings.
Table B-2 shows the default Optimal Flexible Architecture database settings.
In this example, you install each Oracle home into its own directory, but they all share the same Oracle base.
Install any Oracle Database that supports Optimal Flexible Architecture (Oracle Database 8.1.6 or later) on a computer with no other Oracle software installed and change the default Oracle Universal Installer settings for the first Oracle home (for example, from c:\oracle\ora81
to X:\xyz\oracle\abc
).
Install any Oracle Database and change the default Oracle Universal Installer settings for the second Oracle home (for example, from c:\oracle\ora10
to X:\pqr
).
Table B-3 shows the nondefault Optimal Flexible Architecture database settings for this example.
Table B-3 Nondefault Optimal Flexible Architecture Database Settings: Example 2
Setting | Value |
---|---|
|
(same for both Oracle homes) |
Oracle home 1 |
|
Oracle home 2 |
|
The resulting directory tree would look similar to this:
X:\pqr --Oracle home 2 \bin \network X:\xyz \oracle --ORACLE_BASE for both Oracle homes \abc --Oracle home 1 \bin \network \admin \DB_UNIQUE_NAME1 \dpdump \ \DB_UNIQUE_NAME2 \... \oradata \DB_UNIQUE_NAME1 CONTROL01.CTL CONTROL02.CTL CONTROL03.CTL EXAMPLE01.DBF SYSAUX01.DBF SYSTEM01.DBF TEMP01.DBF USERS01.DBF REDO01.LOG REDO02.LOG REDO03.LOG \DB_UNIQUE_NAME2
You implement Optimal Flexible Architecture on Windows and UNIX in the same way. However, differences exist regarding the following:
Support for Symbolic Links on Windows
See Also:
Your UNIX operating system-specific administrator's reference for information about Optimal Flexible Architecture on UNIXTop-level names of the Optimal Flexible Architecture directory tree differ between Windows and UNIX. However, main subdirectory names and file names are the same on both operating systems.
On Windows, Oracle base is associated with an Oracle home directory. ORACLE_BASE
is defined in the registry (for example, in HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_
HOME_NAME
).
On UNIX, ORACLE_BASE
is associated with a UNIX user's environment.
The goal of Optimal Flexible Architecture is to place all Oracle software under one ORACLE_BASE
directory and to spread files across different physical drives as your databases increase in size.
On UNIX, although everything seems to be in one directory on the same hard drive, files can be on different hard drives if they are symbolically linked or have that directory as a mount point.
On Windows, you can use volume mount points to mount files on different hard drives to a single directory. You may have oradata
directories on multiple drives, with data files in each one, on Windows version which does not support volume mount points.
Oracle recommends that you use one logical drive to store your database administration files and that you place other files, as needed, on other logical drives in an oradata\
DB_UNIQUE_NAME
directory.
In the following example, there are four logical drives for a database named prod
:
c:\
contains an Oracle home and database administration files.
f:\
contains redo log files. The F:\
drive could also represent two physical drives that have been striped to increase performance.
g:\
contains one of the control files and all tablespace files. The G:\
drive could also use a RAID Level-5 configuration to increase reliability.
h:\
contains the second control file.
The directory structure would look similar to this:
c:\app\username\product\11.2.0 --First logical drive \dbhome_1 --Oracle home \bin --Subtree for Oracle binaries \network --Subtree for Oracle Net \... \admin --Subtree for database administration files \prod --Subtree for prod database administration files \adump --Audit files \dpdump --Default directory for data pump operations. \pfile --Initialization parameter file f:\app\username\product\11.2.0 --Second logical drive (two physical drives, striped) \oradata --Subtree for Oracle Database files \prod --Subtree for prod database files redo01.log --Redo log file group one, member one redo02.log --Redo log file group two, member one redo03.log --Redo log file group three, member one g:\app\username\product\11.1.0 --Third logical drive (RAID level 5 configuration) \oradata --Subtree for Oracle Database files \prod --Subtree for prod database files CONTROL01.CTL --Control file 1 EXAMPLE01.DBF --EXAMPLE tablespace data files SYSAUX01.DBF --SYSAUX tablespace data files SYSTEM01.DBF --System tablespace data file TEMP01.DBF --Temporary tablespace data file USERS01.DBF --Users tablespace data file h:\app\username\product\11.2.0 --Fourth logical drive \oradata --Subtree for Oracle Database files \prod --Subtree for prod database files CONTROL02.CTL --Control file 2
Table B-4 shows a hierarchical file mapping for log files of a sample Optimal Flexible Architecture-compliant installation in the orcl
database.
Table B-4 Hierarchical File Mapping for Log Files in an Optimal Flexible Architecture Installation
Directory | Description |
---|---|
|
Subtree for support log files |
|
Archived log files |
|
Contains the database creation log files |
|
Redo log files |
|
Contains the data pump file |
|
Contains all database, listener, sqlnet and other diagnostic logs |
|
Contains all audit logs |
|
Contains logs for configuration assistants such as Oracle Database Configuration Assistant, Database Upgrade Assistant, and Oracle Net Configuration Assistant |