OMF,全称是Oracle_Managed Files,即Oracle文件管理,使用OMF可以简化管理员的管理工作,不用指定文件的名字、大小、路径,其名字,大小,路径由oracle 自动分配。在删除不再使用的日志、数据、控制文件时,OMF也可以自动删除其对应的OS文件。

OMF支持下列文件的自动管理:

表空间

日志文件(联机)

控制文件

前提条件:需要为这些类型文件设定相关参数。

一.数据文件的OMF管理

数据文件管理参数:db_create_file_dest

db_create_file_dest:Oracle创建数据文件、临时文件时,在未明确指定路径的情况下的缺省路径,当db_create_online_log_dest_n未指定时,

也作为联机日志文件和控制文件的缺省路径。

假定需要创建表空间s及数据文件

SQL> CREATE TABLESPACE s;  /*收到了错误信息*/

create tablespace s

*

ERROR at line 1:

ORA-02199: missing DATAFILE/TEMPFILE clause

SQL> show parameter db_create_file  /*查看db_create_file_dest参数*/

NAME                                TYPE        VALUE

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

db_create_file_dest                  string

--设定db_create_file_dest参数

SQL> ALTER SYSTEM SET db_create_file_dest = '/u01/app/oracle/oradata/orcl';

System altered.

--设定参数后,创建成功

SQL> CREATE TABLESPACE s;

Tablespace created.

SQL> SELECT NAME FROM v$datafile;  /*可以看到ORCL/datafile/o1_mf_s_5vrl1t7h_.dbf是Oralce自动创建的数据文件*/

NAME

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

/u01/app/oracle/oradata/orcl/system01.dbf

/u01/app/oracle/oradata/orcl/undotbs01.dbf

/u01/app/oracle/oradata/orcl/sysaux01.dbf

/u01/app/oracle/oradata/orcl/users01.dbf

/u01/app/oracle/oradata/orcl/example01.dbf

/u01/app/oracle/oradata/orcl/Test.dbf

/u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_s_5vrl1t7h_.dbf

/*查看物理文件,缺省为MB*/

SQL> ho ls -lh /u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_s_5vrl1t7h_.dbf

-rw------- 1 oracle oinstall 101M Apr  7 16:54 /u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_s_5vrl1t7h_.dbf

SQL> CREATE TABLESPACE t DATAFILE SIZE 10m;  /*也可指定数据文件的大小为MB*/

Tablespace created.

SQL> SELECT NAME FROM v$datafile;

NAME

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

/u01/app/oracle/oradata/orcl/system01.dbf

/u01/app/oracle/oradata/orcl/undotbs01.dbf

/u01/app/oracle/oradata/orcl/sysaux01.dbf

/u01/app/oracle/oradata/orcl/users01.dbf

/u01/app/oracle/oradata/orcl/example01.dbf

/u01/app/oracle/oradata/orcl/Test.dbf

/u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_s_5vrl1t7h_.dbf

/u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_t_5vrlgqtl_.dbf

SQL> ho ls -lh /u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_t_5vrlgqtl_.dbf

-rw------- 1 oracle oinstall 11M Apr  7 17:01 /u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_t_5vrlgqtl_.dbf

--删除表空间时,对于使用了OMF生成的数据文件将随着表空间的删除一起被删除

SQL> DROP TABLESPACE t;

Tablespace dropped.

--查看物理文件,已经不存在

SQL> ho ls -lh /u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_t_5vrlgqtl_.dbf

ls: /u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_t_5vrlgqtl_.dbf: No such file or directory

--对于未采用OMF来创建的表空间,在删除表空间之后,其数据文件并没有删除,v$datafile视图中被删除

--下面是未使用OMF创建的x表空间及数据文件

SQL> CREATE TABLESPACE x DATAFILE '/u01/app/oracle/oradata/orcl/x.dbf' SIZE 10m;

Tablespace created.

SQL> SELECT NAME FROM v$datafile;

NAME

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

/u01/app/oracle/oradata/orcl/system01.dbf

/u01/app/oracle/oradata/orcl/undotbs01.dbf

/u01/app/oracle/oradata/orcl/sysaux01.dbf

/u01/app/oracle/oradata/orcl/users01.dbf

/u01/app/oracle/oradata/orcl/example01.dbf

