日本語PDF

Oracle ASMフレックス・ディスク・グループの管理

Oracle ASMでは、フレックス・ディスク・グループおよび拡張ディスク・グループを使用したデータベース指向のストレージ管理を提供します。

Oracle ASMフレックス・ディスク・グループとは、Oracle ASMファイル・グループをサポートするディスク・グループ・タイプです。Oracle ASMファイル・グループは、データベースに属するファイルのグループを表し、ファイル・グループまたはデータベースのレベルでストレージ管理の実行を可能にします。Oracle ASM拡張ディスク・グループには、拡張(ストレッチ)クラスタ環境で使用できるように固有の設計を備えた、フレックス・ディスク・グループのすべての機能があります。

このセクションのトピックは次のとおりです:

Oracle ASMフレックス・ディスク・グループについて

Oracle ASMフレックス・ディスク・グループとは、Oracle ASMファイル・グループおよび割当て制限グループをサポートするディスク・グループ・タイプです。

一般に、フレックス・ディスク・グループを使用すると、ユーザーはディスク・グループ・レベルに加えて、データベースの粒度でストレージを管理できるようになります。

フレックス・ディスク・グループの特性を次に示します。

  • フレックス・ディスク・グループ内のファイルの冗長性は柔軟性があり、データベース・レベルでのストレージ管理を可能にします。

  • フレックス・ディスク・グループのファイル・グループは、データベース・ファイルを表すのに使用されます。

    各データベースには独自のファイル・グループがあり、ディスク・グループ・レベルに加えて、ファイル・グループ・レベルでストレージ管理を実行できます。たとえば、ファイル・グループによって異なる冗長性およびリバランスの設定を指定できます。複数のファイル・グループが1つの割当て制限グループに関連付けられ、割当て管理がしやすくなります。

  • フレックス・ディスク・グループの冗長性設定はFLEX REDUNDANCYに設定され、フレックス・ディスク・グループの各ファイル・グループには独自の冗長性プロパティ設定があります。

  • フレックス・ディスク・グループでは通常、HIGH冗長性のディスク・グループと同様に2つの障害が許容されます。

    ただし、ディスク・グループの障害グループが5つ未満の場合、許容される障害は1つのみです。この制限は、ディスク・グループのクォーラム要件の結果です。

  • データベースによって許容される障害は、フレックス・ディスク・グループ内の関連するファイル・グループの冗長性設定によって決まります。

  • フレックス・ディスク・グループには、少なくとも3つの障害グループが必要です。

  • FLEX REDUNDANCYを指定したディスク・グループに2つの標準障害グループと1つのクォーラム障害グループのみがある場合、フレックス・ディスク・グループのデータベース・ファイルにHIGH REDUNDANCYが選択されている場合でも、データのコピーは2つのみ保存されます。この動作は、標準障害グループが2つしかないことに起因します。ただし、追加の標準障害グループが後で追加された場合、データの3番目のコピーが自動的に作成されます。標準障害グループを追加した後、1つの障害グループが失われ、リバランスが正常に完了すると、2番目の障害グループがオフラインになった後もディスク・グループはマウントされたままにできます。

  • ALTER DISKGROUP SQL文のCONVERT REDUNDANCY TO FLEX句を使用すると、NORMALまたはHIGH冗長性グループに対してフレックス・ディスク・グループへの移行(変換)を実行できます。EXTERNAL冗長性ディスク・グループはFLEX冗長性ディスク・グループに移行できません。

    ノート:

    • フレックス・ディスク・グループに移行する場合、NORMAL冗長性を持つディスク・グループには3つ以上の障害グループ、およびHIGH冗長性を持つディスク・グループには5つ以上の障害グループが必要となります。

    • 制限付きマウントを使用せずに移行する前に、仮想割当てメタデータ(VAM)の移行ディスク・グループ属性を有効にし、移行が完了している必要があります。

  • フレックス・ディスク・グループは、Point-in-Timeデータベース・クローンの作成を可能にします。

    Point-in-Timeクローン・データベースは、基礎となるストレージ・システムではなく、特定のデータベースの完全コピーです。データファイルのみがコピーされます。その他のファイルは、クローンを作成するために必要に応じて作成または参照されます。フレックス・ディスク・グループおよびPoint-in-Timeデータベース・クローンの詳細は、Oracle ASMフレックス・ディスク・グループによるPoint-In-Timeデータベースのクローニングについてを参照してください。

  • 割当て単位(AU)のデフォルト・サイズは、4 Mです。

  • 仮想割当てメタデータ(VAM)は、フレックス・ディスク・グループに対して使用可能であり、必須です。

  • フレックス・ディスク・グループでは、COMPATIBLE.ASMCOMPATIBLE.RDBMSのディスク・グループ属性を12.2以上に設定する必要があります。

  • フレックス・ディスク・グループにOracle ADVMボリュームを作成するには、COMPATIBLE.ADVMディスク・グループ属性を12.2以上に設定する必要があります。

ノート:

V$ASM_DISKGROUPビューのREQUIRED_MIRROR_FREE_MB列およびUSABLE_FILE_MB列はフレックス・ディスク・グループに対する値がないことをレポートします。

