注意: このSQL文は、Oracle ASMを使用しており、Oracle ASMインスタンスを起動している場合にのみ有効です。この文の発行は、通常のデータベース・インスタンスからではなく、Oracle ASMインスタンスから行う必要があります。Oracle ASMインスタンスの起動の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。 |
用途
CREATE
DISKGROUP
句を使用すると、ディスクのグループに名前を付け、そのグループをOracle Databaseが管理するように指定できます。Oracle Databaseは、ディスク・グループを論理単位として管理し、I/Oの均衡を保つために各ファイルを均等に分散します。また、ディスク・グループで使用可能なすべてのディスクにデータベース・ファイルを自動的に分散し、記憶域構成が変更されるたびに、自動的にストレージの均衡を再調整します。
この文を使用すると、ディスク・グループが作成され、1つ以上のディスクがディスク・グループに割り当てられ、ディスク・グループの初めてのマウントが実行されます。CREATE
DISKGROUP
は、ローカル・ノードのディスク・グループのみマウントします。後続のインスタンスで、Oracle ASMによって自動的にディスク・グループをマウントさせる場合は、初期化パラメータ・ファイルのASM_DISKGROUPS
初期化パラメータの値に、そのディスク・グループ名を追加する必要があります。SPFILE
を使用している場合、そのディスク・グループは自動的に初期化パラメータに追加されます。
関連項目:
|
前提条件
この文を発行するには、SYSASM
システム権限が必要です。
この文を発行する前に、オペレーティング・システムのフォーマット・ユーティリティを使用して、ディスクをフォーマットしておく必要があります。また、Oracle Databaseユーザーが読取り/書込み権限を持ち、ASM_DISKSTRING
を使用してディスクが検出可能であることを確認します。
ファイル・システムまたはRAWデバイスではなく、Oracle ASMディスク・グループにデータベース・ファイルを格納している場合、Oracle ASMインスタンスを構成および起動してディスク・グループを管理しないと、データベース・インスタンスがディスク・グループのファイルにアクセスできません。
各データベース・インスタンスは、データベースと同じノード上にある1つのOracle ASMインスタンスと通信します。同じノード上にある複数のデータベース・インスタンスが、1つのOracle ASMインスタンスと通信できます。
構文
create_diskgroup::=
qualified_disk_clause::=
(size_clause::=を参照)
セマンティクス
diskgroup_name
ディスク・グループ名を指定します。ディスク・グループには、データベース・スキーマ・オブジェクトと同じネーミング規則および制限が適用されます。データベース・オブジェクト名の詳細は、「データベース・オブジェクトのネーミング規則」を参照してください。ただし、ディスク・グループはスキーマ・オブジェクトではありません。ディスク・グループ名は、引用符で囲んだ場合も、大/小文字が区別されません。それらは常に内部的には大文字で格納されます。
注意: ディスク・グループ名には引用識別子を使用しないことをお薦めします。SQL*PlusでCREATE DISKGROUP 文を発行する場合はこのような引用識別子は許可されていますが、ディスク・グループを管理する他のツールでは有効でない場合があります。 |
REDUNDANCY句
REDUNDANCY
句を使用すると、ディスク・グループの冗長レベルを指定できます。
NORMAL
REDUNDANCY
の場合、2つ以上の障害グループが存在する必要があります(次の「FAILGROUP
句」を参照)。Oracle ASMでは、ディスク・グループ・テンプレートで指定された属性に従って、ディスク・グループのすべてのファイルの冗長性が提供されます。NORMAL
REDUNDANCY
ディスク・グループでは、1つのグループが消失してもリカバリできます。ディスク・グループ・テンプレートの詳細は、「ALTER
DISKGROUP
」の「diskgroup_template_clauses」を参照してください。
REDUNDANCY
句を指定しない場合、NORMAL
REDUNDANCY
がデフォルトになります。したがって、この句を指定しない場合、2つ以上の障害グループを作成する必要があります。それを作成しないと、作成操作は正常に実行されません。
HIGH
REDUNDANCY
の場合、少なくとも3つの障害グループが存在する必要があります。Oracle ASMでは、エクステントごとにミラー化された2つのコピーが存在する3方向ミラー化でミラーリングが行われます。HIGH
REDUNDANCY
ディスク・グループでは、2つの障害グループが消失してもリカバリできます。
EXTERNAL
REDUNDANCY
は、Oracle ASMでディスク・グループの冗長性が提供されないことを示します。ディスク・グループを構成する各ディスクで冗長性を確保する(たとえばストレージ・アレイを使用する)か、ディスク障害が発生した場合にはディスク・グループのデータ損失を想定しておく(テスト環境など)必要があります。EXTERNAL
REDUNDANCY
を指定する場合、FAILGROUP
句は指定できません。
ディスク・グループの作成後は、冗長性レベルを変更できません。
QUORUM | REGULAR
これらのキーワードを使用すると、障害グループまたはディスク指定を修飾できます。
REGULAR
ディスク、またはクォーラム以外の障害グループ内のディスクには、任意のファイルを含めることができます。
QUORUM
ディスクまたはクォーラム障害グループ内のディスクには、データベース・ファイル、Oracle Cluster Registry(OCR)または動的ボリュームを含めることはできません。ただし、QUORUM
ディスクにCluster Synchronization Services(CSS)の投票ファイルは含めることができます。Oracle ASMは可能な場合は常に、投票ファイル用に、クォーラム・ディスクまたはクォーラム障害グループ内のディスクを使用します。
クォーラム障害グループ内のディスクは、冗長性要件の確認時に考慮されません。
いずれのキーワードも指定しない場合、デフォルトでREGULAR
が使用されます。
障害グループを明示的に指定する場合は、キーワードFAILGROUP
の前にQUORUM
またはREGULAR
を指定します。暗黙的に作成した障害グループとともにディスク・グループを作成する場合は、キーワードDISK
の前にこれらのキーワードを指定します。
関連項目: クォーラム・ディスクと標準ディスクおよび障害グループの詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。 |
この句を使用すると、1つ以上の障害グループの名前を指定できます。NORMAL
またはHIGH
REDUNDANCY
を指定している場合にこの句を省略すると、Oracle Databaseは、自動的にディスク・グループの各ディスクを障害グループに追加します。障害グループの暗黙的な名前は、オペレーティング・システムに依存しないディスク名と同じです(「NAME句」を参照)。
EXTERNAL
REDUNDANCY
ディスク・グループを作成している場合、この句は指定できません。
qualified_disk_clause
DISK
qualified_disk_clause
を指定すると、ディスク・グループにディスクを追加できます。
search_string ディスク・グループに追加するディスクごとに、オペレーティング・システム依存の検索文字列を指定します。Oracle ASMでは、この文字列を使用してディスクが検索されます。search_string
は、ASM_DISKSTRING
初期化パラメータの文字列を使用した検索で戻されるディスクのサブセットを指している必要があります。search_string
が、Oracle Databaseユーザーが読取り/書込み権限を持っているディスクを指していない場合、Oracle ASMはエラーを戻します。また、異なるディスク・グループに割り当てられている1つ以上のディスクを指している場合、FORCE
を指定していなければ、エラーが戻されます。
Oracle ASMでは、有効な追加候補のディスクごとにディスク・ヘッダーがフォーマットされ、このディスクが新規のディスク・グループのメンバーであることが示されます。
NAME句 NAME
句は、search_string
が1つのディスクを指す場合にのみ有効です。この句を使用すると、オペレーティング・システムに依存しないディスクの名前を指定できます。名前は、最大30文字の英数字で指定できます。最初の文字は、英字にする必要があります。ASMLIBでディスクにラベルを割り当てている場合にこの句を省略すると、ディスク名としてそのラベルが使用されます。ASMLIBでラベルを割り当てていない場合にこの句を省略すると、Oracle ASMは、「diskgroup_name
_####」(####はディスク番号)という書式のデフォルト名を作成します。この名前を使用して、後続のOracle ASM操作でディスクを参照できます。
SIZE句 この句を使用すると、ディスクのサイズをバイト単位で指定できます。ディスク容量を超えるサイズを指定すると、Oracle ASMはエラーを戻します。ディスク容量よりも小さいサイズを指定した場合、Oracle ASMで使用されるディスク領域が制限されます。この句を指定しない場合、Oracle ASMはプログラム的にディスクのサイズを決定します。
FORCE FORCE
を指定すると、Oracle ASMで、別のディスク・グループのメンバーであるディスクをディスク・グループに追加できます。
注意: この方法でFORCE を使用すると、既存のディスク・グループが破棄される可能性があります。 |
この句を有効にするには、ディスクはディスク・グループのメンバーである必要があり、ディスクがマウントされたディスク・グループの一部であってはなりません。
NOFORCE NOFORCE
を指定すると、Oracle ASMで、ディスクが別のディスク・グループのメンバーである場合にエラーを戻すことができます。デフォルトはNOFORCE
です。
この句を使用すると、ディスク・グループの属性値を設定できます。V$ASM_ATTRIBUTE
ビューを問い合せることによって、現在の属性値を確認できます。表14-1に、この句で設定できる属性を示します。属性値はすべて文字列です。
表14-1 ディスク・グループの属性
属性 | 有効な値 | 説明 |
---|---|---|
|
|
ディスク・グループでOracle ASMのファイル・アクセス制御を有効にするかどうかを指定します。
ファイル・アクセス制御を既存のディスク・グループに対して設定した場合、作成済のファイルはすべてのユーザーからアクセス可能なままになります。これを避けるには、 注意: この属性は、Oracle ASMのファイル・アクセス制御を管理するために |
|
3桁の数(各桁は0(ゼロ)、2または6) |
Oracle ASMファイルの作成時に、そのファイルを所有するユーザー(最初の桁)、同じユーザー・グループ内のユーザー(2桁目)、およびそのユーザー・グループに属さない他のユーザー(3桁目)に対してマスクする権限を指定します。この属性は、ディスク・グループ内のすべてのファイルに適用されます。0(ゼロ)に設定すると、何もマスクされません。2に設定すると、書込み権限がマスクされます。6に設定すると、読取り権限と書込み権限の両方がマスクされます。デフォルト値は
ファイル・アクセス制御を既存のディスク・グループに対して設定した場合、作成済のファイルはすべてのユーザーからアクセス可能なままになります。これを避けるには、 注意: この属性は、Oracle ASMのファイル・アクセス制御を管理するために |
|
サイズ(バイト単位)。有効な値は、1Mから64Mの2の累乗です。例: 4M、4194304 |
割当て単位サイズを指定します。この属性は、ディスク・グループの作成時にのみ設定でき、 |
|
有効なOracle Databaseバージョン番号脚注 1 |
ディスク・グループにOracle ADVMボリュームを含めることができるかどうかを決定します。 デフォルトでは、 |
|
有効なOracle Databaseバージョン番号脚注 1 |
Oracle ASMインスタンスでディスク・グループを使用するために必要な最小ソフトウェア・バージョンを指定します。この設定は、ディスク上のOracle ASMメタデータのデータ構造の形式にも影響します。 Oracle Database 11gのOracle ASMでは、 |
|
有効なOracle Databaseバージョン番号脚注 1 |
すべてのデータベース・インスタンスでディスク・グループを使用するために必要な
Oracle Database 11gのOracle ASMでは、SQLの |
|
0から136年 |
ディスクは、オフラインに切り替えられると、デフォルトの時間が経過した後にOracle ASMによって削除されます。 時間は分単位(M)または時間単位(H)で指定できます。指定した経過時間は、ディスク・グループがマウントされているときにのみ加算されます。単位を省略した場合、デフォルトはHになります。この属性を省略し、 注意: 参照: 詳細は、「 |
|
ディスク・グループ内のディスクのセクター・サイズ。有効な値は、'512'、'4096'および'4K'。 |
ディスク・グループ内のすべてのディスクのセクター・サイズは、指定した属性値と同じである必要があります。
この属性の値を設定することで、Oracle ASMがディスク・グループ内のすべてのディスクの値を想定することなく、ディスク・グループに任意のセクター・サイズを設定できます。結果として、ユーザーは、 |
脚注 1 有効なOracle Databaseリリース番号の最初の2桁以上を指定してください。有効なバージョン番号の指定の詳細は、『Oracle Database管理者ガイド』を参照してください。たとえば、互換性
を10.2または11.2として指定できます。
関連項目: これらの属性設定の管理の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。 |
例
次の例では、ASM_DISKSTRING
パラメータは/devices/disks/c*
のスーパーセットであり、/devices/disks/c*
がOracle ASMディスクとして使用される1つ以上のデバイスを指し、Oracle Databaseユーザーはディスクに対する読取り/書込み権限を持っていることを想定しています。
関連項目: Oracle ASMおよびディスク・グループを使用してデータベース管理を簡略化する方法については、『Oracle Automatic Storage Management管理者ガイド』を参照してください。 |
ディスク・グループの作成例: 次の文は、Oracle ASMディスク・グループdgroup_01
を作成します。このディスク・グループには、Oracle ASMによって冗長性が提供されておらず、search_string
と一致するすべてのディスクが含まれています。
CREATE DISKGROUP dgroup_01 EXTERNAL REDUNDANCY DISK '/devices/disks/c*';