|
注意: このSQL文は、Oracle ASMを使用しており、Oracle ASMインスタンスを起動している場合にのみ有効です。この文の発行は、通常のデータベース・インスタンスからではなく、Oracle ASMインスタンスから行う必要があります。Oracle ASMインスタンスの起動の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。 |
用途
ALTER DISKGROUP文を使用すると、ディスク・グループまたはディスク・グループ内のディスクに対して多数の操作を実行できます。
|
関連項目:
|
前提条件
この文を発行するOracle ASMインスタンスが起動されている必要があります。変更するディスク・グループはマウントされている必要があります。
ALTER DISKGROUPの句はすべて、発行するにはSYSASMシステム権限が必要です。個々の句の発行については、次のようになります。
SYSOPER権限で実行可能なALTER DISKGROUP操作は、diskgroup_availability、rebalance_diskgroup_clause、check_diskgroup_clause(REPAIRオプションの指定なし)です。
SYSDBAとして接続している場合は、この文を使用するための限定的な権限が与えられます。次の操作は常に、SYSDBAとして接続しているユーザーに許可されます。
ALTER DISKGROUP ... ADD DIRECTORY
ALTER DISKGROUP ... ADD/ALTER/DROP TEMPLATE(システム・テンプレート以外の場合のみ)
ALTER DISKGROUP ... ADD USERGROUP
SELECT
SHOW PARAMETER
表10-1に、SYSDBAとして接続しているユーザーに特定の条件下で付与されるその他の権限を示します。
表10-1 SYSDBAへの条件付きディスク・グループ権限
| ALTER DISKGROUP操作 | 条件 |
|---|---|
|
|
ユーザーはファイルへの読取りおよび書込み権限を持っている必要があります。 |
|
|
ユーザーは関連のファイルへの読取りおよび書込み権限を持っている必要があります。 |
|
|
ユーザーは関連のファイルへの読取りおよび書込み権限を持っている必要があります。 |
|
|
ユーザーは関連のファイルへの読取りおよび書込み権限を持っている必要があります。 |
|
|
ディレクトリにファイルが存在せず、別名のみが存在している必要があります。ユーザーはそのディレクトリ内のすべての別名への |
|
|
ディレクトリにファイルが存在せず、別名のみが存在している必要があります。ユーザーはそのディレクトリ内のすべての別名への |
|
|
ユーザーはユーザー・グループの所有者である必要があります。 |
|
|
ユーザーはファイルの所有者である必要があります。 |
|
|
ユーザーはユーザー・グループの所有者である必要があります。 |
|
|
ユーザーはユーザー・グループの所有者である必要があります。 |
|
|
ユーザーはファイルの所有者である必要があります。 |
|
|
ユーザーはファイルの所有者でユーザー・グループのメンバーである必要があります。 |
構文
alter_diskgroup::=

(add_disk_clause::=、drop_disk_clause::=、resize_disk_clause::=、disk_online_clause::=、disk_offline_clause::=、rebalance_diskgroup_clause ::=、check_diskgroup_clause::=、diskgroup_template_clauses::=、diskgroup_directory_clauses::=、diskgroup_alias_clauses::=、diskgroup_volume_clauses::=、diskgroup_attributes ::=、modify_diskgroup_file::=、drop_diskgroup_file_clause::=、usergroup_clauses::=、user_clauses::=、file_permissions_clause::=、file_owner_clause::=、undrop_disk_clause::=、diskgroup_availability::=、enable_disable_volume::=を参照)


(size_clause::=を参照)


(size_clause::=を参照)


timeout_clause::=

rebalance_diskgroup_clause ::=



(qualified_template_clause::=を参照)
qualified_template_clause::=

redundancy_clause::=



diskgroup_directory_clauses::=



(add_volume_clause::=、modify_volume_clause::=を参照)

(size_clause::=、redundancy_clause::=、disk_region_clause::=を参照)
size_clause::=






user_clauses::=