次の例は、SQL文を使用して次を実行する方法を示しています。

  • フレックス・ディスク・グループの作成

  • フレックス・ディスク・グループへの通常のディスク・グループの移行

例4-13 CREATE DISKGROUPを使用したフレックス・ディスク・グループの作成

SQL> CREATE DISKGROUP flex_data FLEX REDUNDANCY DISK my_disk_discovery_path;

例4-14 ALTER DISKGROUPを使用したフレックス・ディスク・グループへの標準ディスク・グループの移行

SQL> CREATE DISKGROUP normaltoflex NORMAL REDUNDANCY
  DISK '/devices/diskm*'
  ATTRIBUTE 'au_size'='4M',
    'compatible.asm' = '19.0', 
    'compatible.rdbms' = '19.0',
    'compatible.advm' = '19.0';

Diskgroup created.

SQL> ALTER DISKGROUP normaltoflex CONVERT REDUNDANCY TO FLEX;

Diskgroup altered.

SQL> SELECT name, type FROM V$ASM_DISKGROUP WHERE name = 'NORMALTOFLEX';

NAME                           TYPE
------------------------------ ------
NORMALTOFLEX                   FLEX

Oracle ASMファイル・グループについて

Oracle ASMファイル・グループとは、同じ一連のプロパティおよび特性を共有するファイルのグループです。

ファイル・グループの主な利点は、同じディスク・グループを共有するデータベースそれぞれに異なる可用性を指定できることです。

Oracle ASMファイル・グループのプロパティ・セットには、冗長性、リバランス再構築の優先順位、リバランス指数の制限、クライアントの互換性、ストライプ化、割当て制限グループおよびアクセス制御リストが含まれています。

次に、ファイル・グループに関する重要なノートを示します。

  • ディスク・グループには、少なくとも1つのファイル・グループ(デフォルトのファイル・グループ)が含まれます。

  • ディスク・グループには、複数のファイル・グループを含めることができます。

  • ファイル・グループを含めるには、ディスク・グループにFLEXまたはEXTENDED冗長性が必要です。

  • ディスク・グループには、複数のデータベース(それぞれが別個のファイル・グループを保持)に属するファイルを格納できます。

  • データベースは、1つのディスク・グループに1つのファイル・グループのみ保持できます。

  • データベースは、複数のディスク・グループ(様々なディスク・グループにファイル・グループが複数存在)にまたがってもかまいません。複数のディスク・グループ内の、1つのデータベースに属するファイル・グループはすべて、一貫性のためと簡単に識別できるように同じ名前にします。

  • ファイル・グループは、1つのディスク・グループにのみ属することができます。

  • ファイル・グループは、1つのデータベース、PDB、CDB、ボリュームまたはクラスタのみを表すことができます。

  • フレックス・ディスク・グループ内のOracle ADVMボリュームのファイル・グループは、常に、関連付けられたボリュームの名前を持ちます。1つのファイル・グループ内に存在できるボリュームは1つのみです。

  • ファイル・グループは、1つの割当て制限グループにのみ属することができます。

  • 自動的に作成されたファイル・グループは、汎用割当て制限グループに関連付けられます。

  • データベース、PDBまたはCDBの作成時、既存のファイル・グループに、データベース、PDBまたはCDBのIDまたは名前と一致するクライアントIDまたは名前がある場合は、ファイルを表すのにそのファイル・グループが使用されます。それ以外の場合は、新しいファイル・グループがデータベース、PDBまたはCDBに対して作成されます。

  • データベース作成操作の結果として自動的に作成されるファイル・グループは、システム作成として識別されます。システム作成のこのファイル・グループは、データベースを削除したときに削除されます。ただし、ファイル・グループを手動で作成する場合は、関連するデータベースを削除してもそのファイル・グループは自動的に削除されません。手動で作成したファイル・グループは、明示的に削除する必要があります。

次の図に、マルチテナント環境でのOracle ASMファイル・グループおよび割当て制限グループの使用方法を示します。この図で、PDB3はPDB2のクローンの可能性があります。異なるディスク・グループ内のファイル・グループおよび割当て制限グループには同じ名前を付けることができます。

図4-1 Oracle ASMファイル・グループ

図4-1の説明が続きます
「図4-1 Oracle ASMファイル・グループ」の説明

図で、ディスク・グループ1およびディスク・グループ2のPDB1というファイル・グループはプラガブル・データベースPDB1専用、ディスク・グループ1およびディスク・グループ2のPDB2というファイル・グループはプラガブル・データベースPDB2専用、ディスク・グループ1およびディスク・グループ2のPDB3というファイル・グループはプラガブル・データベースPDB3専用です。

ディスク・グループ1のファイル・グループPDB1は、ディスク・グループ1の割当て制限グループQGRP1に属します。ディスク・グループ2のファイル・グループPDB1は、ディスク・グループ2の割当て制限グループQGRP1に属します。ディスク・グループ1のファイル・グループPDB2およびPDB3は、ディスク・グループ1の割当て制限グループQGRP2に属します。ディスク・グループ2のファイル・グループPDB2およびPDB3は、ディスク・グループ2の割当て制限グループQGRP2に属します。

