Oracle OMF特性试验

 

Oracle 9i开始,Oracle提供了OMFOracle Manage File)特性,实现了文件系统命名自动化。目前的Oracle版本中,已经可以支持对数据文件(Data File)和在线日志文件(Online Log File)的OMF处理。

 

 

1、OMF特性与相关参数

 

传统的方式下,我们建立数据文件或者日志文件要明确的确定出建立文件的名称和路径。而使用OMF特性的时候,是不需要明确指定出文件名称路径,Oracle会通过预先设定参数建立符合规范的文件名称。

 

Data FileOnline Redo Log而言,Oracle提供了参数进行目录指定。

 

 

SQL> select * from v$version where rownum<2;

BANNER

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

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

 

SQL> show parameter create

NAME                                 TYPE        VALUE

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

create_bitmap_area_size              integer     8388608

create_stored_outlines               string     

db_create_file_dest                  string      /u01/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  

 

 

其中,标注红色的内容为使用OMF所涉及到的参数。db_create_file_dest指定的就是在创建数据文件时,如果语句命令不指定数据文件的位置,就在db_create_file_dest总目录下进行创建。同样,db_create_online_log_destn就表示当创建一个日志文件时,同时在多个位置进行的多重备份(Online Redo Log File通常是成组出现,每个日志组中包括很多相同的Redo Log File)。

 

 

下面的实验中,我们通过数据文件的OMF创建,来掩饰其特性。

 

2、传统表空间Tablespace创建与相关选项参数

 

首先,我们查看一下传统方式建立Tablespace和数据文件的方法和参数。

 

 

SQL> create tablespace tradway datafile '/u01/oradata/WILSON/datafile/trad.dbf' size 100m autoextend off extent management local uniform. size 1m segment space management manual;

 

Tablespace created

 

SQL> select tablespace_name, extent_management, allocation_type, SEGMENT_SPACE_MANAGEMENT from dba_tablespaces;

 

TABLESPACE_NAME                EXTENT_MANAGEMENT ALLOCATION_TYPE SEGMENT_SPACE_MANAGEMENT

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

