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.ASM
とCOMPATIBLE.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のクローンの可能性があります。異なるディスク・グループ内のファイル・グループおよび割当て制限グループには同じ名前を付けることができます。
図で、ディスク・グループ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_FILEGROUP
、V$ASM_FILEGROUP_PROPERTY
およびV$ASM_FILEGROUP_FILE
の各ビューを確認できます。また、ASMCMDのlsfg
コマンドを使用して、Oracle ASMファイル・グループに関する情報を表示することもできます。
関連項目:
-
割当て制限グループの詳細は、「Oracle ASMファイル・グループの割当て制限グループについて」
-
Oracle ASMファイル・グループを管理するASMCMDコマンドの詳細は、「ASMCMDファイル・グループ管理コマンド」
-
V$ASM*
動的パフォーマンス・ビューの詳細は、『Oracle Databaseリファレンス』
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_GROUP
のOWNER
およびファイル・グループに関連付けられた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
です。ファイル・グループのリバランス時、指数制限値は次のように適用されます。-
指数オプションが
ALTER
DISKGROUP
REBALANCE
SQL文またはASMCMDrebal
コマンドに明示的に指定されている場合、SQLリバランス文またはASMCMDリバランス・コマンドに指定されている指数値が全ファイル・グループのリバランスに使用されます。 -
指数オプションがSQLリバランス文またはASMCMDリバランス・コマンドに指定されていない場合、ファイル・グループの
POWER_LIMIT
プロパティ値(設定されている場合)がファイル・グループのリバランスに適用されます。 -
指数オプションがSQLリバランス文またはASMCMDリバランス・コマンドに指定されておらず、
POWER_LIMIT
プロパティがファイル・グループに設定されていない場合、指数値はファイル・グループ・リバランスのASM_POWER_LIMIT
初期化パラメータの値にデフォルトで設定されます。
このプロパティを変更するには、データベース管理者である必要があります。
-
-
PRIORITY
このファイル・グループ・プロパティはリバランスの優先順位を指定し、特定のタイプのファイルが他のファイルよりも先にリバランスされるようにします。最初に優先順位が最も高いファイル・グループのリバランスが完了すると、優先順位が次に高いファイル・グループというように、優先順位が最も低いファイル・グループまで処理されます。
リバランス優先順位設定は、
HIGHEST
、HIGH
、MEDIUM
、LOW
または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によるミラー化は提供されません。
ファイルが
UNPROTECTED
、MIRROR
またはHIGH
冗長性として作成された場合は、その冗長性をUNPROTECTED
、MIRROR
またはHIGH
に変更できます。冗長性を変更すると、V$ASM_FILE
のREMIRROR
列がY
となり、そのファイルではリバランスを開始する新しいミラー化を実行して新しい冗長性を有効にする必要があることを示します。リバランスが完了すると、REMIRROR
列の値はN
となります。PARITY
またはDOUBLE
冗長性を使用してファイルが作成された場合は、そのファイルの冗長性は変更できません。ファイル・グループの冗長性プロパティが
HIGH
、MIRROR
またはUNPROTECTED
設定からPARITY
またはDOUBLE
設定に変更されても、ファイル・グループ内の既存のファイルの冗長性は変更されません。この動作は、PARITY
またはDOUBLE
からHIGH
、MIRROR
またはUNPROTECTED
設定への変更にも適用されます。ただし、今後作成されるファイルでは、新しい冗長性設定が採用されます。ファイル・グループの冗長性を変更しても、
ALTER
DISKGROUP
MODIFY
FILEGROUP
SQLコマンドが発行されたときに同時に作成されるファイルの冗長性は変更されないことがあります。冗長性の変更を完了するには、これらのファイルが作成された後に、ALTER
DISKGROUP
MODIFY
FILEGROUP
SQLコマンドを再び発行します。ファイル・グループの冗長性を高くした場合、
V$ASM_FILE
のREDUNDANCY
列の値はリバランスの完了後に高くなります。ただし、ファイル・グループの冗長性を低くした場合、V$ASM_FILE
のREDUNDANCY
列の値はリバランスの実行直前に低くなります。ファイル・タイプを指定しないで冗長性を変更すると、すべてのファイル・タイプに影響を与えます。
このプロパティを変更するには、データベース管理者である必要があります。
-
-
STRIPING
このファイル・タイプ・プロパティは、各ファイル・タイプの
STRIPING
設定を指定します。通常、各ファイル・タイプのデフォルト値で十分であり、変更しません。FINE
ストライプをデフォルトで保持する制御ファイルを除き、ほとんどのファイルがCOARSE
ストライプを保持します。有効な設定は、COARSE
およびFINE
です。デフォルト値はCOARSE
であるか、またはファイル・タイプ・テンプレートから導出されます。STRIPING
は、新規作成されるファイルにのみ作用し、ファイルの作成後に変更できません。このプロパティを設定するには、データベース管理者である必要があります。
-
USER_GROUP
このファイル・グループ・プロパティは、
USER_GROUP
設定を指定します。USER_GROUP
プロパティを設定するには、ACCESS_CONTROL.ENABLED
ディスク・グループ属性をTRUE
に設定してOracle ASMファイル・アクセス制御を有効にする必要があります。指定するユーザー・グループは既存のユーザー・グループである必要があります。Oracle ASM管理者、
OWNER
、ファイル・グループに関連付けられたUSER_GROUP
のOWNER
およびファイル・グループに関連付けられた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.ASM
とCOMPATIBLE.ADVM
を18.1
以上に設定する必要があります。Oracle ADVMボリュームでは、個々のファイル・タイプの冗長性設定は変更できません。
SQL> ALTER DISKGROUP data MODIFY FILEGROUP volume1 SET 'redundancy'='high';
関連項目:
-
Oracle ASMファイル・タイプのリストは、「Oracle ASMでサポートされるファイルのタイプ」
-
Oracle ASMファイル・アクセス制御の詳細は、「ディスク・グループのOracle ASMファイル・アクセス制御の管理」
-
動的パフォーマンス・ビューのV$ASM_FILEGROUP_PROPERTYおよびV$ASM_FILEGROUPに表示されるファイル・グループのプロパティの詳細は、『Oracle Databaseリファレンス』を参照
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
設定で決定されるコピー数にデータ・サイト数を乗じるということです。REDUNDANCY
がMIRROR
に設定されている場合、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.RDBMS
を18.0
以上に設定する必要があります。 -
ソース・データベース(親)は、プラガブル・データベースである必要があります。作成されるデータベース・クローン(子)は、同じコンテナ・データベース内のプラガブル・データベースです。
Oracle ASMは、プラガブル・データベースのミラー・コピーであるPoint-in-Timeデータベース・クローンを作成するためのサポートを提供します。クローニングされるデータベースのデータ・ファイルはすべて、単一のディスク・グループ内に存在する必要があります。クローニング操作は、同一コピーの迅速な構成のために使用できます。データベース・クローンでデータベース・データ・ファイルの冗長性設定を指定できるほか、クローニングされているソース・データベースのデータファイルの冗長性にデフォルト設定することもできます。
クローニング・プロセス中に作成されるデータファイルのコピーは、最初はソースと同一です。ただし、クローニング・プロセスが完了すると、ソースに対する更新は、クローニングされた子に反映されません。V$ASM_DBCLONE_INFO
ビューは、ソース・データベース、クローン・データベース、およびそれらのファイル・グループ間の関係を示します。V$ASM_DBCLONE_INFO
は、Oracle ASMインスタンスで実行する必要があります。
このトピックで示す例では、ソース・データベースはDATA
フレックス・ディスク・グループに存在します。
データベースのクローニングのステップは次のとおりです。
-
ミラー化コピーの準備
このステップの間に、Oracle ASMは追加のデータ・コピー用の領域を割り当てます。このプロセスでは、クローニングされたファイルを作成し、ソース・ファイルとリンクします。ただし、現時点ではデータはコピーされません。コピーは、再ミラーリング時に実施されます。再ミラーリングは、このステップの一部として開始される、リバランスの準備フェーズ中に行われます。存在できるミラー・コピーはどの時点でも常に1つのみです。指定されたデータベースまたはプラガブル・データベースのデータファイルはすべて、単一のディスク・グループにある必要があります。別のミラー・コピーを作成する前に、このミラー・コピーを使用してデータベース・クローンを作成する必要があります。
ファイル・グループが作成され、すべてのクローン・ファイルがこのファイル・グループの一部になります。ファイル・グループ内のデータベース・データ・ファイルの冗長性は、指定した値に設定されるか、またはソース・ファイル・グループの冗長性設定にデフォルト設定されます。クローンに関連付けられた割当て制限グループは、ソース・データベースの割当て制限グループと同じです。
クローンに関連付けられたOracle ASMファイル・アクセス制御プロパティは、ソース・データベースに関連付けられているものと同じです。たとえば、データベース・クローンのファイル・アクセス制御ユーザー・グループのプロパティは、ソース・データベースのものと同じです。
このステップの最後で、次のステップを開始する前に、「準備されたミラー・コピーの削除」で説明されているように、準備されたミラー・コピーを削除できます。
-
ミラー化コピーの分割およびデータベース・クローンの作成
このステップを開始する前に、準備とコピーのステップを完了する必要があります。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_INFO
、V$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;
関連項目:
-
マルチテナント・データベースの詳細は、Oracle Multitenant管理者ガイドを参照してください。
-
CREATE
PLUGGABLE
DATABASE
SQL文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 -
V$ASM_DBCLONE_INFO
ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。