ファイル・グループはSQL文を使用して管理できます。たとえば、ALTER DISKGROUP SQL文のFILEGROUP句を使用してファイル・グループを管理できます。例4-15に、SQL文を使用してプラガブル・データベースのファイル・グループを追加する方法を示します。また、このSQL文では、新しく追加したファイル・グループを既存の割当て制限グループに関連付けています。例4-16に、ファイル・グループ内の特定のファイル・タイプのredundancyプロパティを変更する方法を示します。

例4-15 データベースへのファイル・グループの追加

ALTER DISKGROUP DiskGroup_1 ADD FILEGROUP FileGroup_PDB1
    DATABASE PDB1
    SET 'quota_group' = 'QuotaGroup_QGRP1';

ALTER DISKGROUP DiskGroup_1 ADD FILEGROUP FileGroup_PDB2
    DATABASE PDB2
    SET 'quota_group' = 'QuotaGroup_QGRP2';

例4-16 ファイル・グループの変更

ALTER DISKGROUP DiskGroup_1 MODIFY FILEGROUP FileGroup_PDB1
    SET 'datafile.redundancy' = 'HIGH';

ASMCMDには、ファイル・グループと割当て制限グループを管理およびトラッキングするための次のコマンドが用意されています。

  • chfgおよびchqg: ファイル・グループまたは割当て制限グループを変更する場合

  • lsfgおよびlsqg: ファイル・グループまたは割当て制限グループをリストする場合

  • mkfgおよびmkqg: ファイル・グループまたは割当て制限グループを作成する場合

  • rmfgおよびrmqg: ファイル・グループまたは割当て制限グループを削除する場合

  • mvfg: ファイル・グループを移動する場合

関連付けられたファイルを含めてファイル・グループを削除(コンテンツを含めた削除)するには、ALTER DISKGROUP ... DROP FILEGROUP SQL文でCASCADEキーワードを使用するか、ASMCMDのrmfgコマンドで—rオプションを使用します。

Oracle ASMファイル・グループを監視するには、V$ASM_FILEGROUPV$ASM_FILEGROUP_PROPERTYおよびV$ASM_FILEGROUP_FILEの各ビューを確認できます。また、ASMCMDのlsfgコマンドを使用して、Oracle ASMファイル・グループに関する情報を表示することもできます。

関連項目:

Oracle ASMファイル・グループのプロパティについて

