Oracle-Managed Files

本文介绍了Oracle9i中引入的Oracle管理文件(OMF)功能,包括OMF的基本原理、参数配置方法及其如何简化数据库文件的管理。通过OMF,数据库文件如数据文件、日志文件等的创建、删除变得更为自动化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、操作系统管理文件
1、在Oracle8i中:

1)、Oracle8i数据库中,数据库文件的创建、删除、修改都与操作系统有关,受到操作系统的限制。数据库管理员需要准确的知道存储数据文件的磁盘、目录及名称,并需要作出存储规划。如果是多个数据库管理员管理同一个数据库服务器,由于各自对于文件名的命令习惯不同,使得数据库文件系统的统一管理优为复杂。

2)、在Oracle8i中,系统使用操作系统管理文件,数据库管理员必须将数据库文件存储在正确的路径、并确保所有的文件名是唯一的。如果在同一服务器中有多个数据库,则绝不能将多个数据库的文件混在一起。通常,数据库管理员在经过一段时间后,很容易将数据库文件存错位置,如果数据库文件被误操作删除,则必须进行数据库恢复。在表空间、或日志文件组删除后,如果没有删除相应的物理文件,则造成磁盘空间的浪费。

2、在Oracle9i中:
1)、在Oracle9i中,数据库可以使用简单统一的数据库文件与表空间的管理方法,即Oracle管理文件OMFs,从而免去数据库管理员对于操作系统中数据库文件的管理。

2)、使用Oracle管理文件时,当创建数据库时,系统自动创建系统数据文件、日志文件、控制文件。在创建表空间、或增加日志文件组时,系统自动创建数据文件及日志文件,并存储在规定的目录,在删除表空间、或日志文件组时,则系统自动删除表空间对应的全部数据文件及日志成员文件,从而避免了误删除物理文件,简化了数据库的管理,保证了数据库的安全运行。

二、什么是Oracle管理文件?
在Oracle9i中:

1)、当创建数据库时系统自动创建数据文件、日志文件、控制文件。
2)、在创建表空间时,系统自动创建数据文件,并存储在规定的目录。
3)、在增加日志文件组时,系统自动创建日志成员文件。
4)、在删除表空间、日志文件组时,则系统自动删除其对应的物理磁盘文件。

三、Oracle管理文件参数设置
1)、参数DB_CREATE_FILE_DEST
用于确定创建下列文件时缺省路径:   
Datafiles    
Tempfiles
例如:
DB_CREATE_FILE_DEST = ‘/u01/oradata/sales’
指定使用Oracle管理的文件路径。

2)、参数DB_CREATE_ONLINE_LOG_DEST_ n
用于确定创建下列文件时缺省路径:
Online redo log files
Control files
例如:DB_CREATE_ONLINE_LOG_DEST_1 = '/u01/oradata/sales’

3)、至少定义两个参数:
DB_CREATE_ONLINE_LOG_DEST_ n
DB_CREATE_ONLINE_LOG_DEST_1 = '/u01/oradata/sales’
DB_CREATE_ONLINE_LOG_DEST_2 = '/u02/oradata/sales‘

4)、DB_CREATE_ONLINE_LOG_DEST_ n没有指定时,使用参数DB_CREATE_FILE_DEST指定的路径。

5)、在没有定义参数:DB_CREATE_FILE_DEST时,则参数DB_CREATE_ONLINE_LOG_DEST_ n只适用于日志文件、控制文件。

6)、同时定义两个参数时: DB_CREATE_ONLINE_LOG_DEST_ n将覆盖参数DB_CREATE_FILE_DEST

7)、在参数文件中设置以下两个参数:
DB_CREATE_ONLINE_LOG_DEST_ n
DB_CREATE_FILE_DEST

8)、可以使用命令 ALTER SYSTEM、ALTER SESSION动态修改参数DB_CREATE_ONLINE_LOG_DEST_ n、DB_CREATE_FILE_DEST

9)、Oracle管理的缺省文件大小:  
数据文件大小为:100m、属性为AUTOEXTEND、UNLIMITED    
日志文件大小为:100m    
临时文件大小为:100m、属性为AUTOEXTEND、UNLIMITED

四、Oracle管理文件格式

1)、数据文件: ora_%t_%u.dbf (Oracle9i Release1)
ora :表示该文件是由Oracle管理的文件    
%t :表示该数据文件所对应的表空间名   
%u :确保该文件名具有唯一性

