OMF托管文件是Oracle数据库提供的一种对数据文件进行自动管理的机制。当企业的数据库比较大,有数百个数据文件时,对数据库文件的管理就会变得非常的困难。但是采用OMF文件托管机制就可以很方便地解决这一问题,本文主要就OMF使用过程中的相关配置以及OMF与ASM结合使用的问题进行了详细地论述。

一、使用过程中的相关配置。

OMF托管文件机制相当于是一个批处理。当用户在建立数据文件的时候,只要输入一个命令,不需要带名字、存储位置等参数,系统就会自动根据一定的规则来创建数据文件。故在使用这个托管文件功能之前,管理员需要先在数据库中建立好相关的规则。虽然系统有时候也会采用默认的配置,但是笔者不建议这么做。对于一个复杂的数据库系统来说,根据企业的实际情况,预先创建好数据文件的体系,是一个很好的习惯。系统的默认设置往往针对的是中小型的应用,无法满足大型数据库的要求。所以管理员需要根据实际情况来配置相关的规则。具体的来说,主要涉及到以下几个参数。

一是DB_CREATE_FILE_DEST参数。顾名思义,这个参数主要用来指定数据文件默认的存储位置。设置好这个参数之后,管理员在创建数据文件时就不需要再输入具体的文件位置。这里需要注意的是,这个地址还跟临时文件、重做日志文件、控制文件等等相关。

二是DB_RECOVERY_FILE_DEST参数。这个参数主要用来定义重做日志、控制文件、RMAN备份文件、归档日志和闪回日志的默认位置。当管理员设置了这个参数之后,系统将会重写其默认设置。

三是DB_CREATE_ONLINE_LOG_DEST_N参数。这个参数也是用来定义重做日志文件和控制文件的默认位置。这里也许有人会问,如果这个参数与前面的参数定义的位置不同,那该如何处理呢?这里就涉及到一个优先级的问题。通常情况下,如果设置了这个参数,那么前面两个参数的设置就会被覆盖掉。最终系统使用的是这个参数所定义的位置。也许有人会问,这个参数后面为什么会带一个字符N呢?其实这主要是为了建立副本的需要。具体的内容,笔者会在下面的内容中进行详细叙述。

二、使用OMF来创建数据文件。

以上相关的规则配置完毕之后,就可以使用OMF托管文件功能来创建数据文件。只需要运行命令ALTER Tablespace ADD DATAFILE命令即可。注意在这个命令中,没有指定所需要创建的数据文件的路径与名字。这些都是系统根据预先定义的规则来自动补充的。在使用这个命令的时候,笔者认为还需要注意以下几点内容。

一是如何来实现归档日志与控制文件的多个副本?在手工创建归档日志文件和控制文件的时候,我们总会在不同的位置创建多个相同名字的归档日志文件或者控制文件的副本。如此的话,当某个归档日志文件或者控制文件出现问题,还可以通过副本来弥补。通过OMF托管文件来自动创建数据文件时,该如何实现这个功能呢?其实实现的方法也很简单。只需要在设置DB_CREATE_ONLINE_LOG_DEST_N这个参数的时候,多建几个,系统就会自动创建相关文件的副本。这就是最后一个字符N的作用。

二是如果创建表空间,则数据文件该如何处理?在没有OMF托管文件功能之前,创建表空间与创建数据文件是两个独立的事项。也就是说,创建表空间之后,管理员还需要根据实际情况来来手工创建数据文件。不过在有了OMF托管文件功能之后,这种情况发生了根本性的变化。换句话说,只需要使用命令 Create Tablespace命令,而完全不需要制定涉及的实际数据文件,系统会自动创建相关的数据文件。如果有指定多个镜像位置的话,还会自动创建重做日志文件或者控制文件的副本。

三、OMF托管文件的局限性以及应对措施。