次に、ファイル・グループのプロパティをまとめます。

  • COMPATIBLE.CLIENT

    このファイル・グループ・プロパティの現行値は、ファイル・オープン操作で最後に認識されたクライアント互換性です。

    COMPATIBLE.RDBMSディスク・グループ属性は、次の値以下に設定する必要があります。

    • 各ファイル・グループのCOMPATIBLE.CLIENT(設定されている場合)

    • (Oracle ASMに接続しているデータベースごとに)COMPATIBLEデータベース初期化パラメータ

    • ディスク・グループのCOMPATIBLE.ASM

    このプロパティを変更するには、Oracle ASM管理者である必要があります。

  • DBCLONE_STATUS

    このファイル・グループ・プロパティは、データベース分割操作のステータスを指定します。このプロパティは手動では設定できません。

    このファイル・グループに関連付けられているデータベースの分割操作の実行中に、ファイル・グループ・プロパティには次のいずれかの値が含まれます。

    • PREPARING

      データベースの分割準備プロセスが開始されましたが、データベースではまだ分割の準備ができていません。

    • PREPARED

      準備プロセスが完了し、データベースの分割準備ができました。

    • SPLITTING

      データベース・ファイルの分割プロセスが開始されました。

    • SPLIT COMPLETED

      データベースは分割されました。

    • DROPPING

      準備されたデータベース・クローンを削除するプロセスが開始されました。

    • FAILED

      クローン操作が失敗しました。リバランス操作により、未完了のクローンは削除されます。

  • OWNER

    このファイル・グループ・プロパティは、OWNER設定を指定します。OWNERプロパティを設定するには、ACCESS_CONTROL.ENABLEDディスク・グループ属性をTRUEに設定してOracle ASMファイル・アクセス制御を有効にする必要があります。所有者として指定するユーザーは、ディスク・グループのメンバーである必要があります。

    Oracle ASM管理者、OWNER、ファイル・グループに関連付けられたUSER_GROUPOWNERおよびファイル・グループに関連付けられたUSER_GROUPのメンバーのみが、A database administrator can modify this property (このプロパティはデータベース管理者が変更できます)というラベルが付いているファイル・グループの属性を変更できます。これは、ACCESS_CONTROL.ENABLEDがtrueの場合のみ、当てはまります。

    V$ASM_FILEGROUPビューのUSER_NUMBER列とUSER_INCARNATION列とともに所有者を表示できます。USER_NUMBERおよびUSER_INCARNATIONの値をV$ASM_USERビューのUSER_NUMBER列およびINCARNATION列と結合して、ユーザー名を表示できます。

    デフォルト値はNULLです。

    このプロパティを変更するには、Oracle ASM管理者である必要があります。

  • PARENT_FILEGROUP_NUMBER

    このファイル・グループ・プロパティは、親ファイル・グループ番号を指定します。このプロパティは手動では設定できません。

    データベースの分割準備が行われると、シャドウ・ファイル用の子ファイル・グループが作成されます。子ファイル・グループには、PARENT_FILEGROUP_NUMBERプロパティが自動的に設定されます。

  • POWER_LIMIT

    このファイル・グループ・プロパティは、このファイル・グループのディスクのリバランスのためのパラレル再配置数を決定するリバランス指数を指定します。有効な設定は、1から1024です。ファイル・グループのリバランス時、指数制限値は次のように適用されます。

    1. 指数オプションがALTER DISKGROUP REBALANCE SQL文またはASMCMD rebalコマンドに明示的に指定されている場合、SQLリバランス文またはASMCMDリバランス・コマンドに指定されている指数値が全ファイル・グループのリバランスに使用されます。

    2. 指数オプションがSQLリバランス文またはASMCMDリバランス・コマンドに指定されていない場合、ファイル・グループのPOWER_LIMITプロパティ値(設定されている場合)がファイル・グループのリバランスに適用されます。

    3. 指数オプションがSQLリバランス文またはASMCMDリバランス・コマンドに指定されておらず、POWER_LIMITプロパティがファイル・グループに設定されていない場合、指数値はファイル・グループ・リバランスのASM_POWER_LIMIT初期化パラメータの値にデフォルトで設定されます。

    このプロパティを変更するには、データベース管理者である必要があります。

  • PRIORITY

    このファイル・グループ・プロパティはリバランスの優先順位を指定し、特定のタイプのファイルが他のファイルよりも先にリバランスされるようにします。最初に優先順位が最も高いファイル・グループのリバランスが完了すると、優先順位が次に高いファイル・グループというように、優先順位が最も低いファイル・グループまで処理されます。

    リバランス優先順位設定は、HIGHESTHIGHMEDIUMLOWまたはLOWESTに設定できます。デフォルト値は、MEDIUMです。

    このプロパティを変更するには、データベース管理者である必要があります。

  • QUOTA_GROUP

    このファイル・グループ・プロパティは、このファイル・グループが属する割当て制限グループの名前を指定します。有効な設定は、既存の割当て制限グループ名です。デフォルト値は、GENERICです。ディスク・グループ内のファイル・グループはいずれも割当て制限グループのメンバーである必要があります。

    このプロパティを変更するには、Oracle ASM管理者である必要があります。

  • REDUNDANCY

    このファイル・タイプ・プロパティは、ファイル・グループの冗長性を指定します。各ファイル・タイプのデフォルトの冗長性設定は、システム・テンプレートから導出されます。有効な設定は次のとおりです。

    • HIGH

      HIGH冗長性では、すべてのファイルに対して3方向ミラー化が提供されます。

    • MIRROR

      MIRROR冗長性では、すべてのファイルに対して双方向ミラー化が提供されます。

    • PARITY

      Oracle ASMに関連するデータ保護のオーバーヘッドを軽減するために、フレックス・ディスク・グループにパリティ保護が提供されます。パリティ冗長性は、パリティ保護の実行の影響を軽減するため、継続的な更新を必要としないデータに限定されます。PARITY設定は、アーカイブ・ログやバックアップ・セットなどの書込み1回ファイルを対象としており、データファイルおよび読取り/書込みファイルではサポートされません。PARITYでは、フレックス・ディスク・グループの少なくとも3つの標準障害グループ(クォーラム障害グループではない)が必要です。パリティ・ファイルの作成時に3つまたは4つの障害グループがある場合、各パリティ・エクステント・セットには2つのデータ・エクステントがあります。このシナリオでは、双方向ミラー・ファイルに対する100%の冗長性のオーバーヘッドではなく、50%の冗長性のオーバーヘッドが発生します。パリティ・ファイルの作成時に5つ以上の障害グループがある場合、各パリティ・エクステント・セットには4つのデータ・エクステントがあります。このシナリオでは、25%の冗長性のオーバーヘッドが発生します。

    • DOUBLE

      DOUBLEでは、ダブル・パリティが指定され、二重障害が許容されます。

    • UNPROTECTED

      UNPROTECTEDでは、Oracle ASMによるミラー化は提供されません。

    ファイルがUNPROTECTEDMIRRORまたはHIGH冗長性として作成された場合は、その冗長性をUNPROTECTEDMIRRORまたはHIGHに変更できます。冗長性を変更すると、V$ASM_FILEREMIRROR列がYとなり、そのファイルではリバランスを開始する新しいミラー化を実行して新しい冗長性を有効にする必要があることを示します。リバランスが完了すると、REMIRROR列の値はNとなります。

    PARITYまたはDOUBLE冗長性を使用してファイルが作成された場合は、そのファイルの冗長性は変更できません。

    ファイル・グループの冗長性プロパティがHIGHMIRRORまたはUNPROTECTED設定からPARITYまたはDOUBLE設定に変更されても、ファイル・グループ内の既存のファイルの冗長性は変更されません。この動作は、PARITYまたはDOUBLEからHIGHMIRRORまたはUNPROTECTED設定への変更にも適用されます。ただし、今後作成されるファイルでは、新しい冗長性設定が採用されます。

    ファイル・グループの冗長性を変更しても、ALTER DISKGROUP MODIFY FILEGROUP SQLコマンドが発行されたときに同時に作成されるファイルの冗長性は変更されないことがあります。冗長性の変更を完了するには、これらのファイルが作成された後に、ALTER DISKGROUP MODIFY FILEGROUP SQLコマンドを再び発行します。

    ファイル・グループの冗長性を高くした場合、V$ASM_FILEREDUNDANCY列の値はリバランスの完了後に高くなります。ただし、ファイル・グループの冗長性を低くした場合、V$ASM_FILEREDUNDANCY列の値はリバランスの実行直前に低くなります。

    ファイル・タイプを指定しないで冗長性を変更すると、すべてのファイル・タイプに影響を与えます。

    このプロパティを変更するには、データベース管理者である必要があります。

  • STRIPING

    このファイル・タイプ・プロパティは、各ファイル・タイプのSTRIPING設定を指定します。通常、各ファイル・タイプのデフォルト値で十分であり、変更しません。

    FINEストライプをデフォルトで保持する制御ファイルを除き、ほとんどのファイルがCOARSEストライプを保持します。有効な設定は、COARSEおよびFINEです。デフォルト値はCOARSEであるか、またはファイル・タイプ・テンプレートから導出されます。

    STRIPINGは、新規作成されるファイルにのみ作用し、ファイルの作成後に変更できません。

    このプロパティを設定するには、データベース管理者である必要があります。

  • USER_GROUP

    このファイル・グループ・プロパティは、USER_GROUP設定を指定します。USER_GROUPプロパティを設定するには、ACCESS_CONTROL.ENABLEDディスク・グループ属性をTRUEに設定してOracle ASMファイル・アクセス制御を有効にする必要があります。指定するユーザー・グループは既存のユーザー・グループである必要があります。

    Oracle ASM管理者、OWNER、ファイル・グループに関連付けられたUSER_GROUPOWNERおよびファイル・グループに関連付けられたUSER_GROUPのメンバーのみが、A database administrator can modify this property (このプロパティはデータベース管理者が変更できます)というラベルが付いているファイル・グループの属性を変更できます。これは、ACCESS_CONTROL.ENABLEDがtrueの場合のみ、当てはまります。

    V$ASM_FILEGROUPビューのUSERGROUP_NUMBER列とUSERGROUP_INCARNATION列を使用してユーザー・グループ情報を表示できます。USERGROUP_NUMBERおよびUSERGROUP_INCARNATIONの値をV$ASM_USERGROUPビューのUSERGROUP_NUMBER列およびINCARNATION列と結合して、ユーザー・グループ名を表示できます。

    ファイル・グループに作成されるファイルはUSER_GROUPプロパティ設定を継承します。

    クローンはUSER_GROUPプロパティ設定を継承します。

    デフォルト値はNULLです。

    このプロパティを変更するには、Oracle ASM管理者である必要があります。