SQL> select name from v$datafile;
           NAME                       
     ------------------------------------------------------------------------

/u01/app/oracle/product/9.0.1/dbs/sales/system01.dbf

/u01/app/oracle/product/9.0.1/dbs/sales/undotbs01.dbf         

/u01/app/oracle/product/9.0.1/dbs/sales/cwmlite01.dbf      

/u01/app/oracle/product/9.0.1/dbs/sales/drsys01.dbf 

/u01/app/oracle/product/9.0.1/dbs/sales/ora_users_xnyjfd88.dbf

/u01/app/oracle/oradata/sales/ora_finance_xh21p23d.dbf          

/u01/app/oracle/oradata/sales/ora_user1__xh32f211.dbf       

/u01/app/oracle/oradata/sales/ora_test2_xh43d3e4.dbf

/u01/app/oracle/oradata/sales/ora_student_xqwcc23m.dbf


2)、数据文件: o1_mf_%t_%u_.dbf(Oracle9i Release2)
o1_mf :表示该文件是由Oracle管理的文件  
%t :表示该数据文件所对应的表空间名   
%u :确保该文件名具有唯一性

SQL> select name from v$datafile;
           NAME                       
     ------------------------------------------------------------------------

/u01/app/oracle/product/9.2.0/dbs/sales/system01.dbf

/u01/app/oracle/product/9.2.0/dbs/sales/undotbs01.dbf         

/u01/app/oracle/product/9.2.0/dbs/sales/cwmlite01.dbf       

/u01/app/oracle/product/9.2.0/dbs/sales/drsys01.dbf

/u01/app/oracle/product/9.2.0/dbs/sales/o1_mf_users_xnyjfd88.dbf

/u01/app/oracle/oradata/sales/o1_mf_finance_xh21p23d.dbf           

/u01/app/oracle/oradata/sales/o1_mf_user1__xh32f211.dbf        

/u01/app/oracle/oradata/sales/o1_mf_test2_xh43d3e4.dbf

/u01/app/oracle/oradata/sales/o1_mf_student_xqwcc23m.dbf


3)、日志文件: ora_%g_%u.log(Oracle9i Release 1)
文件格式:
%g : 表示该日志文件所在的日志组号              
%u : 确保文件名具有唯一性

SQL> select member from v$logfile;

      MEMBER

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

/u01/oracle/oradata/sales/ora_1_xgqronbg.log

/u02/oracle/oradata/sales/ora_1_xgqrp3jf.log

/u03/oracle/oradata/sales/ora_2_xgqrpmxm.log

/u04/oracle/oradata/sales/ora_2_xgqrq4bt.log


4)、日志文件: o1_mf_%g_%u.log (Release 2)
文件格式:  
%g : 表示该日志文件所在的日志组号              
%u : 确保文件名具有唯一性

SQL> select member from v$logfile;

      MEMBER

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

/u01/oracle/oradata/sales/o1_mf_1_xgqronbg.log

/u02/oracle/oradata/sales/o1_mf_1_xgqrp3jf.log

/u03/oracle/oradata/sales/o1_mf_2_xgqrpmxm.log

/u04/oracle/oradata/sales/o1_mf_2_xgqrq4bt.log


5)、控制文件: ora_%u.ctl(Release 1)                
ora :表示该文件是Oracle管理的文件               
%u :确保该文件名具有唯一性

 SQL>select name fromv$controlfile;
       NAME
 -------------------------------------------
 /u01/oracle/oradata/sales/ora_xgqrolr6.ctl
 /u02/oracle/oradata/sales/ora_xgqromj9.ctl   


6)、控制文件: o1_mf_%u.ctl(Release 2)               
o1_mf :表示该文件是Oracle管理的文件                   
%u :确保该文件名具有唯一性

 SQL>select name fromv$controlfile;
       NAME
 -------------------------------------------
 /u01/oracle/oradata/sales/o1_mf_xgqrolr6.ctl
 /u02/oracle/oradata/sales/o1_mf_xgqromj9.ctl  

7)、临时文件: ora_%t_%u.tmp (Release 1)
文件格式:/u01/oradata/payroll/ora_temp1_6dygh80r.tmp
其中,%t:表空间名(8个字符)%u:8个字符


8)、临时文件: o1_mf_%t_%u.tmp (Release 2)

文件格式:/u01/oradata/payroll/o1_mf_temp1_6dygh80r.tmp
其中,%t:表空间名(8个字符)%u:8个字符


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值