/u01/app/oracle/oradata/orcl/Test.dbf

/u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_s_5vrl1t7h_.dbf

/u01/app/oracle/oradata/orcl/x.dbf

SQL> DROP TABLESPACE x;

Tablespace dropped.

SQL> SELECT NAME FROM v$datafile; /*视图中已不存在x.dbf的数据文件*/

NAME

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

/u01/app/oracle/oradata/orcl/system01.dbf

/u01/app/oracle/oradata/orcl/undotbs01.dbf

/u01/app/oracle/oradata/orcl/sysaux01.dbf

/u01/app/oracle/oradata/orcl/users01.dbf

/u01/app/oracle/oradata/orcl/example01.dbf

/u01/app/oracle/oradata/orcl/Test.dbf

/u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_s_5vrl1t7h_.dbf

SQL> ho ls /u01/app/oracle/oradata/orcl/x.dbf  /*操作系统中依然存在*/

/u01/app/oracle/oradata/orcl/x.dbf

--注意:使用OMF的时候会将物理文件删除,应特别注意使用

--使用下面的方法重建x表空间,然后使用including contents and datafiles 彻底删除表空间及物理文件

SQL> CREATE TABLESPACE X DATAFILE '/u01/app/oracle/oradata/orcl/x.dbf' REUSE;

Tablespace created.

SQL> DROP TABLESPACE x INCLUDING CONTENTS AND DATAFILES;

Tablespace dropped.

SQL> ho ls /u01/app/oracle/oradata/orcl/x.dbf

ls: /u01/app/oracle/oradata/orcl/x.dbf: No such file or directory

总结:使用OMF管理文件的方法

1.使用ALTER SYSTEM SET db_create_file_dest = ''设置路径

2.查看刚刚的设置SHOW PARAMETER db_create_file_dest;

3.创建表空间及数据文件CREATE TABLESPACE tablespace_name

4.单独创建表空间CREATE TABLESPACE <> DATAFILE '' SIZE <>;

5.也可以创建undo和temporary tablespace 。CREATE UNDO TABLESPACE tablespace_name ;CREATE TEMPORARY TABLESPACE tablespace_name;

6.删除表空间DROP TABLESPACE tablespace_name ;OMF情况下则删除物理文件,等效于未使用OMF创建,使用INCLUDING CONTENTS AND DATAFILES

删除方式

二.日志文件的OMF管理

日志文件管理参数:db_create_online_log_dest_n

db_create_online_log_dest_n:Oracle创建联机日志文件和控制文件时,在未明确指定路径的情况下的缺省路径

--查看日志文件的参数,下面是未作设置的db_create_online参数

SQL> SHOW PARAMETER db_create_online

NAME                                TYPE        VALUE

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

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,一般情况下我们仅仅需要个成员即可。因为在此设定个参数文件

--下面是未设定的情况下创建日志文件,则默认为在数据文件路径及闪回区各放一个文件,因为上述两个路径都是OMF路径,如下:

SQL> SELECT MEMBER FROM v$logfile;

MEMBER

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

/u01/app/oracle/oradata/orcl/redo03.log

/u01/app/oracle/oradata/orcl/redo02.log

/u01/app/oracle/oradata/orcl/redo01.log

/u01/app/oracle/oradata/orcl/ORCL/onlinelog/o1_mf_4_5vtgzjyz_.log

/u01/app/oracle/flash_recovery_area/ORCL/onlinelog/o1_mf_4_5vtgzlhb_.log

SQL> SHOW PARAMETER db_create_file_dest

NAME                                TYPE        VALUE

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

db_create_file_dest                  string      /u01/app/oracle/oradata/orcl

SQL> show parameter db_recovery_file_dest

NAME                                TYPE        VALUE

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

db_recovery_file_dest                string      /u01/app/oracle/flash_recovery

_area

db_recovery_file_dest_size          big integer 2G

--将日志文件存放到指定的disk1,disk2下面

SQL> ho mkdir /u01/app/oracle/disk1

SQL> ho mkdir /u01/app/oracle/disk2

SQL> ALTER SYSTEM SET db_create_online_log_dest_1 = '/u01/app/oracle/disk1';

System altered.

SQL> ALTER SYSTEM SET db_create_online_log_dest_2 = '/u01/app/oracle/disk2';

System altered.