例4-17 ファイル・タイプに対するファイル・グループ・プロパティの設定

次のSQL文は、datafileおよびarchivelogの各ファイル・タイプにREDUNDANCYファイル・グループ・プロパティを設定します。

ALTER DISKGROUP DiskGroup_2 MODIFY FILEGROUP FileGroup_PDB1
  SET 'datafile.redundancy' = 'HIGH';

ALTER DISKGROUP DiskGroup_2 MODIFY FILEGROUP FileGroup_PDB1
  SET 'archivelog.redundancy' = 'MIRROR';

例4-18 ADVMボリュームのファイル・グループ冗長性プロパティの設定

次のSQL文は、Oracle ADVMボリュームのREDUNDANCYファイル・グループ・プロパティを設定します。Oracle ADVMボリュームで冗長性を変更できるようにするには、COMPATIBLE.ASMCOMPATIBLE.ADVM18.1以上に設定する必要があります。Oracle ADVMボリュームでは、個々のファイル・タイプの冗長性設定は変更できません。

SQL> ALTER DISKGROUP data MODIFY FILEGROUP volume1 SET 'redundancy'='high'; 

関連項目:

Oracle ASMファイル・グループの割当て制限グループについて

割当て制限グループは、Oracle ASMファイル・グループのグループに割り当てられる割当て制限を定義します。ファイル・グループは、1つの割当て制限グループにのみ属します。ファイル・グループの詳細は、「Oracle ASMファイル・グループについて」を参照してください。

割当て制限は、様々なデータベースで使用される領域の総量を表すことがあります。

