ORACLE OMF介绍
先看Oracle 官方解释
Oracle managed file (OMF)
A file that is created automatically by the Oracle database server when it is needed and automatically deleted when it is no longer needed.
如何判断你的数据库是否为支持OMF
SQL> show parameter db_create_file_dest;
NAME
TYPE
VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest
string
如果Value 为空则不支持,有值则支持。
如何设置DB 支持?
修改初始化参数文件
[oracle@itc-test9 dbs]more initOCM.ora
.......
*.user_dump_dest='/disk/oracle/admin/OCM/udump'
db_create_file_dest = '/disk/oracle/oradata'
使用 ALTER SYSTEM 命令动态设置
SQL> alter system set db_create_file_dest='/disk/oracle/oradata ;
System altered.
OMF有什么用呢?
我大体总结一下就下面几点:
1:创建Tablespace 时不需要写数据文件名称和大小 (default 100M,自动增长,Autoextend 为unlimited)
SQL> create tablespace omf;
Tablespace created.
Os:
[oracle@itc-test9 datafile]pwd
/disk/oracle/oradata/OCM/datafile
[oracle@itc-test9 datafile]ll
total 102512
-rw-r----- 1 oracle dba 104865792 Apr 29 16:13 o1_mf_omf_4zj30b2p_.dbf
创建数据文件属性:
Name /disk/oracle/oradata/OCM/datafile/o1_mf_omf_4zj30b2p_.dbf
Tablespace OMF
Status Online
File Size (KB) 102400
AutoExtend Yes
Increment 100MB
Maximum File Size 32767MB
2: 向Tablespace 添加文件是只使用add datafile 就可以了,参数如1.
SQL> alter tablespace omf add datafile;
Tablespace altered.
Os
[oracle@itc-test9 datafile]ll
total 205024
-rw-r----- 1 oracle dba 104865792 Apr 29 16:13 o1_mf_omf_4zj30b2p_.dbf
-rw-r----- 1 oracle dba 104865792 Apr 29 16:28 o1_mf_omf_4zj3wj0v_.dbf
3: 可动态修改数据库创建文件的位置。
SQL> alter system set db_create_file_dest='/disk/oracle/oradata/OCM' ;
System altered.
不做测试了,和前面一样。
4: 删除Tablespace 时,后面对应的Datafile 在OS一并删除。
SQL> drop tablespace omf;
Tablespace dropped.
[oracle@itc-test9 datafile]ll
total 0
文件一并删除。
==================================================================================
文件创建之后,Oracle就可以分配和命名这些文件。Oracle OMF使用如下的命名转换惯例。默认的文件大小为100M,并按如下格式命名:
where
%u is a unique 8 digit code
%g is the log file group number
%t is the tablespace name
Controlfiles ora_%u.ctl
Redo Log Files ora_%g_%u.log
Datafiles ora_%t_%u.dbf
Temporary Datafilesora_%t_%u.tmp
Oracle9i OMF工具还有一个新的警告日志消息(alert log message),它用来告诉我们OMF数据文件何时发生了改动。下面是关于警告日志的一个例子。
Fri Mar 23 01:44:46 2001
CREATE TABLESPACE omf1 DATAFILE SIZE 10M AUTOEXTEND OFF
Fri Mar 23 01:44:47 2001
Created Oracle managed file /databases/ed25/OMF1/ora_omf1_xcp6rg84.dbf
Completed: CREATE TABLESPACE omf1 DATAFILE SIZE 10M AUTOEXTE
Fri Mar 23 01:45:45 2001
drop tablespace omf1
Fri Mar 23 01:45:45 2001
Deleted Oracle managed file /databases/ed25/OMF1/ora_omf_xcp6rg84.dbf
Completed: drop tablespace omf1
不过也有人认为OMF对于一个专业的DBA来说是鸡肋,呵呵,没有太大的实际意义。
下面来说明一下我认为Oracle OMF 为鸡肋的原因:
1: 创建Tablespace 时不需要写数据文件名称和大小
作为一个DBA 在维护DB 时就应该规划好数据文件存放的位置,命名规则和初始大小。
o1_mf_omf_4zj30b2p_.dbf 这样的文件你能看懂和那个Tablespace有关系嘛,更何况生产环境一般都几十个tablesapce 以上。找对应关系也会在日常维护过程中浪费很多时间。
2:向Tablespace 添加文件是只适用add datafile 就可以了
观点如1.
3:动态调整文件存放位置
如果你的数据文件存放位置一直要改的话,还是建议你好好规划一下。
4:连带删除数据文件
SQL> drop tablespace noomf including contents and datafiles;
Tablespace dropped.
使用上面的语句一样能安全快捷的删除。
以上几点我认为Oracle OMF 为鸡肋,玩玩可以在生产环境使用就有点儿戏了。
转自:http://blog.csdn.net/wh62592855/article/details/4803698
先看Oracle 官方解释
Oracle managed file (OMF)
A file that is created automatically by the Oracle database server when it is needed and automatically deleted when it is no longer needed.
如何判断你的数据库是否为支持OMF
SQL> show parameter db_create_file_dest;
NAME
------------------------------------ ----------- ------------------------------
db_create_file_dest
如果Value 为空则不支持,有值则支持。
如何设置DB 支持?
修改初始化参数文件
[oracle@itc-test9 dbs]more initOCM.ora
.......
*.user_dump_dest='/disk/oracle/admin/OCM/udump'
使用 ALTER SYSTEM 命令动态设置
SQL> alter system set db_create_file_dest='/disk/oracle/oradata ;
System altered.
OMF有什么用呢?
我大体总结一下就下面几点:
1:创建Tablespace 时不需要写数据文件名称和大小 (default 100M,自动增长,Autoextend 为unlimited)
SQL> create tablespace omf;
Tablespace created.
Os:
[oracle@itc-test9 datafile]pwd
/disk/oracle/oradata/OCM/datafile
[oracle@itc-test9 datafile]ll
total 102512
-rw-r-----
创建数据文件属性:
Name
Tablespace
Status
File Size (KB)
AutoExtend
Increment
Maximum File Size
2:
SQL> alter tablespace omf add datafile;
Tablespace altered.
Os
[oracle@itc-test9 datafile]ll
total 205024
-rw-r-----
-rw-r-----
3: 可动态修改数据库创建文件的位置。
SQL> alter system set db_create_file_dest='/disk/oracle/oradata/OCM' ;
System altered.
不做测试了,和前面一样。
4: 删除Tablespace 时,后面对应的Datafile 在OS一并删除。
SQL> drop tablespace omf;
Tablespace dropped.
[oracle@itc-test9 datafile]ll
total 0
文件一并删除。
==================================================================================
文件创建之后,Oracle就可以分配和命名这些文件。Oracle OMF使用如下的命名转换惯例。默认的文件大小为100M,并按如下格式命名:
where
%u is a unique 8 digit code
%g is the log file group number
%t is the tablespace name
Controlfiles ora_%u.ctl
Redo Log Files ora_%g_%u.log
Datafiles ora_%t_%u.dbf
Temporary Datafilesora_%t_%u.tmp
Oracle9i OMF工具还有一个新的警告日志消息(alert log message),它用来告诉我们OMF数据文件何时发生了改动。下面是关于警告日志的一个例子。
Fri Mar 23 01:44:46 2001
CREATE TABLESPACE omf1 DATAFILE SIZE 10M AUTOEXTEND OFF
Fri Mar 23 01:44:47 2001
Created Oracle managed file /databases/ed25/OMF1/ora_omf1_xcp6rg84.dbf
Completed: CREATE TABLESPACE omf1 DATAFILE SIZE 10M AUTOEXTE
Fri Mar 23 01:45:45 2001
drop tablespace omf1
Fri Mar 23 01:45:45 2001
Deleted Oracle managed file /databases/ed25/OMF1/ora_omf_xcp6rg84.dbf
Completed: drop tablespace omf1
不过也有人认为OMF对于一个专业的DBA来说是鸡肋,呵呵,没有太大的实际意义。
下面来说明一下我认为Oracle OMF 为鸡肋的原因:
1: 创建Tablespace 时不需要写数据文件名称和大小
作为一个DBA 在维护DB 时就应该规划好数据文件存放的位置,命名规则和初始大小。
o1_mf_omf_4zj30b2p_.dbf 这样的文件你能看懂和那个Tablespace有关系嘛,更何况生产环境一般都几十个tablesapce 以上。找对应关系也会在日常维护过程中浪费很多时间。
2:向Tablespace 添加文件是只适用add datafile 就可以了
观点如1.
3:动态调整文件存放位置
如果你的数据文件存放位置一直要改的话,还是建议你好好规划一下。
4:连带删除数据文件
SQL> drop tablespace noomf including contents and datafiles;
Tablespace dropped.
使用上面的语句一样能安全快捷的删除。
以上几点我认为Oracle OMF 为鸡肋,玩玩可以在生产环境使用就有点儿戏了。
转自:http://blog.csdn.net/wh62592855/article/details/4803698