(篇幅原因,有省略

TRADWAY                 LOCAL             UNIFORM  MANUAL

 

9 rows selected

 

 

在传统方式下,我们需要明确指定数据文件的位置和命名。

 

 

SQL> col file_name for a60;

SQL> select file_name,tablespace_name,bytes/1024/1024,AUTOEXTENSIBLE, INCREMENT_BY from dba_data_files;

 

FILE_NAME                                                    TABLESPACE_NAME                BYTES/1024/1024 AUTOEXTENSIBLE INCREMENT_BY

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

(篇幅原因,有省略……

/u01/oradata/WILSON/datafile/trad.dbf                        TRADWAY                                    100 NO                        0

 

7 rows selected

 

传统方式下,如果我们直接进行表空间的删除,对应的数据文件是不会自动随之删除的。

 

 

SQL> drop tablespace tradway;

Tablespace dropped

 

//表空间被删除,但是数据文件依然存在

[oracle@oracle11g datafile]$ pwd

/u01/oradata/WILSON/datafile

[oracle@oracle11g datafile]$ ls -l | grep trad

-rw-r-----  1 oracle oinstall 104865792 Jun  5 07:59 trad.dbf

[oracle@oracle11g datafile]$

 

 

当然,也可以使用命令drop tablespace xxx including contents and datafiles;来实现直接删除。

 

此处,我们需要注意一下与数据文件相关的参数。在Oracle中,数据文件相关常见参数选项包括下面几个:

 

ü        数据文件大小size:表示创建文件时刻的初始大小;

ü        自动拓展功能autoextend开关:该数据文件在使用尽预设值空间之后,是否允许进行自动拓展;

ü        拓展体积参数increasment by:如果数据文件是允许进行自动拓展(autoextend on),那么每次拓展的空间大小是多大。如果数据文件增加频繁,建议设置略大的拓展体积参数,避免操作系统OS进行过于频繁的拓展操作;

ü        最大文件体积max size:生产环境下,所有的文件和磁盘空间都是受控制的,不会允许无限制的增长。max size就是设置数据文件增长的上限;

 

 

3OMF效用实现

 

首先,我们检查一下默认下,OMF使用情况。

 

 

SQL> create tablespace defaulttbs;

Tablespace created

 

SQL> select tablespace_name, extent_management, allocation_type,SEGMENT_SPACE_MANAGEMENT from dba_tablespaces;

 

TABLESPACE_NAME                EXTENT_MANAGEMENT ALLOCATION_TYPE SEGMENT_SPACE_MANAGEMENT

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

(篇幅原因,有省略

DEFAULTTBS                     LOCAL             SYSTEM          AUTO

 

9 rows selected

 

 

没有指定数据文件的位置和名称,检查自动生成的效果。

 

 

SQL> select file_name,tablespace_name,bytes/1024/1024,AUTOEXTENSIBLE, INCREMENT_BY from dba_data_files;

 

FILE_NAME                                                    TABLESPACE_NAME                BYTES/1024/1024 AUTOEXTENSIBLE INCREMENT_BY

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

(篇幅原因,有省略

/u01/oradata/WILSON/datafile/o1_mf_defaultt_6yoksxvd_.dbf    DEFAULTTBS                                 100 YES                   12800

 

7 rows selected

 

 

可见,在不指定数据文件相关参数的情况下,OracleOMF数据文件命名是采用系统内部命名方式。创建的数据文件大小为100M,支持自动文件拓展,每次增加大小为10m

 

说明:在数据字典中的increment_by列列出的12800为每次拓展时候分配的数据块数量。计算公式:10*1024*1024/(8*1024)=1280,也就是10m的数据库空间在每个数据块8k大小的数据库中,对应1280个块。

 

此时,如果我们删除表空间,Oracle会连带负责的将文件删除。

 

//删除表空间

SQL> drop tablespace defaulttbs;

Tablespace dropped

 

[oracle@oracle11g datafile]$ ls

o1_mf_example_6bcsrj44_.dbf  o1_mf_temp_6bcsr6d8_.tmp      perfstatdata.dbf

o1_mf_sysaux_6bcsnqjb_.dbf   o1_mf_undotbs1_6bcsnqjt_.dbf  perfstattemp.dbf

o1_mf_system_6bcsnqfc_.dbf   o1_mf_users_6bcsnql5_.dbf

 

 

如果我们在创建文件时指定参数,方式是如何呢?

 

 

--设置参数实验

 

SQL> create tablespace customf datafile size 150m autoextend off extent management local uniform. size 1m segment space management manual;

Tablespace created

 

 

SQL> select file_name,tablespace_name,bytes/1024/1024,AUTOEXTENSIBLE, INCREMENT_BY from dba_data_files;

 

FILE_NAME                                                    TABLESPACE_NAME                BYTES/1024/1024 AUTOEXTENSIBLE INCREMENT_BY

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

(篇幅原因,有省略

/u01/oradata/WILSON/datafile/o1_mf_customf_6yol3wr2_.dbf     CUSTOMF                                    150 NO                        0

 

7 rows selected

 

 

我们通过datafile字句不带路径名称的参数size等,实现了自定义OMF数据文件。

 

 

4、结论

 

从网络中的一些反映看,OMF在生产环境下使用的情况还是有限的。

 

OMF的核心就是将文件存储透明化。实现DBA和数据库配置人员不需要关注文件具体名称和位置,通过OracleOMFOFA体系实现规范化。但是目前的很多数据库系统部署,特别是生产部署,是需要将文件级别列入到部署规范中的。所以,从目前的OMF来看,实际应用还是相对较窄。

 

不过伴随着ASM、裸设备等存储技术的发展和透明化,OMF的发展应用还是值得关注的。

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17203031/viewspace-697689/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/17203031/viewspace-697689/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值