次に、ファイル・グループの割当て制限グループに関する重要なノートを示します。

  • ファイル・グループは、1つの割当て制限グループにのみ属することができます。

  • 割当て制限グループは、複数のディスク・グループにまたがることはできません。

  • 割当て制限グループは、同じディスク・グループ内のファイル・グループ(1つまたは複数)で使用される領域の総量を表します。

    PDBのファイル・グループとそのPDBのクローンのファイル・グループは、ファイル・グループが共通の割当て制限グループを共有するシナリオに当てはまることがあります。

    ファイル・グループのクローンは、親の割当て制限グループをデフォルトで継承します。ただし、クローンは別の割当て制限グループに属することができます。

  • 割当て制限は、ファイルの作成時およびサイズの変更時に強制適用されます。

  • 割当て制限は、物理領域です。

    そのため、割当て制限を10 Mに設定すると、双方向ミラー化された6 Mファイルは割当て制限を超えます。

  • 各割当て制限グループは、制限値と現在の使用済領域の値の2つを保持します。

    制限値は、現在の使用済領域を下回る値に設定できます。このアクションにより、この割当て制限グループに関連付けられているファイル・グループによって表されるファイルに追加の領域が割り当てられるのを防ぎます。

  • ファイル・グループは、ファイル・グループに対して十分な領域がターゲット割当て制限グループにあるかどうかに関係なく、割当て制限グループ間で移動できます。

    この機能を使用すると、Oracle ASM管理者は、特定のファイル・グループによって表されるファイルに追加の領域が割り当てられるのを抑制できます。

割当て制限グループはSQLコマンドおよびASMCMDコマンドを使用して管理できます。次の例に、SQL文を使用して割当て制限グループをディスク・グループに追加する方法と、現在の割当て制限から新しい割当て制限グループにファイル・グループを移動する方法を示します。

例4-19 ディスク・グループへの割当て制限グループの追加

ALTER DISKGROUP DiskGroup_2 ADD QUOTAGROUP QuotaGroup_QGRP3
     SET 'quota'= 10m;

例4-20 新しい割当て制限グループへのファイル・グループの移動

ALTER DISKGROUP DiskGroup_2 MODIFY FILEGROUP FileGroup_PDB1
   SET 'quota_group' = 'QuotaGroup_QGRP3';

Oracle ASM拡張ディスク・グループについて

Oracle ASM拡張ディスク・グループには、物理的に別々の複数のサイトにまたがるノードが含まれている、拡張(ストレッチ)クラスタ環境で使用できるように固有の設計を備えたフレックス・ディスク・グループのすべての機能があります。

拡張ディスク・グループの特徴は、次のとおりです。

  • 拡張ディスク・グループの冗長性設定はEXTENDED REDUNDANCYに設定されており、拡張ディスク・グループの各ファイル・グループには独自の冗長性プロパティ設定があります。

  • 拡張ディスク・グループ内のファイルおよびファイル・グループの冗長性は、ディスク・グループごとではなく、サイトごとに指定されます。

    これは、REDUNDANCY設定で決定されるコピー数にデータ・サイト数を乗じるということです。REDUNDANCYMIRRORに設定されている場合、2つのコピーを指定すると、2つのデータ・サイトのコピー数は合計4つになります。

  • 拡張ディスク・グループでは、サイト全体の損失に加えて別のサイトの障害グループが最大2つまで許容されます。

    これは、拡張ディスク・グループが障害グループ・レベルに加えてサイト・レベルでも障害を許容できるということです。

  • すべてのデータ・サイトは、ディスク・グループの作成時に、同じ数の障害グループを持つ必要があります。

  • 割当て制限グループは、サイトごとではなく、ディスク・グループごとに指定されます。

  • 割当て制限グループの制限は、すべてのサイトのすべてのコピーに必要な物理的な領域です。

    たとえば、冗長性設定がMIRRORに設定された6Mのファイルは、2つのデータ・サイトでは、24Mの割当て制限を使用します。

  • 拡張ディスク・グループを作成するには、2つのデータ・サイトと1つのクォーラム・サイトの合計3つのサイトが必要になります。各データ・サイトには3つの障害グループがあり、クォーラム・サイトには1つの障害グループがある必要があります。

  • データベース・ファイルの場合、冗長性設定は、拡張ディスク・グループのファイル・グループの冗長性設定によって決まります。

  • COMPATIBLE.ASMディスク・グループ属性とCOMPATIBLE.RDBMSディスク・グループ属性を12.2以上に設定する必要があります。

  • 最小の割当て単位(AU)のサイズは4Mです。

  • 別のディスク・グループから拡張ディスク・グループへの変換はサポートされていません。

  • 障害グループのSITE指定は、Oracle Exadataが構成されている場合に、セルから推測できます。それ以外の場合、サイト指定は、ディスク・グループの作成時にSQL文を使用して指定できます。

ノート:

V$ASM_DISKGROUPビューのREQUIRED_MIRROR_FREE_MB列およびUSABLE_FILE_MB列は、拡張ディスク・グループの値を報告しません。

次の例は、SQL文を使用して拡張ディスク・グループを作成する方法を示します。

例4-21 拡張ディスク・グループでのCREATE DISKGROUPの使用

