从参数取值看Oracle OMF特性

Oracle 10g以后,在目录结构和文件管理方面推出两个特性OFA和OMF。OFA(Oracle Flexiable Architecture)是进行目录结构约束规范的特性。诊断文件diag、日志、数据文件等目录结构分布都是由OFA进行固定下来。OMF(Oracle Managed File)是针对文件结构,将原来用户负责文件命名和位置转变为Oracle负责管理。
 
OMF涉及的项目主要是数据文件和日志文件。我们在进行文件管理的过程中,比如添加、删除操作,是不需要关注文件名称位置细节的。简单的说,OMF解决了三个问题:

1、环境介绍

 

我们依然选择Oracle 11gR2进行试验,具体版本为11.2.0.4。

 

SQL> select * from v$version;

 

BANNER

----------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production

PL/SQL Release 11.2.0.4.0 - Production

CORE 11.2.0.4.0 Production

 

TNS for Linux: Version 11.2.0.4.0 - Production

NLSRTL Version 11.2.0.4.0 - Production

 

默认系统参数情况如下:

 

SQL> show parameter db_create;

 

NAME                                TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_create_file_dest                  string      /u01/app/oradata

db_create_online_log_dest_1          string     

db_create_online_log_dest_2          string     

db_create_online_log_dest_3          string     

db_create_online_log_dest_4          string     

db_create_online_log_dest_5          string     

 

从官方解释看,db_create_file_dest是负责通用文件目录结构,包括数据文件和日志文件。Db_create_online_log_dest_n是负责在线日志目录结构,n是online redo log单个组成员数目。N的取值和创建数据库时候的maxlogfile确定的数目。
 
当前数据文件和日志情况如下:

 

 

SQL> select file_name, file_id, tablespace_name from dba_data_files;

 

FILE_NAME                                                        FILE_ID TABLESPACE_NAME
 
------------------------------------------------------------- ---------- ------------------------------
 
/u01/app/oradata/ORA11G/datafile/o1_mf_users_9mnjs074_.dbf            4 USERS

/u01/app/oradata/ORA11G/datafile/o1_mf_undotbs1_9mnjs068_.dbf          3 UNDOTBS1
 
/u01/app/oradata/ORA11G/datafile/o1_mf_sysaux_9mnjs04h_.dbf            2 SYSAUX

/u01/app/oradata/ORA11G/datafile/o1_mf_system_9mnjrzty_.dbf            1 SYSTEM

/u01/app/oradata/ORA11G/datafile/o1_mf_system_9ppkjccb_.dbf            5 SYSTEM

 

SQL> select group#, member from v$logfile;

 

    GROUP# MEMBER

---------- --------------------------------------------------------------------

        3 /u01/app/oradata/ORA11G/onlinelog/o1_mf_3_9mnjx4n0_.log

        3 /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_3_9mnjx54c_.log

        2 /u01/app/oradata/ORA11G/onlinelog/o1_mf_2_9mnjwzpq_.log

        2 /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_2_9mnjx15f_.log

        1 /u01/app/oradata/ORA11G/onlinelog/o1_mf_1_9mnjwtj9_.log

        1 /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_1_9mnjwvdm_.log

 

6 rows selected

当前OMF配置情况下,/u01/app/oradata为顶层文件结构。数据文件采用了OMF自动命名机制。Online Redo Log三组,每组两个成员,一个在/u01/app/oradata目录中的OFA架构体系下,另一个是在recovery area中。
 
注意:参数db_create_file_dest是file_dest,而不是datafile_dest。这个参数是一个统筹性的参数,位于OMF参数体系上层。如果log没有指定另外目录。Db_create_file_dest是负责数据文件和日志文件的。从实际情况看也的确如此。

相关推荐