Oracle Managed Files是一个文件命名策略,让你可以按照数据库对象而不是文件名来指定操作。Oracle 管理的文件简化了Oracle数据库的管理,减少错误和降低浪费的磁盘空间。
使用OMF, 可以指定数据库在数据库对象级别自动创建,命名和管理文件的文件系统目录。例如,只需要指定你想创建一个表空间,不需要使用DATAFILE子语句指定表空间的数据文件的名称和路径。
数据库内部使用标准文件系统接口根据需要来创建和删除以下数据库结构的文件:
1) 表空间
2) redo日志文件
3) 控制文件
4) 归档日志
5) 块更改跟踪文件
6) 闪回日志
7) RMAN备份
OMF为DBA消除了直接管理数据库中的操作系统文件的需要。Oracle ASM要求Oracle管理的文件(OMF)。
使用用户管理的文件(user-managed files),DBA直接管理数据库中的操作系统文件。DBA做关于文件结构和命名的决定。例如,当创建一个表空间时,你设置表空间数据文件的名称和路径。
通过初始化参数,你指定特定的文件类型的文件系统目录。OMF特性确保数据库创建一个唯一的文件和当不再需要时删除它。
这个特性不影响管理文件比如跟踪文件,审计文件和alert日志的创建和命名。
OMF不会消除已经存在的功能。可以作为OMF创建新的文件的同时手动管理旧的文件。因此,数据库可以混合使用Oracle管理的文件和用户管理的文件。
1.启用创建和使用Oracle管理的文件(OMF)
下表列出可以启用OMF使用的初始化参数。
初始化参数 | 描述 |
---|---|
DB_CREATE_FILE_DEST | 定义创建操作中没有指定文件时数据库创建数据文件或临时文件的缺省文件系统目录的位置或Oracle ASM磁盘组。同时也作为redo日志文件和控制文件的缺省位置,如果没有指定DB_CREATE_ONLINE_LOG_DEST_n参数的话。 |
DB_CREATE_ONLINE_LOG_DEST_n | 定义创建操作中没有指定文件时数据库创建redo日志文件和控制文件的缺省文件系统目录的位置或Oracle ASM磁盘组。通过更改n值,可以多次使用初始化参数,n指定redo日志或控制文件的多路复用拷贝。可以指定多达5个多路复用拷贝。 |
DB_RECOVERY_FILE_DEST | 定义快速恢复区域的位置,数据库没有使用format选项创建的RMAN备份,没有配置其它本地目的地的归档日志和闪回日志的缺省的文件系统目录或Oracle ASM磁盘组。同时也作为redo日志文件和控制文件或redo日志和控制文件的多路复用拷贝的缺省位置,如果没有指定DB_CREATE_ONLINE_LOG_DEST_n参数的话。当指定这个参数时,DB_RECOVERY_FILE_DEST_SIZE初始化参数也必须指定。 |
这些参数指定的文件系统目录必须已经存在,数据库不会创建它们。目录也必须拥有权限允许数据库在其中创建文件。
无论何时创建文件的操作没有明确指定位置时,使用缺省的位置。数据库创建文件名称和由此创建的文件属于Oracle管理的文件。
这些初始化参数是动态的,可以使用ALTER SYSTEM或ALTER SESSION语句来设置。
1.1.设置DB_CREATE_FILE_DEST初始化参数
初始化参数DB_CREATE_FILE_DSET指定重要的数据库文件的位置。
包含DB_CREATE_FILE_DEST初始化参数在初始化参数文件中来指明数据库服务器创建以下文件的缺省位置:
1) 数据文件
2) 临时文件
3) redo日志文件
4) 控制文件
5) 块更改跟踪文件
指定文件系统目录的名称,成为为这些实体创建的文件系统文件的缺省位置。以下示例设置/u01/app/oracle/oradata作为创建Oracle管理的文件(OMF)时使用的缺省目录:
DB_CREATE_FILE_DEST = ‘/u01/app/oracle/oradata’
1.2.设置DB_RECOVERY_FILE_DEST初始化参数
包含DB_RECOVERY_FILE_DEST和DB_RECOVERY_FILE_DEST_SIZE初始化参数在初始化参数文件中来指明快速恢复区域的缺省位置。
快速恢复区域包含:
1) redo日志文件或redo日志文件的多路复用拷贝
2) 控制文件或控制文件的多路复用拷贝
3)RMAN备份(数据文件拷贝,控制文件拷贝,备份片,控制文件自动备份)
4)归档日志
5)闪回日志
指定文件系统目录的名称,成为为这些实体创建的文件系统文件的缺省位置。示例:
DB_RECOVERY_FILE_DEST = ‘/u01/app/oracle/fast_recovery_area’
DB_RECOVERY_FILE_DEST_SIZE = 20G
1.3.设置DB_CREATE_ONLINE_LOG_DEST_n初始化参数
初始化参数DB_CREATE_ONLINE_LOG_DEST_n指定redo日志文件和控制文件的位置。
包含DB_CREATE_ONLINE_LOG_DEST_n初始化参数在初始化参数文件中来指明数据库服务器创建以下文件的缺省位置:
1) redo日志文件
2) 控制文件
指定文件系统目录的名称或Oracle ASM磁盘组,成为为这些实体创建的文件的缺省位置。可以指定多达5个多路复用位置。
只对于redo日志文件和控制文件的创建,这个参数覆写DB_CREATE_FILE_DEST和DB_RECOVERY_FILE_DEST初始化参数指定的任何缺省位置。如果没有指定参数DB_CREATE_FILE_DEST,但指定了DB_CREATE_ONLINE_LOG_DEST_n参数,那么只有redo日志文件和控制文件可以被创建为Oracle管理的文件(OMF)。
建议至少指定2个参数,例如:
DB_CREATE_ONLINE_LOG_DEST_1 = ‘/u02/oradata’
DB_CREATE_ONLINE_LOG_DEST_2 = ‘/u03/oradata’
这允许多路复用(multiplexing),如果其中一个目的地发生故障,它能为redo日志和控制文件提供更高的容错性。
具体使用OMF创建各种数据库相关文件的方法,请参考以下章节:
来源:《Oracle Database Database Administrator’s Guide, 19c》