SQL> CREATE DISKGROUP extended_site_data EXTENDED REDUNDANCY 
        SITE NY FAILGROUP fg1 DISK '/devices/disks/disk01' 
                FAILGROUP fg2 DISK '/devices/disks/disk02' 
                FAILGROUP fg3 DISK '/devices/disks/disk03' 
        SITE NJ FAILGROUP fg4 DISK '/devices/disks/disk04' 
                FAILGROUP fg5 DISK '/devices/disks/disk05' 
                FAILGROUP fg6 DISK '/devices/disks/disk06' 
        SITE QM QUORUM 
                FAILGROUP fg7 DISK '/devices/disks/disk07';

Oracle ASMフレックス・ディスク・グループを使用したPoint-In-Timeデータベースのクローニングについて

Point-in-Timeデータベース・クローンを作成する前に、次の要件を確認してください。

ノート:

  • Point-in-Timeデータベース・クローンは、Oracle ASMフレックス・ディスク・グループと拡張ディスク・グループでのみサポートされます。

  • Point-in-Timeデータベース・クローンは、Oracle Database 18c、バージョン18.1以上でのみサポートされます。

  • Point-in-Timeデータベース・クローンでは、ディスク・グループ互換性属性COMPATIBLE.ASMおよびCOMPATIBLE.RDBMS18.0以上に設定する必要があります。

  • ソース・データベース(親)は、プラガブル・データベースである必要があります。作成されるデータベース・クローン(子)は、同じコンテナ・データベース内のプラガブル・データベースです。

Oracle ASMは、プラガブル・データベースのミラー・コピーであるPoint-in-Timeデータベース・クローンを作成するためのサポートを提供します。クローニングされるデータベースのデータ・ファイルはすべて、単一のディスク・グループ内に存在する必要があります。クローニング操作は、同一コピーの迅速な構成のために使用できます。データベース・クローンでデータベース・データ・ファイルの冗長性設定を指定できるほか、クローニングされているソース・データベースのデータファイルの冗長性にデフォルト設定することもできます。

クローニング・プロセス中に作成されるデータファイルのコピーは、最初はソースと同一です。ただし、クローニング・プロセスが完了すると、ソースに対する更新は、クローニングされた子に反映されません。V$ASM_DBCLONE_INFOビューは、ソース・データベース、クローン・データベース、およびそれらのファイル・グループ間の関係を示します。V$ASM_DBCLONE_INFOは、Oracle ASMインスタンスで実行する必要があります。

このトピックで示す例では、ソース・データベースはDATAフレックス・ディスク・グループに存在します。

データベースのクローニングのステップは次のとおりです。

  1. ミラー化コピーの準備

    このステップの間に、Oracle ASMは追加のデータ・コピー用の領域を割り当てます。このプロセスでは、クローニングされたファイルを作成し、ソース・ファイルとリンクします。ただし、現時点ではデータはコピーされません。コピーは、再ミラーリング時に実施されます。再ミラーリングは、このステップの一部として開始される、リバランスの準備フェーズ中に行われます。存在できるミラー・コピーはどの時点でも常に1つのみです。指定されたデータベースまたはプラガブル・データベースのデータファイルはすべて、単一のディスク・グループにある必要があります。別のミラー・コピーを作成する前に、このミラー・コピーを使用してデータベース・クローンを作成する必要があります。

    ファイル・グループが作成され、すべてのクローン・ファイルがこのファイル・グループの一部になります。ファイル・グループ内のデータベース・データ・ファイルの冗長性は、指定した値に設定されるか、またはソース・ファイル・グループの冗長性設定にデフォルト設定されます。クローンに関連付けられた割当て制限グループは、ソース・データベースの割当て制限グループと同じです。

    クローンに関連付けられたOracle ASMファイル・アクセス制御プロパティは、ソース・データベースに関連付けられているものと同じです。たとえば、データベース・クローンのファイル・アクセス制御ユーザー・グループのプロパティは、ソース・データベースのものと同じです。

    このステップの最後で、次のステップを開始する前に、「準備されたミラー・コピーの削除」で説明されているように、準備されたミラー・コピーを削除できます。

  2. ミラー化コピーの分割およびデータベース・クローンの作成

    このステップを開始する前に、準備とコピーのステップを完了する必要があります。Oracle ASMインスタンスでV$ASM_DBCLONE_INFOビューを表示して、実行中の準備操作のステータスを問い合せることができます。V$ASM_DBCLONE_INFOビューのDBCLONE_STATUS列は、ファイル・グループの分割準備ができるとPREPAREDを示します。

    CREATE PLUGGABLE DATABASEによって開始されたプロセスは、ソース・データベース・ファイルとクローン・データベース・ファイルの間の関係を解除します。

ミラー化コピーの準備

次の例は、ミラー化されたコピーを準備し、DATAディスク・グループにファイル・グループを作成します。ALTER PLUGGABLE DATABASE PREPARE SQLコマンドを発行する前に、クローニングのために準備されているソース・プラガブル・データベース(この例ではpdb1)に接続する必要があります。

SQL>  SHOW CON_NAME
CON_NAME
------------------------------
CDB$ROOT