SQL> ALTER DATABASE ADD logfile;

Database altered.

SQL> SELECT * FROM v$logfile; /*可以看到新的日志文件放到disk1,disk2下面*/

GROUP# STATUS  TYPE    MEMBER                                  IS_

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

3        ONLINE  /u01/app/oracle/oradata/orcl/redo03.log  NO

2        ONLINE  /u01/app/oracle/oradata/orcl/redo02.log  NO

1        ONLINE  /u01/app/oracle/oradata/orcl/redo01.log  NO

4        ONLINE  /u01/app/oracle/oradata/orcl/ORCL/online NO

log/o1_mf_4_5vtgzjyz_.log

4        ONLINE  /u01/app/oracle/flash_recovery_area/ORCL YES

/onlinelog/o1_mf_4_5vtgzlhb_.log

5        ONLINE  /u01/app/oracle/disk1/ORCL/onlinelog/o1_ NO

mf_5_5vtlpxo0_.log

GROUP# STATUS  TYPE    MEMBER                                  IS_

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

5        ONLINE  /u01/app/oracle/disk2/ORCL/onlinelog/o1_ NO

mf_5_5vtlpz4d_.log

SQL> alter database drop logfile group 5;

Database altered.

/*删除日志文件组*/

SQL> ALTER DATABASE DROP logfile GROUP 4;

Database altered.

SQL> SELECT group#,member FROM v$logfile;

GROUP# MEMBER

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

3 /u01/app/oracle/oradata/orcl/redo03.log

2 /u01/app/oracle/oradata/orcl/redo02.log

1 /u01/app/oracle/oradata/orcl/redo01.log

SQL> ho ls /u01/app/oracle/disk1/ORCL/onlinelog/o1_mf_5_5vtlpxo0_.log;

ls: /u01/app/oracle/disk1/ORCL/onlinelog/o1_mf_5_5vtlpxo0_.log: No such file or directory

总结:

1.当定义了db_recovery_file_dest 和db_create_file_dest路径,且没有定义db_create_online_log_dest_n的时候,

则OMF将日志文件存放在db_recovery_file_dest和db_create_file_dest路径下,而且日志组下为个成员

2.当定义了db_create_online_log_dest_1则将日志文件存放到db_create_online_log_dest_1

和db_create_file_dest路径下,且日志组下为个成员

3.当定义了db_create_online_log_dest_1和db_create_online_log_dest_2则存放到

db_create_online_log_dest_1和db_create_online_log_dest_2下

4.当定义了多个db_create_online_log_dest_n,则为每个组n个日志成员,且多路复用

5.增加日志文件的方法;

alter database add logfile;

alter database add logfile [group n];

alter database add logfile member '

/*add logfile member这个方法仅使用未使用OMF的日志文件,对于已经运用了OMF的日志组,无法使用该功能添加日志文件*/

6.删除日志文件组时,对于OMF的日志文件组,其对应的物理文件同时被删除

alter database drop logfile group [n]

三.使用OMF管理控制文件

使用OMF管理控制文件同管理日志文件类似,主要涉及到的也是db_create_online_log_dest_n参数

即控制文件默认存放在db_create_online_log_dest_n下,当定义了一个db_create_online_log_dest_n

则生成一个控制文件,当定义了多了则生成多个控制文件。

前提条件:去掉control_files参数

alter system reset control_files scope = spfile sid = '*';

以下是预留的OMF路径:

SQL> SHOW PARAMETER db_create

NAME                                TYPE        VALUE

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

db_create_file_dest                  string      /u01/app/Oracle/oradata/orcl

db_create_online_log_dest_1          string      /u01/app/oracle/disk1

db_create_online_log_dest_2          string      /u01/app/oracle/disk2

db_create_online_log_dest_3          string

db_create_online_log_dest_4          string

db_create_online_log_dest_5          string

SQL> show parameter db_recovery_file

NAME                                TYPE        VALUE

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

db_recovery_file_dest                string      /u01/app/oracle/flash_recovery

_area

db_recovery_file_dest_size          big integer 2G

总结

参数                                        适用范围

db_create_file_dest_size          datafile,create tablespace<>

db_create_online_log_dest_n      logfile ,controlfile

db_recovery_file_dest            rman, archivelog,onlinelog

http://www.linuxidc.com/Linux/2013-11/92490.htm