虽然OMF文件可以提高创建数据文件的自动化能力,如自动命名、自动判断重名问题等等。但是其在具体的使用过程中,也具有一定的局限性。总的来说,OMF托管文件其主要的优势在于你不用担心会创建已经存在的文件(包括数据文件、重做日志文件、控制文件等等)。而其主要的局限在与,通过OMF 托管文件创建的文件,没有容量管理和平衡I/O方面的优点。为此对后续系统的性能等等方面会有一定的影响。在实际工作中,OMF托管文件往往不是单独使用,而是结合Oracle的另一项功能ASM来使用。ASM(自动存储管理)是对OMF托管文件管理功能的一个有效补充。

四、OMF与ASM结合使用的注意点。

通常情况下,OMF无法平衡I/O和容量管理的功能。这方面的缺陷可以通过ASM自动存储管理机制来弥补。两者在结合使用的过程中,需要关注如下内容。

第一是裸设备的相关问题。裸设备指的是没有使用文件系统的存储设备。在这种设备上保存数据,其好处是可以提高系统的性能。而其权限就是维护比较困难。这里需要注意的是,ASM自动存储管理其是支持裸设备的,为此就不存在异步I/O或者直接I/O等问题。而对于OMF来说,其大部分情况下还是在文件系统的背景下操作的。所以从应用范围来说,ASM要比OMF功能来的大。在具体配置时,这需要特别注意的。

第二是跨平台的问题。Oracle数据库是一个跨平台的管理系统,其即可以在微软的操作系统上运行,也可以在Linux等操作系统上部署。但是由于不同操作系统之间,其内核等方面存在着比较大的差异,在实际配制过程中也会遇到很多不同的地方。在使用OMF功能与ASM功能的时候,也会遇到这种问题。这里需要注意的是,ASM是专门构建用于简化DBA工作的管理工具。其提供了跨越所有服务器和存储平台的存储管理界面。

也就是说,ASM其可以支持多个操作系统平台。或者说,在不同的平台上,在操作上其基本是相同的。而对于OMF托管文件来说,则没有这么简单。因为OMF过关文件这个功能,更像是在跟操作系统打交道,如指定文件存储位置等等,所以受操作系统的影响比较大。最简单的一个例子,就是Unix等操作系统与Windows等操作系统在文件路径的表示上,就有很大的差异。在具体配置时,需要注意这方面的差异,并选择合适的配置方法。

第三两者分工不同。在实际工作中,笔者发现很多管理员,特别是第一次接触Oracle数据库的管理人员(如从SQLServer转到 Oracle),他们在这方面会有一个误解。OMF托管文件,其具有自动管理数据文件的功能。但是这个自动管理数据文件,并不是说管理其容量。也就是说,OMF托管文件只涉及到数据文件的存储路径、数据文件的命名等等。而与存储管理无关。更精确的说,只涉及到存储管理的一小部分。

存储管理从大的范围来说,包含存储的路径、存储的名字、存储容量、I/O等问题。而OMF托管文件只涉及到存储的路径、存储的名字;ASM则涉及到存储容量、I/O等方面的内容。所以这两个功能之间有明显的差异。两者是分工合作,相互补充。为此在实际工作中,往往这两项功能需要同时实现,才能够发挥最佳的效果,以使我们的数据库管理员对数据库文件全面、高效的管理。

【编辑推荐】

【责任编辑:赵鹏 TEL:(010)68476606】

