从参数取值看Oracle OMF特性

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

ü  文件存放位置。OMF和OFA是联动的。从Oracle角度看,符合最佳实践的文件部署结构是成功数据库安装配置的要点。进入ASM之后,Oracle自身就有很强烈的“管理欲望”。借助OMF,默认配置路径就可以满足大部分需要;
 
ü  文件命名和创建。传统文件管理中,我们需要显式的进行文件名称指定(包含路径)。借助OMF,我们从这个工作中解放出来,只需要指定文件大小(甚至不指定),创建操作就可以实现;
 
ü  文件自动删除。我们传统数据文件创建之后,直接删除表空间drop tablespace xxx,是不能将数据文件删除的,除非我们使用including子句。借助OMF,drop tablespace就可以将数据文件自动删除;
 
在OMF中,两个参数起到决定作用,为db_create_file_dest和db_create_online_log_dest_n。这两个参数在控制OMF行为中起到决定性作用。下面我们通过一系列的参数实验,验证两个参数如何影响数据库行为。
 
Oracle OMF 功能详解

Oracle表空间创建删除,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是负责数据文件和日志文件的。从实际情况看也的确如此。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/623a29f8cc1f8efc0c87fa46be8658ea.html