omf多路径 oracle_Oracle OMF 功能详解相关推荐

  1. omf多路径 oracle_ORACLE OMF

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

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

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

  3. IOS视频编辑功能详解上篇-添加水印

    前言 用代码在简单视频编辑中,主要就是加美颜.水印(贴图).视频截取.视频拼接.音视频的处理,在美颜中,使用GPUImage即可实现多种滤镜.磨皮美颜的功能,并且可以脸部识别实时美颜等功能,这个有很多 ...

  4. wazuh agent功能详解

    wazhu之agent功能详解 一.日志数据收集 日志数据收集是从服务器或设备生成的记录中收集的实时过程.此组件可以通过文本文件或Windows事件日志接收日志.它还可以通过远程syslog直接接收日 ...

  5. CorelDRAW Graphics Suite2023新功能详解下载教程

    CorelDRAW2023版本有效快速创作,充分体现设计者创意,一款全面图形设计软件.应用广告宣传.艺术作品.纺织业等各个行业. CorelDRAW Graphics Suite涵盖了全部CorelD ...

  6. python编写病毒扫描器_python实现集中式的病毒扫描功能详解

    本文实例讲述了python实现集中式的病毒扫描功能.分享给大家供大家参考,具体如下: 一 点睛 本次实践实现了一个集中式的病毒扫描管理,可以针对不同业务环境定制扫描策略,比如扫描对象.描述模式.扫描路 ...

  7. procreate功能详解_转载

    登录 在 iPad 上拥有一支「万能」画笔:Procreate 画笔功能详解 DerQi 2020 年 01 月 03 日 Procreate 是目前 iPad 上表现最出色的绘图工具之一,不仅仅体现 ...

  8. IOS视频编辑功能详解下篇-视频裁剪、视频拼接、音视频的处理

    转自:http://www.hudongdong.com/ios/550.html 前言 用代码在简单视频编辑中,主要就是加美颜.水印(贴图).视频截取.视频拼接.音视频的处理,在美颜中,使用GPUI ...

  9. deadline不用文件服务器可以么,易万盒子|渲染农场 Deadline 的功能详解与渲染流程...

    原标题:易万盒子|渲染农场 Deadline 的功能详解与渲染流程 Frantic Film Deadline 安装包中有多个安装程序,如下图: 其中:DeadlineClientInstaller ...

最新文章

  1. mvc手把手教你写excel导入
  2. java中mypoiexception_Java中使用POI读取大的Excel文件或者输入流时发生out of memory异常参考解决方案...
  3. f5 2017.09.03故障
  4. MATLAB之界面介绍
  5. java地址值每个字母,Java--------在控制台输入一句英语, 获得每个字母出现的次数...
  6. 【JAVA多线程学习笔记】(1)实现线程的方式 线程生命周期 操作线程的方法
  7. 猜1-10的数字python脚本
  8. 具有Azure功能的无服务器API
  9. jsp引入页面,即包含文件的两种方法介绍
  10. 比特币白皮书 Bitcoin: A Peer-to-Peer Electronic Cash System
  11. arcgis合并tif影像_ARCGIS多种影像裁剪
  12. 【NOIP2009】【codevs1174】靶形数独
  13. java set的作用,Java的自学之路-构造方法 的作用以及与set方法的区别
  14. 企业发展如何启动云的力量
  15. Windows workflow foundation之旅(三)——指南2(创建状态机工作流)(上)
  16. 使用librtmp推h264、aac实时流
  17. 【软工】week3-个人阅读作业-软件案例分析
  18. 003-Java技术体系
  19. 筛选过的 Code rule
  20. RAW WAR WAW 数据相关性

热门文章

  1. Tribon快捷按钮图标格式
  2. 第二季《中国好声音》
  3. 权威大赛|2022 CCF大数据与计算智能大赛火热报名中
  4. TiDB 在安信证券资产中心与极速交易场景的实践
  5. DevOps自动化测试的原则和实践
  6. 请不要在“微服务”的狂热中迷失自我!
  7. MySQL安全分析:缓解MySQL零日漏洞
  8. Leetcode 2233. Maximum Product After K Increments
  9. 软考中项第三章 信息系统集成专业知识
  10. 谷歌 Jason Wei | AI 研究的 4 项基本技能