omf多路径 oracle_Oracle数据库使用OMF来简化数据文件的管理相关推荐

  1. omf多路径 oracle_ORACLE OMF

    1.什么是OMF? 实现oracle文件自动管理功能 2.开启OMF 功能 检查是否开启OMF: SQL> show parameter db_create_file_dest NAME     ...

  2. ORACLE数据库、表空间、数据文件之间的关系

    完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组Ora ...

  3. 模拟数据库,表空间和数据文件损坏后的恢复操作

    1环境准备 对数据库做一次全备份: 验证当前的备份文件: 2数据库损坏的恢复 2.1模拟数据库损坏 尝试重启数据库查看报错: 这里需要重点说明的是因为我们用的是CATLOG数据库作为目录数据库,所以即 ...

  4. mysql数据意外删了怎么办_MySQL数据库意外崩溃导致表数据文件损坏无法启动怎么办...

    MySQL数据库意外崩溃导致表数据文件损坏无法启动怎么办 发布时间:2020-07-20 13:45:46 来源:亿速云 阅读:57 作者:小猪 这篇文章主要为大家展示了MySQL数据库意外崩溃导致表 ...

  5. omf多路径 oracle_Oracle OMF管理数据文件

    1.什么是OMF? Oracle managed file的缩写,简单的理解,就是oracle自己管理自己的文件,可以是dbf,redolog 等等,具体可以参考官方文档Adiministrator中 ...

  6. omf多路径 oracle_Oracle OMF 功能详解

    OMF,全称是Oracle_Managed Files,即Oracle文件管理,使用OMF可以简化管理员的管理工作,不用指定文件的名字.大小.路径,其名字,大小,路径由oracle 自动分配.在删除不 ...

  7. 用Derby数据库读取加密的DAT数据文件(一)

    应某些需要,需要读取从Derby数据库中导出的dat加密文件.所以喽,现在手上有dat文件,要正确读取就要反过来. 后来发现需要开始做一些准备工作,比如:Derby的下载安装,环境的配置,必要时还要下 ...

  8. php数据库缓存类,常见php数据文件缓存类汇总

    本文实例汇总了常见php数据文件缓存类.分享给大家供大家参考.具体分析如下: 数据文件缓存的做法我们常用的有php文件缓存与利用memcache来缓存数据,下面面我分别总结了memcache缓存数据与 ...

  9. oracle重新恢复数据库,重新安装oracle根据原数据文件恢复数据库

    个人重新安装系统,数据文件保留,在重新安装oracle 后,需要根据现有文件恢复现有数据库. 假设我的数据库数据文件在D:\oracle\product\10.2.0\oradata\orcl\目录下 ...

最新文章

  1. Qt学习(五):TCP通信
  2. 【数据竞赛】竞赛宝典黑科技:基于开源结果的高端融合策略
  3. 用仿ActionScript的语法来编写html5——终篇,LegendForHtml5Programming1.0开源库件
  4. 硬盘安装工具cgi_PE系统(U盘安装)
  5. VSS的基本使用操作介绍
  6. 浙江农林大学计算机分数线,浙江农林大学各专业录取分数线
  7. Prometheus邮件报警设置
  8. 用户验收测试要求目标
  9. linux进程signal,Linux Signal 示例
  10. oracle lsnrctl命令,oracle 中的lsnrctl命令
  11. 百度Java面试题前200页和答案
  12. 运行的程序总是莫名被 Killed
  13. 离线下载实时最新版adobe flash插件地址
  14. 一文搞懂【Web 前端】HTML 与 CSS 基础知识
  15. 【STM32H7教程】第65章 STM32H7的低功耗串口LPUART基础知识和HAL库API
  16. 模电中NPN和PNP导通条件
  17. 用Python批量裁剪图片
  18. 【高效办公】手机和PC文件共享教程
  19. Calca for Windows(文本编辑器/符号计算器)
  20. 回归算法实例一:家庭用电预测——时间与功率、功率与电流、时间与电压之间的关系

热门文章

  1. ES6中的entries
  2. 儿子懂得心痛他爸爸了
  3. Keil编程环境背景颜色--护眼色
  4. Help Hanzo(LightOJ - 1197)(欧拉筛 + 思维)
  5. Oracle调优总结--1(经典实践 重要)
  6. c++怎么判断系统是64位还是32位
  7. c1语言水平要多久,「西班牙留学」零基础到西班牙读语言,多久能到C1?
  8. 【CozeTalk】如何衡量你的人生-人生修炼手册-克莱顿·克里斯坦森
  9. 暑期集训1期11暑期集训一期12阶段性测验
  10. python opencv制作隐藏图片