SQL>  ALTER SESSION SET CONTAINER = pdb1;
Session altered.

SQL> SHOW CON_NAME
CON_NAME
------------------------------
PDB1

SQL> ALTER PLUGGABLE DATABASE PREPARE MIRROR COPY pdb1_mirror;
Pluggable database altered.

Oracle ASMインスタンスでV$ASM_DBCLONE_INFOビューを問い合せて、プロセスのステータスを確認できます。

SQL> SELECT * FROM V$ASM_DBCLONE_INFO;
GROUP_NUMBER DBCLONE_NAME MIRRORCOPY_NAME DBCLONE_STATUS PARENT_DBNAME PARENT_FILEGROUP_NAME CON_ID
------------ ------------ --------------- -------------- ------------- --------------------- ------
           1 DB_UNKNOWN   PDB1_MIRROR     PREPARED       ORCL_PDB1     ORCL_PDB1                  0

ミラー化コピーの分割およびデータベース・クローンの作成

次の例では、ミラー・コピーpdb1_mirrorを使用してnewpdb1データベース・クローンを作成します。newpdb1は、pdb1プラガブル・データベースのクローンで、CDBに接続されています。CREATE PLUGGABLE DATABASE SQLコマンドは、CDBのルート・コンテナで実行する必要があります。

SQL>  SHOW CON_NAME
CON_NAME
------------------------------
CDB$ROOT

SQL> CREATE PLUGGABLE DATABASE newpdb1 FROM pdb1 USING MIRROR COPY pdb1_mirror;
Pluggable database created.

SQL>  ALTER SESSION SET CONTAINER = newpdb1;
session altered.

SQL> SHOW CON_NAME
CON_NAME
------------------------------
NEWPDB1

追加情報については、Oracle ASMインスタンスのV$ASM_DBCLONE_INFOV$ASM_FILEGROUP、およびV$ASM_FILEGROUP_PROPERTYの各ビューで問い合せることができます。

SQL> SELECT * FROM V$ASM_DBCLONE_INFO;
GROUP_NUMBER DBCLONE_NAME  MIRRORCOPY_NAME DBCLONE_STATUS  PARENT_DBNAME PARENT_FILEGROUP_NAME CON_ID
------------ ------------- --------------- --------------- ------------- --------------------- ------
           1 ORCL_NEWPDB1  PDB1_MIRROR     SPLIT COMPLETED ORCL_PDB1     ORCL_PDB1                  0

SQL> SELECT NAME, GROUP_NUMBER, FILEGROUP_NUMBER FROM V$ASM_FILEGROUP;
NAME                                 GROUP_NUMBER FILEGROUP_NUMBER
------------------------------------ ------------ ----------------
DEFAULT_FILEGROUP                               1                0
ORCL_CDB$ROOT                                   1                1
ORCL_PDB$SEED                                   1                2
ORCL_PDB1                                       1                3
PDB1_MIRROR                                     1                4


SQL> SELECT NAME, VALUE FROM V$ASM_FILEGROUP_PROPERTY WHERE FILEGROUP_NUMBER = 4;
NAME                                 VALUE
------------------------------------ ------------------------------------
PRIORITY                             MEDIUM
PARENT_FILEGROUP_NUMBER              3
DBCLONE_STATUS                       SPLIT COMPLETED
COMPATIBLE.CLIENT                    18.0.0.0.0
REDUNDANCY                           MIRROR
STRIPING                             FINE
...

準備されたミラー・コピーの削除

ミラー化されたコピーの準備後、ミラー化されたコピーを分割してデータベース・クローンを作成する前に、準備されたミラー・コピーを削除できます。

削除アクションは、ALTER PLUGGABLE DATABASE PREPARE SQLコマンドによって実行されたすべての変更を破棄します。PREPARE SQL操作と同様に、削除アクションは、該当するディスク・グループでのリバランスもトリガーします。V$ASM_DBCLONE_INFOビューを使用して、進行中の削除操作のステータスを問い合せることができます。V$ASM_DBCLONE_INFOビューのDBCLONE_STATUS列は、ファイル・グループが削除中で、すべての変更が破棄された後にエントリが削除されるとDROPPINGを示します。

次の例は、ソース・プラガブル・データベース(この例ではpdb1)に接続しているときに、準備されたミラー・コピーを削除する方法を示しています。

SQL> ALTER SESSION SET CONTAINER = pdb1;
Session altered.

SQL> ALTER PLUGGABLE DATABASE DROP MIRROR COPY pdb1_mirror;
Pluggable database altered.

試行が失敗した後のクリーン・アップ

Point-in-Timeクローン・プロセスが失敗した場合、V$ASM_DBCLONE_INFOビューのDBCLONE_STATUS列はFAILEDを示します。Point-in-Timeクローンの作成試行が失敗する場合は、ディスク・グループでリバランスを実行してファイル・グループをクリーン・アップすることにより問題を解決できます。たとえば、Oracle ASMインスタンスに接続した後、次を実行できます。

SQL> ALTER DISKGROUP data REBALANCE WAIT;

関連項目: