1 说明

Oracle ASM提供了面向数据库的存储管理,包括Oracle ASM flex和扩展的磁盘组。

一个Oracle ASM flex磁盘组是一个支持Oracle ASM文件组的磁盘组类型。Oracle ASM文件组描述了属于数据库的一组文件,并允许在文件组(或数据库)上执行存储管理。一个Oracle ASM扩展磁盘组具有flex磁盘组的所有特性,特定的设计在扩展(或扩展)集群环境中具有很高的可用性。

2 关于Oracle ASM Flex磁盘组

Oracle ASM flex磁盘组支持Oracle ASM文件组和quota(配额)组。

一般来说,flex磁盘组允许用户在数据库的粒度上管理存储,此外还可以在磁盘组级别上管理存储。

2.1 以下是flex磁盘组的特点:

  • flex磁盘组中的文件冗余是灵活的,可以在数据库级别上启用存储管理。
  • flex磁盘组的文件组用于描述数据库文件。
  • 每个数据库都有自己的文件组,并且存储管理可以在文件组级别进行,除了磁盘组级别。例如,可以为不同的文件组指定不同的冗余和rebalance设置。文件组与quota(配额)组相关联,从而实现了简单的quota(配额)管理。
  • flex磁盘组的冗余设置被设置为flex冗余,flex磁盘组的每个文件组都有自己的冗余属性设置。
  • flex磁盘组通常可以容忍两个磁盘故障,与HIGH冗余磁盘组冗余度相同。
  • 但是,如果flex磁盘组少于五个故障组,那么它只能容忍一个故障。
  • 数据库所容忍的故障依赖于flex磁盘组中其关联文件组的冗余设置。
  • flex磁盘组需要至少三个故障组。
  • 迁移(转换)到一个flex磁盘组可以为一个NORMAL或HIGH冗余磁盘组执行,并将转换冗余转换为ALTER DISKGROUP SQL语句的flex子句。不能将EXTERNAL冗余磁盘组迁移到FLEX冗余磁盘组。
  • 当迁移到flex磁盘组时,磁盘组必须至少有三个故障组,并且在迁移期间必须以限制模式MOUNT(MOUNTED RESTRICTED)中。
  • 分配单元(AU)的默认大小为4 M。
  • 实际上已分配的元数据(VAM)被启用并需要一个flex磁盘组。
  • COMPATIBLE.ASM 和COMPATIBLE.RDBMS磁盘组属性必须设置为12.2或更高。

注:V$ASM_DISKGROUP试图中REQUIRED_MIRROR_FREE_MB 和USABLE_FILE_MB列对于flex磁盘组是没有值的。

3 具体例子

3.1 创建flex磁盘组

SQL> CREATE DISKGROUP flex_data FLEX REDUNDANCY DISK my_disk_discovery_path;

3.2 将NORMAL冗余的磁盘组迁移到flex磁盘组中

SQL> ALTER DISKGROUP data MOUNT RESTRICTED;
SQL> ALTER DISKGROUP data CONVERT REDUNDANCY TO FLEX;

更多内容,查看官方文档:
​​​https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ostmg/asm-filegroups.html#GUID-B2AC119F-BFFE-4288-A721-E8B97D574632​