Oracle 的OMF全称“Oracle managed file”,关于这个概念的参考请自行查阅Oracle官方文档“Using Oracle-Managed Files”(http://download.oracle.com/docs/cd/B19306_01/server.102/b14231 /omf.htm#ADMIN003)。关于这项体现Oracle自动化演进的特性的评价褒贬不一。咱不讨论是否推荐在生产系统中引入这项技术,我们一同看一下这个技术带给我们的乐趣。
1.确认系统是否启用OMF特性
Oracle数据库是否启用OMF特性可以通过查看DB_CREATE_FILE_DEST参数来获得。
当DB_CREATE_FILE_DEST参数值为空时表示未启用OMF功能。

sys@ora10g> show parameter db_create_file_dest
NAME TYPE VALUE
-------------------- -------------------- -------------------
db_create_file_dest string

2.开启OMF特性

通过修改数据库参数使其生效。方法很多,按照个人喜好进行调整(pfile调整方法,alter system调整参数)。

sys@ora10g> alter system set db_create_file_dest='/oracle/oradata';
System altered.
sys@ora10g> show parameter db_create_file_dest
NAME TYPE VALUE
--------------------- -------------------- ------------------
db_create_file_dest string /oracle/oradata

3.使用OMF特性创建表空间

sys@ora10g> create tablespace tbs_secooler;
Tablespace created.

4.数据文件存放位置

此时Oracle会在/oracle/oradata目录下以数据库实例的大写名字(这里是ORA10G)创建一个目录,表空间对应的数据文件会存放在datafile目录下。

sys@ora10g> !ls -l /oracle/oradata/ORA10G/datafile
total 102512
-rw-r----- 1 oracle oinstall 104865792 Jul 15 05:59 o1_mf_tbs_seco_63x8xzvw_.dbf

5.表空间的默认属性

sys@ora10g> select dbms_metadata.get_ddl('TABLESPACE','TBS_SECOOLER') from dual;
DBMS_METADATA.GET_DDL('TABLESPACE','TBS_SECOOLER')
---------------------------------------------------------------------
CREATE TABLESPACE "TBS_SECOOLER" DATAFILE
'/oracle/oradata/ORA10G/datafile/o1_mf_tbs_seco_63x8xzvw_.dbf' SIZE 104857600
AUTOEXTEND ON NEXT 104857600 MAXSIZE 32767M
LOGGING ONLINE PERMANENT BLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO

可见,通过OMF方式创建的表空间默认是100M大小,并且是自动扩展的。

6.添加数据文件

可以简单的通过下面的命令为表空间tbs_secooler添加一个数据文件

sys@ora10g> alter tablespace tbs_secooler add datafile;
Tablespace altered.
sys@ora10g> select dbms_metadata.get_ddl('TABLESPACE','TBS_SECOOLER') from dual;
DBMS_METADATA.GET_DDL('TABLESPACE','TBS_SECOOLER')
---------------------------------------------------------------------
CREATE TABLESPACE "TBS_SECOOLER" DATAFILE
'/oracle/oradata/ORA10G/datafile/o1_mf_tbs_seco_63x8xzvw_.dbf' SIZE 104857600
AUTOEXTEND ON NEXT 104857600 MAXSIZE 32767M,
'/oracle/oradata/ORA10G/datafile/o1_mf_tbs_seco_63x9scb5_.dbf' SIZE 104857600
AUTOEXTEND ON NEXT 104857600 MAXSIZE 32767M
LOGGING ONLINE PERMANENT BLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO
sys@ora10g> !ls -l /oracle/oradata/ORA10G/datafile
total 205024
-rw-r----- 1 oracle oinstall 104865792 Jul 15 05:59 o1_mf_tbs_seco_63x8xzvw_.dbf
-rw-r----- 1 oracle oinstall 104865792 Jul 15 06:14 o1_mf_tbs_seco_63x9scb5_.dbf

7.删除表空间数据文件会随之删除

sys@ora10g> drop tablespace tbs_secooler;
Tablespace dropped.
sys@ora10g> !ls -l /oracle/oradata/ORA10G/datafile
total 0

这个特性曾经一度让人们欢呼雀跃。

8.小结

Oracle的OMF特性很少被大规模的应用。原因很多,个人认为OMF虽然带来了操作上的些许便利,但是它隐藏了一些必要细节,同时表空间名字与数据文件名字很难快速建立起对应关系,为后期的管理带来了极大的不便。大家可以在实际环境酌情使用这项技术。

Good luck.

-- The End --

使用OMF特性的更多相关文章

  1. ASM时的OFM特性对影的建数据文件名称的影响及为SYSTEM表空间的数据文件使用别名

    客户遇到个DG的问题,存储使用的ASM管理,有多个磁盘盘. 在主库创建数据文件,备库自己主动创建的数据文件都在同一磁盘组,而且在主库创建数据文件是指定的是类似**.DBF的名字,到备库也变成了使用AS ...

  2. Oracle Dataguard Standby Redo Log的两个实验

    在Data Guard环境中,Standby Redo Log是一个比较特殊的日志类型.从最新的DG安装指导中,都推荐在Primary和Standby端,都配置Standby Redo Log. 简单 ...

  3. ocp 1Z0-043 61-130题解析

    61. You are working in an online transaction processing (OLTP) environment. You realize that the sal ...

  4. catalog start with + switch database to copy的妙用

    catalog start with + switch database to copy的妙用 环境:RHEL6.4 + Oracle 11.2.0.4 Primary RAC + Standby R ...

  5. 【翻译】--19C Oracle 安装指导

    18C新功能     1.简化的基于镜像的Oracle数据库安装     从18C开始,Oracle可以作为镜像文件来下载和安装,必须解压缩镜像文件到ORACLE_HOME目录,然后执行runInst ...

  6. 探索ORACLE之ASM概念(完整版)

    探索ORACLE之ASM概念(完整版) 本文出自https://www.jb51.net/article/43527.htm ASM是Oracle 10g R2中为了简化Oracle数据库的管理而推出 ...

  7. SQL Server优化器特性-隐式谓词

    我们都知道,一条SQL语句提交给优化器会产生相应的执行计划然后执行输出结果,但他的执行计划是如何产生的呢?这可能是关系型数据库最复杂的部分了.这里我为大家介绍一个有关SQL Server优化器的特性- ...

  8. 【12c】12c RMAN新特性之通过网络远程恢复数据库(RESTORE/Recover from Service)

    [12c]12c RMAN新特性之通过网络远程恢复数据库(RESTORE/Recover from Service) 通过网络远程恢复数据库(Restore/Recover from Service) ...

  9. Oracle 11gR2 RAC 新特性说明

    最近接触了一下Oracle 11g R2 的RAC,发现变化很大. 所以在自己动手做实验之前还是先研究下它的新特性比较好. 一.    官网介绍 先看一下Oracle 的官网文档里对RAC 新特性的一 ...

随机推荐

  1. resulting in duplicate entry '1' for key 'primary'

    现在有一个标签表,里面已经填入了一些数据了,想把主键生成策略改成自增的: ALTER TABLE `tags` CHANGE COLUMN `Id` `Id` INT(11) NOT NULL AUT ...

  2. js特效背景--点线随着鼠标移动而改变

    https://blog.csdn.net/css33/article/details/89450852 https://www.cnblogs.com/qq597585136/p/7019755.h ...

  3. Spring Boot整合dubbo(注解的方式)

    一.创建项目 1.创建一个空的项目 2.在空的项目中添加两个Spring Boot模块,如下图所示 二.在provider模块中的pom文件中添加依赖 <dependency> <g ...

  4. ffmpeg3.3.2命令行参数笔记

    组成: 1.libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能,包含demuxers和muxer库: 2.libavcodec:用 ...

  5. 本地安装Mysql后,navicat链接异常:Clinet dose not support authentication protocol request by server ; consider upgrading MySQL client

    第一步:首先通过cmd进入mysql 在命令窗口 输入:mysql -u root -p: 第二步:更改加密方式 mysql> ALTER USER 'root'@'localhost' IDE ...

  6. redis基础学习

    redis 是一个高性能的key-value数据库. redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用.它提供了java ...

  7. 文件I/O简述

    什么是I/O 宏观上讲,I/O是信息处理系统(例如计算机)与外部世界(可能是人或其他信息处理系统)之间的通信.输入(Input)是系统接收的信号或数据,输出(Output)是从其发送的信号或数据.另一 ...

  8. epoll机制和简述

    在linux的网络编程中,很长的时间都在使用select来做事件触发.在linux新的内核中,有了一种替换它的机制,就是epoll.相比于select,epoll最大的好处在于它不会随着监听fd数目的 ...

  9. python的isocalender()

    isocalender()返回指定日期的年,第几周,周几这三个值. 例子: import date date_time = datetime.date(2019, 5, 9) ret = date_t ...

  10. PAT Basic 1001 害死人不偿命的(3n+1)猜想 (15 分)

    卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 ( 砍掉一半.这样一直反复砍下去,最后一定在某一步得到 n=1.卡拉兹在 1950 年的世界 ...