セマンティクス
diskgroup_name
変更するディスク・グループの名前を指定します。既存のディスク・グループの名前を特定するには、V$ASM_DISKGROUP動的パフォーマンス・ビューを問い合せます。
add_disk_clause
この句を使用すると、ディスク・グループに1つ以上のディスクを追加し、新しく追加したディスクの属性を指定できます。この操作を実行すると、Oracle ASMによって、自動的にディスク・グループの均衡が再調整されます。
この句を使用して、ディスクの障害グループを変更することはできません。これを行うには、ディスク・グループからディスクを削除した後で、新しい障害グループの一部として、ディスク・グループにディスクを再度追加します。
ディスク・グループ内の既存のディスク名を特定するには、V$ASM_DISK動的パフォーマンス・ビューを問い合せます。
QUORUM | REGULAR
これらのキーワードのセマンティクスは、CREATE DISKGROUP文内のセマンティクスと同じです。これらのキーワードの詳細は、「QUORUM | REGULAR」を参照してください。
既存のディスクまたはディスク・グループで、この修飾子を変更することはできません。したがって、ディスク・グループの作成時に指定されているキーワードと異なるキーワードをこの句内で指定することはできません。
|
関連項目: これらのキーワードの使用方法の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。 |
FAILGROUP句 この句を使用すると、新しく追加したディスクを障害グループに割り当てることができます。この句を省略して、標準または高冗長性ディスク・グループにディスクを追加すると、Oracle Databaseは、新しく追加されたディスクを自動的に障害グループに追加します。障害グループの暗黙的な名前は、オペレーティング・システムに依存しないディスク名と同じです(「NAME句」を参照)。
外部冗長性ディスク・グループを作成している場合、この句は指定できません。
qualified_disk_clause
この句のセマンティクスは、CREATE DISKGROUP文およびALTER DISKGROUP文で同じです。この句の詳細は、CREATE DISKGROUPの「qualified_disk_clause」を参照してください。
drop_disk_clause
この句を使用すると、ディスク・グループから1つ以上のディスクを削除できます。
DROP DISK
DROP DISK句を使用すると、ディスク・グループから1つ以上のディスクを削除し、自動的にディスク・グループの均衡を再調整できます。ディスクを削除すると、Oracle ASMによって、ディスクのすべてのデータが再配置され、ディスクをディスク・グループから除外するためにディスク・ヘッダーが消去されます。FORCEキーワードを指定すると、ディスク・ヘッダーは消去されません。
V$ASM_DISK動的パフォーマンス・ビューのNAME列のように、disk_nameを指定します。
削除するディスクがクォーラム・ディスクであるか、またはクォーラム障害グループに属している場合は、ディスクを削除するためにQUORUMを指定する必要があります。「QUORUM | REGULAR」を参照してください。
DROP DISKS IN FAILGROUP
DROP DISKS IN FAILGROUP句を使用すると、指定した障害グループからすべてのディスクを削除できます。他の動作は、DROP DISK句と同じです。
指定した障害グループがクォーラム障害グループである場合は、ディスクを削除するためにQUORUMキーワードを指定する必要があります。「QUORUM | REGULAR」を参照してください。
FORCE | NOFORCE これらのキーワードを使用すると、ディスクがディスク・グループから除外されたとみなされるタイミングを指定できます。デフォルト設定であるNOFORCEを使用することをお薦めします。
NOFORCEを指定すると、Oracle ASMによって、ディスクのすべてのエクステントが他のディスクに再配置された後で、ディスク・グループからそのディスクが除外され、ディスク・グループの均衡が再調整されます。
|
注意: DROP DISK ... NOFORCEを指定すると、ディスクの再利用やシステムからの削除を行っても問題ない状態になる前に制御がユーザーに戻ります。ディスクの除外操作が完了したことを確認するには、V$ASM_DISKビューを問い合せて、HEADER_STATUSの値がFORMERであることを確認します。STATEの値がDROPPINGの場合は、ディスクの削除や再利用はしないでください。V$ASM_OPERATIONビューを問い合せると、ディスク除外によって実行される均衡再調整に必要な時間の概算がわかります。REBALANCE ... WAIT(「rebalance_diskgroup_clause」を参照)も指定した場合は、この文から制御が戻るのは均衡再調整操作が完了してディスクがクリアされたときとなります。ただし、均衡の再調整が失敗することもあるため、V$ASM_DISKのHEADER_STATUS列がFORMERになっていることを必ず確認してください。 |
FORCEを指定すると、ディスクは、ディスク・グループからすぐに除外されます。次に、他のディスク上の冗長コピーからデータが再構築され、そのデータが他のディスクに再配置されて、ディスク・グループの均衡が再調整されます。
FORCE句は、削除するディスクをOracle ASMで読み取れなくなった場合などに役立ちます。ただし、NOFORCEによる削除より長い時間がかかり、ファイルの一部の保護が低下することがあります。外部冗長性ディスク・グループに対してFORCEを指定することはできません(そのディスクの冗長データが存在しない場合は、Oracle ASMがそのディスクからデータを読み取ってからでなければそのディスクを除外できないため)。
FORCEやNOFORCEを指定したかどうかにかかわらず、ディスクを削除する際の均衡の再調整操作には時間がかかります。進捗を監視するには、V$ASM_OPERATION動的パフォーマンス・ビューを問い合せます。均衡の再調整操作の詳細は、「rebalance_diskgroup_clause」を参照してください。
resize_disk_clause
この句を使用して、ディスク・グループ内の1つ以上のディスクに新しいサイズを指定できます。この句は、オペレーティング・システムによって戻されるサイズや、以前にディスクに指定したサイズを上書きします。ここでのQUORUMおよびREGULARキーワードのセマンティクスは、ディスク・グループへのディスクの追加時と同じセマンティクスとなります。「QUORUM | REGULAR」を参照してください。
RESIZE ALL この句を指定すると、ディスク・グループ内のすべてのディスクのサイズ変更操作を実行できます。
RESIZE DISK この句を指定すると、指定したディスクのみのサイズを変更できます。
V$ASM_DISK動的パフォーマンス・ビューのNAME列のように、disk_nameを指定します。
サイズ変更するディスクがクォーラム・グループである場合は、ディスク・グループを削除するためにQUORUMを指定する必要があります。「QUORUM | REGULAR」を参照してください。
RESIZE DISKS IN FAILGROUP この句を指定すると、指定した障害グループ内のすべてのディスクのサイズを変更できます。オプションのキーワードREGULARとQUORUMのどちらも指定しない場合、REGULARがデフォルトになります。サイズ変更する障害グループがQUORUM障害グループである場合、QUORUMキーワードを指定する必要があります。
SIZE ディスクのサイズをKB、MB、GBまたはTB単位で指定します。ディスク容量を超えるサイズは指定できません。ディスク容量よりも小さいサイズを指定した場合、Oracle ASMで使用されるディスク容量が制限されます。この句を省略した場合、Oracle ASMではオペレーティング・システムによって戻されたサイズが使用されます。
disk_offline_clauseを使用すると、1つ以上のディスクをオフラインに切り替えることができます。指定したディスクをオフラインに切り替えることによってディスク・グループの冗長性レベルに違反する場合、この句は失敗します。
V$ASM_DISK動的パフォーマンス・ビューのNAME列のように、disk_nameを指定します。
ここでのQUORUMおよびREGULARキーワードのセマンティクスは、ディスク・グループへのディスクの追加時と同じセマンティクスとなります。「QUORUM | REGULAR」を参照してください。
デフォルトでは、オフラインに切り替えられるとすぐに、ディスクはOracle ASMによって削除されます。timeout_clauseを指定してこの操作を遅らせることにより、ディスクを修復してオンラインに戻すことができます。分単位または時間単位でタイムアウト値を指定できます。単位を指定しない場合、デフォルトは時間です。
この句を複数回指定することによって、タイムアウトの期間を変更できます。指定するたびに、Oracle ASMによって、ディスク・グループがマウントされている間、直近のdisk_offline_clauseからの時間が測定されます。Oracle ASMによってオフライン・ディスクが削除されるまでの残り時間を知るには、V$ASM_DISKのrepair_timer列を問い合せます。
この句によって、disk_repair_time属性の以前の設定が上書きされます。ディスク・グループの属性の詳細は、表14-1「ディスク・グループの属性」を参照してください。
disk_online_clauseを使用すると、1つ以上のディスクをオンラインにし、ディスク・グループの均衡を再調整できます。V$ASM_DISK動的パフォーマンス・ビューのNAME列のように、disk_nameを指定します。ここでのQUORUMおよびREGULARキーワードのセマンティクスは、ディスク・グループへのディスクの追加時と同じセマンティクスとなります。「QUORUM | REGULAR」を参照してください。WAITおよびNOWAITキーワードのセマンティクスは、ディスク・グループの均衡の手動再調整と同じです。詳細は、WAIT | NOWAITを参照してください。
|
関連項目: Oracle ASMディスクのオンラインおよびオフラインへの切替えの詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。 |
この句を使用すると、ディスク・グループの均衡を手動で再調整できます。Oracle ASMでは、すべてのドライブ間で均等にデータファイルが再分散されます。記憶域構成が変化すると、Oracle ASMによって、ファイルが均等に配置され、ディスク・グループの均衡が自動的に再調整されるため、この句が必要なことはほとんどありません。ただし、POWER句を使用して均衡の自動再調整操作の速度を制御する場合、この句は便利です。
POWER POWER句には、0から11までの範囲内の値を指定します(0を指定すると均衡の再調整操作は停止し、11を指定するとOracle ASMによる均衡の再調整は可能なかぎり高速で実行されます)。POWER句の値のデフォルトは、ASM_POWER_LIMIT初期化パラメータの値です。
POWER句を省略すると、Oracle ASMによる均衡の自動および指定の再調整操作は、ASM_POWER_LIMIT初期化パラメータの値に基づいて実行されます。
|
注意: Oracle Database 11gリリース2 (11.2.0.2)以降では、COMPATIBLE.ASMディスク・グループの属性が11.2.0.2以上に設定されている場合、POWER句に0から1024の値を指定できます。 |
WAIT | NOWAIT この句を使用すると、制御を、均衡の再調整操作のどの段階でユーザーに戻すか指定できます。
WAITを指定すると、スクリプトでディスクを追加または削除するときに、ディスク・グループの均衡の再調整が完了してからユーザーに制御が戻ります。WAITモードで実行されている再調整操作を明示的に終了させることができますが、操作を終了させても、同じ文の中ですでに完了したディスクの追加や削除の操作が元に戻ることはありません。
NOWAITは、文の発行後すぐに制御をユーザーに戻す場合に指定します。これはデフォルトです。
均衡の再調整操作の進捗を監視するには、V$ASM_OPERATION動的パフォーマンス・ビューを問い合せます。
|
関連項目: ディスク・グループの均衡の再調整の詳細は、ASM_POWER_LIMITおよび『Oracle Automatic Storage Management管理者ガイド』を参照してください。また、「ディスク・グループの均衡の再調整例:」も参照してください。 |
check_diskgroup_clause
check_diskgroup_clauseを使用すると、Oracle ASMディスク・グループのメタデータの内部一貫性を検証できます。ディスク・グループは、マウントされている必要があります。Oracle ASMによってサマリー・エラーが表示され、検出されたエラーの詳細がアラート・ログに書き込まれます。
CHECKキーワードによって、次の処理が実行されます。
ディスクの一貫性をチェックします。
すべてのファイル・エクステント・マップおよび割当て表の一貫性をクロスチェックします。
別名メタデータ・ディレクトリおよびファイル・ディレクトリが正しくリンクされていることをチェックします。
別名ディレクトリ・ツリーが正しくリンクされていることをチェックします。
Oracle ASMメタデータ・ディレクトリに、到達不可能なブロックが割り当てられていないことをチェックします。
REPAIR | NOREPAIR この句を使用すると、一貫性チェックで検出されたエラーを修正するかどうかをOracle ASMに指示できます。デフォルトはNOREPAIRです。NOREPAIR設定は、非一貫性が検出された場合には警告を受け取るが、Oracle ASMによる修正処理を自動的に行わない場合に便利です。
非推奨になる予定の句 以前のリリースでは、ALL、DISK、DISKS IN FAILGROUPまたはFILEに対してCHECKを指定できました。これらの句は不要になったため、非推奨になる予定です。指定すると、動作は以前のリリースと同じで、アラート・ログにメッセージが追加されます。ただし、これらの句はサポートされなくなる予定であるため、新しいコードには使用しないことをお薦めします。非推奨になる予定の句は、次のとおりです。
ALL: ディスク・グループ内のすべてのディスクとファイルをチェックします。
DISK: ディスク・グループ内の1つ以上の指定したディスクをチェックします。
DISKS IN FAILGROUP: 指定した障害グループ内のすべてのディスクをチェックします。
FILE: ディスク・グループ内の1つ以上の指定したファイルをチェックします。ファイル名の参照書式のいずれかを使用する必要があります。Oracle ASMのファイル名の参照書式の詳細は、「ASM_filename」を参照してください。
diskgroup_template_clauses
テンプレートは、属性の名前付きコレクションです。ディスク・グループを作成すると、Oracle ASMによって、システムの一連の初期デフォルト・テンプレートがそのディスク・グループに関連付けられます。テンプレートで定義される属性は、そのディスク・グループ内のすべてのファイルに適用されます。表10-2に、システムのデフォルト・テンプレートと、様々な種類のファイルに適用される属性を示します。表の後に説明するdiskgroup_template_clausesを使用すると、テンプレートの属性を変更して、新しいテンプレートを作成できます。
ディスク・グループ・ファイルを作成した後は、この句を使用して属性を変更することはできません。これを行うには、Recovery Manager(RMAN)を使用して、新しい属性を持つ新しいファイルにそのファイルをコピーする必要があります。
表10-2 Oracle Automatic Storage Managementシステムのファイル・グループのデフォルト・テンプレート
| テンプレート名 | ファイルの種類 | 外部冗長性のディスク・グループでのミラー化レベル | 標準冗長性のディスク・グループでのミラー化レベル | 高冗長性のディスク・グループでのミラー化レベル | ストライプ化 | 領域 |
|---|---|---|---|---|---|---|
|
|
制御ファイル |
保護なし |
3方向ミラー |
3方向ミラー |
|
|
|
|
データファイルとコピー |
保護なし |
双方向ミラー |
3方向ミラー |
|
|
|
|
オンライン・ログ |
保護なし |
双方向ミラー |
3方向ミラー |
|
|
|
|
アーカイブ・ログ |
保護なし |
双方向ミラー |
3方向ミラー |
|
|
|
|
一時ファイル |
保護なし |
双方向ミラー |
3方向ミラー |
|
|
|
|
データファイルのバックアップ・ピース、データファイルの増分バックアップ・ピース、およびアーカイブ・ログのバックアップ・ピース |
保護なし |
双方向ミラー |
3方向ミラー |
|
|
|
|
SPFILE |
保護なし |
双方向ミラー |
3方向ミラー |
|
|
|
|
障害回復構成(スタンバイ・データベースで使用) |
保護なし |
双方向ミラー |
3方向ミラー |
|
|
|
|
フラッシュバック・ログ |
保護なし |
双方向ミラー |
3方向ミラー |
|
|
|
|
ブロック・チェンジ・トラッキング・データ(増分バックアップで使用) |
保護なし |
双方向ミラー |
3方向ミラー |
|
|
|
|
データ・ポンプ・ダンプ・セット |
保護なし |
双方向ミラー |
3方向ミラー |
|
|
|
|
クロス・プラットフォーム変換データファイル |
保護なし |
双方向ミラー |
3方向ミラー |
|
|
|
|
自動バックアップ・ファイル |
保護なし |
双方向ミラー |
3方向ミラー |
|
|
|
|
SPFILE |
保護なし |
双方向ミラー |
3方向ミラー |
|
|
|
|
Oracle Cluster Registryファイル |
保護なし |
双方向ミラー |
3方向ミラー |
|
|
ADD TEMPLATE この句を使用すると、ディスク・グループに1つ以上の名前付きテンプレートを追加できます。既存のテンプレートの名前を特定するには、V$ASM_TEMPLATE動的パフォーマンス・ビューを問い合せます。
MODIFY TEMPLATE この句を使用すると、システムのデフォルト・ディスク・グループ・テンプレートまたはユーザー定義のディスク・グループ・テンプレートの属性を変更できます。指定した属性のみが変更されます。指定していないプロパティは、現在の値のまま変更されません。
|
注意: 以前のリリースでは、キーワードALTER TEMPLATEがMODIFY TEMPLATEのかわりに使用されました。ALTERキーワードは、下位互換性のためにまだサポートされていますが、他のOracle SQLとの一貫性のためにMODIFYに置き換えられました。 |
template_name 追加または変更するテンプレートの名前を指定します。テンプレート名には、データベース・スキーマ・オブジェクトと同じネーミング規則および制限が適用されます。データベース・オブジェクト名の詳細は、「データベース・オブジェクトのネーミング規則」を参照してください。
redundancy_clause 新しく追加または変更するテンプレートの冗長性レベルを指定します。
MIRROR: このテンプレートが適用されるファイルは、データ・ブロックのミラー化によって保護されます。標準冗長性ディスク・グループでは、プライマリ・エクステントごとに1つのミラー・エクステントが存在します(双方向ミラー化)。高冗長性ディスク・グループでは、プライマリ・エクステントごとに2つのミラー・エクステントが存在します(3方向ミラー化)。外部冗長性ディスク・グループのテンプレートには、MIRRORを指定することはできません。
HIGH: このテンプレートが適用されるファイルは、データ・ブロックのミラー化によって保護されます。標準冗長性および高冗長性ディスク・グループでは、プライマリ・エクステントごとに2つのミラー・エクステントが存在します(3方向ミラー化)。外部冗長性ディスク・グループのテンプレートには、HIGHを指定することはできません。
UNPROTECTED: このテンプレートが適用されるファイルは、自動ストレージ管理によってメディア障害から保護されません。システムのアクションまたはユーザー・コマンドによってディスクがオフラインになると、保護されていないファイルが失われる可能性があります。外部冗長性ディスク・グループには、UNPROTECTEDのみが有効な設定です。高冗長性ディスク・グループのテンプレートには、UNPROTECTEDを指定することはできません。標準または高冗長性ディスク・グループでは、保護されていないファイルを使用しないことをお薦めします。
この句を指定しない場合、デフォルト値は、標準冗長性ディスク・グループではMIRROR、高冗長性ディスク・グループではHIGH、外部冗長性ディスク・グループではUNPROTECTEDになります。
striping_clause このテンプレートが適用されるファイルのストライプ化の方法を指定します。
FINE: このテンプレートが適用されるファイルは、128KB単位でストライプ化されます。このストライプ化モードはOracle ASM spfileでは無効です。
COARSE: このテンプレートが適用されるファイルは、1MB単位でストライプ化されます。これはデフォルト値です。
disk_region_clause
この句を使用すると、ディスク・グループ・ファイルのインテリジェント・データ配置属性を指定できます。Oracle ASMによってファイルに割り当てるディスク内の領域を次のように指定します。
HOT: エクステントはスピンドルから最も離れたディスク領域に割り当てられます。ディスク上のこれらの外側のトラックは内側のトラックより長いため、より多くのセクターを含み、スループットもより向上します。
COLD: エクステントはスピンドルに最も近いディスク領域に割り当てられます。
MIRRORHOTおよびMIRRORCOLD: ファイルのミラー化されたデータ・ブロックに対する領域を指定します。
目的のディスク領域に使用できる領域がない場合は、Oracle ASMによって他の領域のエクステントが割り当てられますが、領域のサイズを調整するために均衡の再調整が開始されます。
|
関連項目: インテリジェント・ディスク配置の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。 |
DROP TEMPLATE この句を使用すると、ディスク・グループから1つ以上のテンプレートを削除できます。この句で削除できるのはユーザー定義テンプレートのみであり、システム・デフォルト・テンプレートは削除できません。
diskgroup_directory_clauses
Oracle ASMファイル名の別名(「diskgroup_alias_clauses」を参照)を作成する前に、別名が存在する場所の完全なディレクトリ構造を指定する必要があります。diskgroup_directory_clausesを使用すると、そのようなディレクトリ構造を作成および操作できます。
ADD DIRECTORY この句を使用すると、階層的に名付けられた別名の新しいディレクトリ・パスを作成できます。ディレクトリの各コンポーネントを区切るには、スラッシュ(/)を使用します。各ディレクトリ・コンポーネントの最大長は48バイトであり、スラッシュ文字を含むことはできません。コンポーネントの最初または最後の文字に空白を使用することはできません。ディレクトリ・パス全体の長さは、256バイトから、このディレクトリに作成する別名(「diskgroup_alias_clauses」を参照)の長さを引いた長さを超えることはできません。
DROP DIRECTORY この句を使用すると、階層的に名付けられた別名のディレクトリを削除できます。FORCEが指定されていないかぎり、Oracle ASMでは、別名の定義を含むディレクトリは削除されません。この句は、システム別名の一部として作成されたディレクトリの削除には無効です。そのようなディレクトリは、V$ASM_ALIAS動的パフォーマンス・ビューのSYSTEM_CREATED列の値がYとなっています。
RENAME DIRECTORY この句を使用すると、階層的に名付けられた別名のディレクトリ名を変更できます。この句は、システム別名の一部として作成されたディレクトリ名の変更には無効です。そのようなディレクトリは、V$ASM_ALIAS動的パフォーマンス・ビューのSYSTEM_CREATED列の値がYとなっています。
diskgroup_alias_clauses
Oracle ASMファイルが作成されると(暗黙的かユーザー指定によるかにかかわらず)、そのファイルには、ドット付きの数値の組で終わる完全修飾名が割り当てられます(「file_specification」を参照)。diskgroup_alias_clausesを使用すると、Oracle ASMファイル名のわかりやすい別名を作成できます。ドット付きの数値の組で終わる別名は指定できません(このような書式を使用すると、Oracle ASMファイル名と区別できないため)。
この句を指定する前に、まずネーミング規則に従ってディレクトリ構造を作成する必要があります(「diskgroup_directory_clauses」を参照)。別名全体の長さは最大256バイトです(ディレクトリの接頭辞を含む)。別名では大/小文字は区別されませんが、大/小文字の区別は保持されます。
ADD ALIAS この句を使用すると、Oracle ASMファイル名の別名を作成できます。alias_nameには、ディレクトリのフルパスと別名を指定します。既存のOracle ASM別名の名前を特定するには、V$ASM_ALIAS動的パフォーマンス・ビューを問い合せます。Oracle ASMファイル名の詳細は、「ASM_filename」を参照してください。
DROP ALIAS この句を使用すると、ディスク・グループ・ディレクトリから別名を削除できます。各別名には、ディレクトリのフルパスと別名を指定します。別名が参照する元のファイルは変更されません。
RENAME ALIAS この句を使用すると、既存の別名を変更できます。alias_nameには、ディレクトリのフルパスと別名を指定します。
別名の削除および名前の変更の制限事項: システム生成された別名を削除したり、名前を変更することはできません。別名がシステム生成されたものかどうかを確認するには、V$ASM_ALIAS動的パフォーマンス・ビューのSYSTEM_CREATED列を問い合せます。
これらの句を使用して、物理ボリューム・デバイスに対応する論理Oracle ASM動的ボリューム・マネージャ(Oracle ADVM)のボリュームを操作できます。これらの句を使用するには、Oracle ASMが開始されていて、変更するディスク・グループがマウントされている必要があります。
|
関連項目: 例を含むディスク・グループ・ボリュームの詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。 |
add_volume_clause この句を使用すると、ディスク・グループにボリュームを追加できます。
asm_volumeでは、ボリュームの名前を指定します。名前に使用できるのは英数字のみで、先頭の文字は英字にする必要があります。名前の最大長はプラットフォームによって異なります。詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。
size_clauseには、Oracle ADVMボリュームのサイズを指定します。Oracle ASMインスタンスによって、ボリュームを作成するために十分な領域が存在するかどうかが確認されます。十分な領域が存在しない場合は、Oracle ASMによりエラーが戻されます。十分な領域が存在する場合は、Oracle ASMインスタンスが実行されディスク・グループがマウントされているすべてのクラスタ内ノードに対し、追加が通知されます。Oracle ASMは、ファイル・システムの作成およびマウントに使用可能なボリューム・デバイスをそれらのノード上に作成して使用できるようにします。
次のオプションの設定も使用できます。
redundancy_clauseで、Oracle ADVMボリュームの冗長性レベルを指定します。標準冗長ディスク・グループでボリュームを作成する場合のみ、この句を指定できます。次のボリューム冗長レベルを指定できます。
MIRROR: ボリュームの双方向ミラー化。これはデフォルトです。
HIGH: ボリュームの3方向ミラー化。
UNPROTECTED: ボリュームのミラー化なし。
高冗長ディスク・グループまたは外部冗長ディスク・グループでボリュームを作成する場合は、redundancy_clauseを指定できません。その場合には、エラーが発生します。高冗長ディスク・グループでは、Oracle Databaseによりボリューム冗長が自動的にHIGH (3方向ミラー化)に設定されます。外部冗長ディスク・グループでは、Oracle Databaseによりボリューム冗長が自動的にUNPROTECTED (ミラー化なし)に設定されます。
STRIPE_WIDTH句では、Oracle ADVMボリュームのストライプ幅を指定します。有効な値は、4KBから1MBまでの範囲の2の累乗です。デフォルト値は128Kです。
STRIPE_COLUMNS句では、Oracle ADVMボリュームのストライプ・セット1つ当たりのストライプの数を指定します。有効範囲は1から8です。デフォルトは4です。STRIPE_COLUMNSを1に設定すると、ストライプ化は無効になります。この場合、ストライプ幅はボリュームのエクステント・サイズになります。このボリュームのエクステント・サイズは、ディスク・グループの割当て単位(AU)の64倍です。
disk_region_clause句では、ディスク・グループ・ボリュームのプライマリとプライマリ以外の両方のミラーのインテリジェント・データ配置属性を指定します。ともにデフォルトはCOLDです。この句の詳細は、「disk_region_clause」を参照してください。
modify_volume_clause: この句を使用すると、既存のOracle ADVMボリュームの特性を変更できます。次の句を1つ以上指定する必要があります。
disk_region_clause句では、ディスク・グループ・ボリュームのプライマリとプライマリ以外の両方のミラーのインテリジェント・データ配置属性を指定します。プライマリ・ミラーのデフォルトはCOLDです。ミラーおよび高冗長性のデフォルトはHOTです。この句の詳細は、「disk_region_clause」を参照してください。
MOUNTPATH句では、ボリュームに関連付けられたマウントパスの名前を指定します。mountpath_nameは、最大1024文字まで指定可能です。
USAGE句では、ボリュームに関連付けられた使用状況の名前を指定します。usage_nameは、最大30文字まで指定可能です。
RESIZE VOLUME句
この句を使用すると、既存のOracle ADVMボリュームのサイズを変更できます。Oracle ASMクラスタ内のすべてのノードに新しいサイズが伝播されます。ボリューム上にOracle Automatic Storage Managementファイル・システム(ACFS)が存在する場合は、ALTER DISKGROUP文のかわりにacfsutil sizeコマンドを使用する必要があります。
|
関連項目: acfsutil sizeコマンドの使用方法の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。 |
DROP VOLUME句: この句を使用すると、既存のOracle ADVMボリュームの記憶域コンテナであるOracle ASMファイルを削除できます。Oracle ASMクラスタ内では、Oracle ASMインスタンスが実行されディスク・グループがオープンしているすべてのノードに対する削除操作が通知され、これにより、ボリューム・デバイスが削除されます。ボリューム・ファイルがオープンしている場合は、この句によりエラーが戻されます。
この句を使用すると、ディスク・グループの属性を指定できます。表14-1「ディスク・グループの属性」に、この句で設定できる属性を示します。この句の動作の詳細は、「CREATE DISKGROUP」の「ATTRIBUTE句」を参照してください。
modify_diskgroup_file
この句を使用すると、既存のディスク・グループ・ファイルのインテリジェント・データ配置属性を変更できます。ファイルのインテリジェント・データ配置を変更する場合、この処理はそのファイルの新しいエクステントには適用されますが、均衡の再調整操作を実行するまでは既存のファイルの内容には影響しません。均衡の再調整を手動で開始することで、新しいインテリジェント・データ配置ポリシーを既存のファイルの内容に適用できます。均衡の再調整操作では、最後に指定したポリシーがファイル・エクステントに対して使用されます。
|
関連項目:
|
drop_diskgroup_file_clause
この句を使用すると、ディスク・グループからファイルを削除できます。Oracle ASMによって、削除するファイルに関連付けられたすべての別名も削除されます。ファイル名の参照書式のいずれかを使用する必要があります。ほとんどのOracle ASMファイルはOracle Managed Filesであり、不要になると自動的に削除されるため、手動で削除する必要はありません。Oracle ASMのファイル名の参照書式の詳細は、「ASM_filename」を参照してください。
ディスク・グループ・ファイルが現在のインスタンスまたはOracle ASMクラスタ内のインスタンスの起動に使用されたspfileである場合は、そのディスク・グループ・ファイルを削除できません。
usergroup_clauses
これらの句を使用して、ディスク・グループにユーザー・グループを追加したり、ディスク・グループからユーザー・グループを削除したり、または既存のユーザー・グループにメンバーを追加したり、そこからメンバーを削除することができます。
|
関連項目: 例を含むユーザー・グループとメンバーの詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。 |
ADD USERGROUP この句を使用すると、ディスク・グループにユーザー・グループを追加できます。ユーザー・グループを作成するには、SYSASMまたはSYSDBA権限が必要です。ユーザー・グループ名は、最大30文字まで指定可能です。ユーザー名を指定する場合は、それがOSパスワード・ファイル内に含まれている必要があります。
MODIFY USERGROUP これらの句を使用すると、既存のユーザー・グループにメンバーを追加したり、そこからメンバーを削除できます。これらの句を使用するには、ユーザー・グループのOracle ASM管理者(SYSASM権限を所持)またはOracle ASM作成者(SYSDBA権限を所持)である必要があります。ユーザー名は、OSパスワード・ファイル内の既存のユーザーである必要があります。
DROP USERGROUP この句を使用すると、ディスク・グループから既存のユーザー・グループを削除できます。この句を使用するには、ユーザー・グループのOracle ASM管理者(SYSASM権限を所持)またはOracle ASM作成者(SYSDBA権限を所持)である必要があります。ユーザー・グループを削除すると、有効なユーザー・グループを含まないディスク・グループ・ファイルが残る場合があります。この場合は、「file_permissions_clause」を使用して手動でディスク・グループ・ファイルを更新し、新しい有効なグループを追加できます。
user_clauses
これらの句を使用すると、ディスク・グループにユーザーを追加したり、そこからユーザーを削除できます。
ADD USER この句を使用すると、Oracle ASMディスク・グループに1人以上のオペレーティング・システム(OS)・ユーザーを追加して、それらのユーザーにディスク・グループに対するアクセス権限を付与できます。userの名前は既存のOSユーザーである必要があり、そのユーザー名には対応するOSユーザーIDまたはシステムIDが含まれている必要があります。指定したユーザーがすでにディスク・グループ内に存在する場合(V$ASM_USERで表示)は、コマンドによってエラーが記録され、他にもユーザーを指定している場合は、続けて他のユーザーの追加が行われます。データベース・インスタンスを実行しているOSユーザーは、インスタンスがディスク・グループにアクセスする際にディスク・グループに自動的に追加されるため、このコマンドを使用する必要はほとんどありません。ただし、この句は特定のデータベース・インスタンスに関連付けられていないユーザーを追加する場合に有効です。
DROP USER この句を使用すると、ディスク・グループから1人以上のユーザーを削除できます。この句で指定したユーザーがディスク・グループに存在しない場合は、エラーが記録され、他にもユーザーを指定した場合は続けて他のユーザーの削除が行われます。そのユーザーが所有するファイルがある場合は、CASCADEキーワードを指定する必要があります(指定すると、ユーザーとそのユーザーのすべてのファイルが削除されます)。そのユーザーが所有しているファイルがオープンされている場合は、DROP USER CASCADEは失敗し、エラーが戻されます。
ユーザーが所有するファイルを削除せずにユーザーを削除するには、各ファイルの所有者を他のユーザーに変更し、そのユーザーに対してALTER DISKGROUP ... DROP USER文を発行します。
この句を使用して、ディスク・グループ・ファイルの権限の設定を変更できます。権限の3つのクラスは、所有者、ユーザー・グループおよびその他です。この句を使用するには、ファイルの所有者またはOracle ASM管理者である必要があります。オープンされているファイルに対しては、この句は使用できません。
この句を使用すると、指定したファイルに対して所有者またはユーザー・グループを設定できます。ファイルの所有者を変更するには、Oracle ASM管理者である必要があります。ファイルのユーザー・グループを変更するには、ファイルの所有者またはOracle ASM管理者である必要があります。さらに、ファイルに関連するユーザー・グループを変更する場合は、指定したユーザー・グループがディスク・グループ内にすでに存在し、ファイルの所有者がそのユーザー・グループのメンバーである必要があります。オープンされているファイルに対しては、この句は使用できません。
undrop_disk_clause
この句を使用すると、ディスク・グループからのディスクの削除を取り消すことができます。1つ以上のディスク・グループ内のすべてのディスク(diskgroup_nameを指定)、またはすべてのディスク・グループ内のすべてのディスク(ALLを指定)の保留中の削除を取り消すことができます。
ディスク・グループから完全に削除されたディスクや、完全に削除されたディスク・グループに対しては、この句は無効です。この句を指定すると、実行時間が長い操作が行われます。操作の状態を確認するには、V$ASM_OPERATION動的パフォーマンス・ビューを問い合せます。
|
関連項目: 実行時間が長いOracle ASM操作の詳細は、V$ASM_OPERATIONを参照してください。 |
diskgroup_availability
この句を使用すると、Oracle ASMインスタンスと同じノードで実行されているデータベース・インスタンスに対して、1つ以上のディスク・グループを使用可能または使用禁止にできます。この句は、クラスタ内の他のノードのディスク・グループの状態には影響しません。
MOUNT
MOUNTを指定すると、ローカルOracle ASMインスタンスのディスク・グループをマウントできます。ALL MOUNTを指定すると、ASM_DISKGROUPS初期化パラメータで指定されたすべてのディスク・グループがマウントされます。ファイル操作は、ディスク・グループがマウントされている場合のみ可能です。Oracle ASMがクラスタ内またはOracle Restartで管理されたスタンドアロン・サーバー内で実行されている場合、MOUNT句は対応するリソースを自動的にオンラインにします。
RESTRICTED | NORMAL これらの句を使用すると、ディスク・グループがマウントされる方式を決定できます。
RESTRICTEDモードでは、ディスク・グループは単一インスタンス排他モードでマウントされます。同じクラスタ内の他のOracle ASMインスタンスは、そのディスク・グループをマウントできません。このモードでは、Oracle ASMクライアントはディスク・グループを使用できません。
NORMALモードでは、ディスク・グループは共有モードでマウントされるので、他のOracle ASMインスタンスおよびクライアントがディスク・グループにアクセスできます。これはデフォルトです。
FORCE | NOFORCE これらの句を使用すると、ディスク・グループがマウントされる環境を決定できます。
FORCEモードでは、Oracle ASMは、ディスク・グループに属するすべてのデバイスを検出できない場合でも、そのディスク・グループをマウントしようとします。この設定は、標準冗長性または高冗長性ディスク・グループのディスマウント中に、そのディスクの一部が使用不可になった場合に役立ちます。MOUNT FORCEが成功した場合、Oracle ASMは欠落しているディスクをオフラインにします。
Oracle ASMがディスク・グループ内のすべてのディスクを検出した場合、MOUNT FORCEは失敗します。そのため、MOUNT FORCE設定は、一部のディスクが使用不可の場合にのみ使用します。それ以外の場合は、NOFORCEを使用します。
標準冗長性および高冗長性ディスク・グループでは、1つの障害グループのディスクが使用不可になる場合があり、MOUNT FORCEは正常に実行されます。また、高冗長性ディスク・グループでは、2つの異なる障害グループの2つのディスクが使用不可になる場合があり、MOUNT FORCEは正常に実行されます。使用不可のディスクのその他の組合せでは、Oracle ASMはすべてのユーザー・データまたはメタデータの有効なコピーが使用可能なディスク上にあることを保証できないため、操作は失敗します。
NOFORCEモードでは、Oracle ASMは、すべてのメンバー・ディスクが検出されないかぎり、ディスク・グループをマウントしようとしません。これはデフォルトです。
DISMOUNT
DISMOUNTを指定すると、指定したディスク・グループをディスマウントできます。FORCEが指定されていないかぎり、ディスク・グループのいずれかのファイルがオープンされていると、Oracle ASMによりエラーが戻されます。ALL DISMOUNTを指定すると、現在マウントされているすべてのディスク・グループがディスマウントされます。ファイル操作は、ディスク・グループがマウントされている場合のみ可能です。Oracle ASMがクラスタ内またはOracle Restartで管理されたスタンドアロン・サーバー内で実行されている場合、DISMOUNT句は対応するリソースを自動的にオフラインにします。
FORCE FORCEを指定すると、ディスク・グループのいずれかのファイルがオープンされていてもディスク・グループをディスマウントするように、Oracle ASMに指示できます。
enable_disable_volume
この句を使用すると、ディスク・グループ内の1つ以上のボリュームを有効または無効にできます。
有効化したボリュームごとに、Oracle ASMは、ファイル・システムの作成またはマウントに使用可能なボリューム・デバイス・ファイルをローカル・ノード上に作成します。
無効化したボリュームごとに、Oracle ASMは、ローカル・ノード上のデバイス・ファイルを削除します。ボリューム・ファイルがローカル・ノード上でオープンしている場合は、DISABLE句によりエラーが戻されます。
ALLキーワードを使用すると、ディスク・グループ内のすべてのボリュームを有効または無効にできます。ALTER DISKGROUP ALL ...を指定する場合は、この句内でALLキーワードも使用する必要があります。
|
関連項目: ディスク・グループ・ボリュームの詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。 |
例
次の例では、dgroup_01というディスク・グループが必要です。ASM_DISKSTRINGが/devices/disks/*に設定されていることが前提となります。またOracleユーザーが/devices/disks/d100への読取り/書込み権限を持っていると想定しています。dgroup_01の作成方法については、「ディスク・グループの作成例:」を参照してください。
ディスク・グループへのディスクの追加例: 次の文は、ディスクd100をディスク・グループdgroup_01に追加します。
ALTER DISKGROUP dgroup_01 ADD DISK '/devices/disks/d100';
ディスク・グループからのディスクの削除例: 次の文は、ディスクdgroup_01_0000をディスク・グループdgroup_01から削除します。
ALTER DISKGROUP dgroup_01 DROP DISK dgroup_01_0000;
ディスク・グループからのディスクの削除の取消し例: 次の文は、ディスク・グループdgroup_01からのディスクの削除を取り消します。
ALTER DISKGROUP dgroup_01 UNDROP DISKS;
ディスク・グループのサイズの変更例: 次の文は、ディスク・グループdgroup_01のすべてのディスクのサイズを変更します。
ALTER DISKGROUP dgroup_01 RESIZE ALL SIZE 36G;
ディスク・グループの均衡の再調整例: 次の文は、ディスク・グループdgroup_01の均衡を手動で再調整し、Oracle ASMによる均衡の再調整を最高速度で実行します。
ALTER DISKGROUP dgroup_01 REBALANCE POWER 11 WAIT;
WAITキーワードを指定すると、データベースでは、ディスク・グループの均衡が再調整されるのを待機してからユーザーに制御を戻します。
ディスク・グループのメタデータの内部一貫性の検証例: 次の文は、Oracle ASMディスク・グループのメタデータの内部一貫性を検証し、検出されたエラーの修正をOracle ASMに指示します。
ALTER DISKGROUP dgroup_01 CHECK ALL REPAIR;
ディスク・グループへの名前付きテンプレートの追加例: 次の文は、名前付きテンプレートtemplate_01をディスク・グループdgroup_01に追加します。
ALTER DISKGROUP dgroup_01
ADD TEMPLATE template_01
ATTRIBUTES (UNPROTECTED COARSE);
ディスク・グループ・テンプレートの属性の変更例: 次の文は、システムのデフォルト・ディスク・グループ・テンプレートまたはユーザー定義のディスク・グループ・テンプレートtemplate_01の属性を変更します。
ALTER DISKGROUP dgroup_01
MODIFY TEMPLATE template_01
ATTRIBUTES (FINE);
ディスク・グループからのユーザー定義テンプレートの削除例: 次の文は、ユーザー定義テンプレートtemplate_01をディスク・グループdgroup_01から削除します。
ALTER DISKGROUP dgroup_01 DROP TEMPLATE template_01;
階層的に名付けられた別名のディレクトリ・パスの作成例: 次の文は、別名が存在する場所のディレクトリ構造を指定します。
ALTER DISKGROUP dgroup_01 ADD DIRECTORY '+dgroup_01/alias_dir';
Oracle ASMファイル名の別名の作成例: 次の文は、Oracle ASMの数値のファイル名を指定してユーザー別名を作成します。
ALTER DISKGROUP dgroup_01
ADD ALIAS '+dgroup_01/alias_dir/datafile.dbf'
FOR '+dgroup_01.261.1';
ディスク・グループのディスマウント例: 次の文は、ディスク・グループdgroup_01をディスマウントします。この文は、アクティブなファイルが1つ以上ある場合でも、ディスク・グループをディスマウントします。
ALTER DISKGROUP dgroup_01 DISMOUNT FORCE;
ディスク・グループのマウント例: 次の文は、ディスク・グループdgroup_01をマウントします。
ALTER DISKGROUP dgroup_01 MOUNT;