OFA & OMF
OFA
OFA(Optimal Flexible Architecture)是Oracle设计的一种文件系统目录结构,目的在于简化多个Oracle产品版本维护。OFA的核心是两个环境变量:ORACLE_BASE和ORACLE_HOME。ORACLE_BASE是服务器上的一个目录,安装所有Oracle软件(不同产品,不同版本)。每个产品的每个版本都有自己的Oracle_HOME(在ORACLE_BASE之下)。此结构确保在最终将文件放在适当位置的情况下,创建和升级多个数据库。
ORACLE_BASE的Linux和Unix OFA标准是:它应是一个模板格式为/pm/h/u的目录,其中,p是一个字符串变量(如u),m是一个数字变量(如01),h是标准目录名(如app),u是拥有所有Oracle软件的操作系统账户(如oracle)。
ORACLE_BASE的Windows OFA标准是从任何适当的驱动器号的根中开始的\oracle\app。
数据库ORACLE_HOME的OFA标准是$ORACLE_BASE/product/v/db_n。其中,product不变,v是产品版本号(如11.1.0),db_n是安装程序基于产品推导的名称(如db对应database),以及每个产品安装的增量编号(如1)。
在Linux 操作系统上,ORACLE_BASE和ORACLE_HOME的典型值如下:
/u01/app/oracle
/u01/app/oracle/product/11.2.0.4/db_1
在Windows操作系统上,典型值为:
D:\oracle\app
D:\oracle\app\product\11.2.0.4\db_1
数据库本身的OFA位置是ORACLE_BASE/q/d,其中,q是字符串oradata,d是数据库的名称。在Linux上,名为orcl的数据库的位置如下:
/u01/app/oracle/oradata/orcl
在数据库目录中,控制文件、联机重做日志文件和数据文件的默认命名方式如下:
OFA没有指定多路复用联机重做日志文件的命名方式。大多数DBA会在OFA名称之后加上一个字母后缀,以便区分同一个组中的成员:redo01a.log、redo01b.log。
OMF
OMF(Oracle Managed File):A file that is created automatically by the Oracle database server when it is needed and automatically deleted when it is no longer needed.
OMF大大减少了DBA对于数据库文件的管理,包括数据文件、日志文件、控制文件、临时文件等。譬如在创建Tablespace时不用指定数据文件的名称和大小,在创建Logfile时直接使用"alter database add logfile"等。
OMF的启用主要取决于以下三个参数:
DB_CREATE_FILE_DEST:数据文件的默认存放地址,包括data files和temp files。如果DB_CREATE_ONLINE_LOG_DEST_n没有指定,则DB_CREATE_FILE_DEST是日志文件和控制文件的默认地址。
DB_CREATE_ONLINE_LOG_DEST_n:日志文件和控制文件的默认存放地址。
DB_RECOVERY_FILE_DEST:Fast Recovery Area的默认地址,为RMAN备份数据、归档日志和flashback日志的默认存放地址。如果DB_CREATE_ONLINE_LOG_DEST_n没有指定,则DB_RECOVERY_FILE_DEST同样是日志文件和控制文件的默认地址。