この章では、Oracle 自動ストレージ管理(Oracle ASM)ディスク・グループの管理方法について説明します。この情報には、Oracle ASMディスク・グループの作成、変更、ドロップ、マウント、およびディスマウントの方法が含まれます。ディスク・グループを管理している間も、Oracle ASMを使用するデータベース・インスタンスは引き続き動作できます。
この章の例では、SQL文を使用しています。これらの例では、SQL*PlusはOracle ASMがインストールされているOracle Gridホームから実行され、Oracle環境変数はこのホームに設定されていることを前提としています。また、Oracle ASMインスタンスが実行中であることも前提としています。この章の内容は次のとおりです。
Oracle ASMインスタンスの起動の詳細は、「Oracle ASMインスタンスの起動」を参照してください。
Oracle Enterprise Managerを使用したOracle ASMディスク・グループ管理の詳細は、第9章「Oracle Enterprise ManagerによるOracle ASMの管理」を参照してください。
Oracle ASMコンフィギュレーション・アシスタント(ASMCA)を使用したOracle ASMディスク・グループ管理の詳細は、第11章「Oracle ASMコンフィギュレーション・アシスタント」を参照してください。
ASMCMDを使用したOracle ASMディスク・グループ管理の詳細は、第12章「Oracle ASMコマンドライン・ユーティリティ」を参照してください。
関連項目: Oracle ASMについては、Oracle Technology Network Webサイトhttp://www.oracle.com/technetwork/database/cloud-storage/index.html の「Oracle Cloud Storage」ページを参照してください。 |
ディスク・グループ属性は、Oracle ASMインスタンスではなくディスク・グループに関連付けられるパラメータです。
ディスク・グループ属性は、次に記載がないかぎり、ディスク・グループの作成または変更時に設定できます。
この属性は、ディスク・グループの変更時にのみ設定できます。
ACCESS_CONTROL.ENABLED
属性についての情報は、「Oracle ASMファイル・アクセス制御のディスク・グループ属性の設定」を参照してください。
この属性は、ディスク・グループの変更時にのみ設定できます。
ACCESS_CONTROL.UMASK
属性についての情報は、「Oracle ASMファイル・アクセス制御のディスク・グループ属性の設定」を参照してください。
この属性は、ディスク・グループの作成時にのみ設定できます。
割当て単位サイズおよびエクステントの詳細は、「割当て単位」、「エクテント」および「割当て単位サイズの指定」を参照してください。AU_SIZE
属性の使用例は、例4-1「DATAディスク・グループの作成」を参照してください。
この属性は、Oracle Exadataストレージにのみ適用されます。
関連項目: Oracle Exadataのドキュメント |
COMPATIBLE.ASM
属性の詳細は、「COMPATIBLE.ASM」を参照してください。
COMPATIBLE.RDBMS
属性の詳細は、「COMPATIBLE.RDBMS」を参照してください。
COMPATIBLE.ADVM
属性の詳細は、「COMPATIBLE.ADVM」および「Oracle ASM動的ボリューム・マネージャの概要」を参照してください。
CONTENT.TYPE
属性ではdata
、recovery
、またはsystem
のディスク・グループ・タイプが識別されます。タイプ値は、Oracle ASMミラー・コピーのデータがある障害グループ内の最も近くにあるディスクまでの距離を決定します。デフォルト値はdata
で、1から最も近いディスクまでの距離を指定します。recovery
の値は、3から最も近いディスクまでの距離と、5の距離を指定するsystem
の値を指定します。
属性は、ディスク・グループを作成または変更するときに指定されます。ALTER
DISKGROUP
を使用してCONTENT.TYPE
属性が設定または変更される場合、ディスク・グループのリバランスが明示的に実行されるまで新しい構成は反映されません。
CONTENT.TYPE
属性は、標準または高い冗長性に設定されたディスク・グループのみに有効です。ディスク・グループにCONTENT.TYPE
属性を有効にするには、COMPATIBLE.ASM
属性を11.2.0.3
以上に設定する必要があります。
属性は、SQL、ASMCMD、またはASMCAによって設定できます。次に例を示します。
SQL> CREATE DISKGROUP data NORMAL REDUNDANCY FAILGROUP controller1 DISK '/devices/diska1' NAME diska1, ... ATTRIBUTE 'compatible.asm' = '11.2.0.3', 'content.type' = 'recovery', ... SQL> ALTER DISKGROUP data SET ATTRIBUTE 'content.type' = 'data';
この属性は、主にOracle Exadataストレージでの使用を対象としています。
関連項目: Oracle Exadataのドキュメント |
この属性は、ディスク・グループの変更時にのみ設定できます。
DISK_REPAIR_TIME
属性の詳細は、「Oracle ASMの高速ミラー再同期」を参照してください。
これらの属性は、Oracle Exadataストレージでの使用を対象としています。
関連項目: Oracle Exadataのドキュメント |
この属性は、ディスク・グループの作成時にのみ設定できます。
SECTOR_SIZE
属性の詳細は、「ドライブのセクター・サイズの指定」を参照してください。
STORAGE.TYPE
ディスク・グループ属性は、ディスク・グループ内のディスクのタイプを指定します。可能な値は、AXIOM
、ZFSSA
、およびOTHER
です。属性をAXIOM
またはZFSSA
に設定する場合、ディスク・グループ内のすべてのディスクはそのタイプである必要があります。属性をOTHER
に設定する場合、ディスク・グループ内のディスクはどのタイプでも使用できます。
STORAGE.TYPE
ディスク・グループ属性をAXIOM
またはZFSSA
に設定する場合、Pillar AxiomまたはZFSでハイブリッド列圧縮機能(HCC)を使用できます。
注意: ZFSストレージは、Direct NFS (dNFS)およびPillar Axiomストレージによって、SCSI/Fiberチャネルとして追加される必要があります。 |
STORAGE.TYPE
属性を設定するには、COMPATIBLE.ASM
およびCOMPATIBLE.RDBMS
ディスク・グループ属性を11.2.0.3
以上に設定する必要があります。ディスク・グループの互換性属性の詳細は、「ディスク・グループの互換性」を参照してください。
STORAGE.TYPE
属性は、ディスク・グループの作成時、またはディスク・グループ変更時に設定できます。クライアントがディスク・グループに接続されているときに属性を設定できません。たとえば、Oracle ADVMボリュームがディスク・グループ上で有効なときに属性を設定できません。
属性が設定されるまでは、V$ASM_ATTRIBUTE
ビュー内またはASMCMD lsattr
コマンドで、属性は表示されません。
関連項目: ハイブリッド列圧縮の詳細は、『Oracle Database概要』を参照してください。ハイブリッド列圧縮は、Oracleのストレージ・システムの機能です。 |
この項で示したディスク・グループ属性に加えて、テンプレート属性もディスク・グループに割り当てられます。テンプレート属性の詳細は、「ディスク・グループ・テンプレートの管理」を参照してください。
ディスク・グループ属性は、V$ASM_ATTRIBUTE
ビューおよびASMCMD lsattr
コマンドを使用して表示できます。V$ASM_ATTRIBUTE
ビューの使用例は、例6-1を参照してください。lsattr
コマンドの詳細は、「lsattr」を参照してください。
この項では、ディスク・グループの作成について説明します。CREATE
DISKGROUP
SQL文を使用してディスク・グループを作成できます。
この項の内容は次のとおりです。
CREATE DISKGROUP
SQL文を使用してディスク・グループを作成します。ディスク・グループを作成する場合、次の操作を実行します。
指定したディスク・グループ名では大文字と小文字は区別されず、内部的に保存される場合は常に大文字に変換されます。
注意: 引用符で囲む必要があるため、識別子をデータベース・オブジェクト名に使用することをお薦めしません。これらの引用符で囲んだ識別子は、SQL CREATE文では(CREATE DISKGROUP "1DATA "など)名前として有効ですが、データベース・オブジェクトを管理する他のツールを使用する場合は名前として有効ではないことがあります。 |
Oracle ASMでファイルをミラー化するには、冗長性レベルをNORMAL REDUNDANCY
(デフォルトでほとんどのファイル・タイプについて双方向ミラー化)またはHIGH REDUNDANCY
(すべてのファイルについて3方向ミラー化)と指定します。Oracle ASMによるミラー化が不要の場合は、EXTERNAL REDUNDANCY
を指定します。たとえば、ストレージ・アレイ保護機能を使用するには、EXTERNAL REDUNDANCY
を選択します。
ディスク・グループの作成後は、ディスク・グループの冗長性レベルを変更できません。冗長性レベルを変更するには、該当する冗長性を備えた別のディスク・グループを作成し、ファイルを新しいディスク・グループに移動します。
領域の均衡を保ち、ミラー化されたデータが均等に分散されるように、同じサイズの障害グループを作成することをお薦めします。
冗長性レベルの詳細は、「ミラー化、冗長性および障害グループ・オプション」を参照してください。
ディスク・グループに属するOracle ASMディスクとしてフォーマットするディスクを指定します。
ディスクは、検索文字列でオペレーティング・システム依存のワイルドカード文字を使用して指定できます。Oracle ASMでは、この文字列を使用してディスクが検索されます。NAME
句でディスクの名前を指定するか、システム生成の名前を使用できます。
必要に応じて、特定の障害グループに属するものとしてディスクを指定します。
障害グループの詳細は、「Oracle ASMの概要の理解」および「ミラー化、冗長性および障害グループ・オプション」を参照してください。
QUORUM
およびREGULAR
障害グループの詳細は、「Oracle ASMディスク・グループに格納されるOracle Cluster Registryおよび投票ファイル」を参照してください。
Oracle ASMでは、各ディスクのサイズはプログラムで決定されます。なんらかの理由によってこれが不可能である場合や、ディスク上で使用される領域量を制限する場合は、ディスクごとにSIZE
句を指定できます。Oracle ASMではディスク・グループ内のディスク用としてオペレーティング・システムとは無関係の名前が作成されるため、他のSQL文でこの名前を使用してディスクを参照できます。必要であれば、NAME
句を使用してディスク独自の名前を指定できます。ディスク名は、V$ASM_DISK
ビューで参照できます。
注意: ディスクは複数のディスク・グループに属することはできません。 |
Oracle ASMインスタンスでは、新しく作成されたディスク・グループのディスクがアドレス指定可能であり、現在は別のディスク・グループのメンバーではないことが確認されます。FORCE
で削除されたディスクを追加する場合のみFORCE
を使用する必要があります。ディスクがNOFORCE
で削除される場合、NOFORCE
でディスクを追加できます。たとえば、ディスクに障害が発生し、そのディスクがディスク・グループから削除されたとします。このディスクを修復すると、ディスク・グループの一部ではなくなりますが、Oracle ASMでは引き続きそのディスクがディスク・グループのメンバーであると認識します。このディスクを新しいディスク・グループに含めるには、FORCE
フラグを使用する必要があります。さらに、ディスクをアドレス指定可能にして、元のディスク・グループがマウントされないようにします。このようにしないと、操作が失敗します。
注意: FORCE オプションを使用して、以前に使用したディスクをディスク・グループに追加する場合は注意してください。別のディスク・グループが使用できなくなることがあります。 |
CREATE DISKGROUP
文により、ディスク・グループは初めてマウントされ、サーバー・パラメータ・ファイルが使用されている場合はディスク・グループ名がASM_DISKGROUPS
初期化パラメータに追加されます。テキスト初期化パラメータ・ファイルが使用されており、インスタンスの起動時にディスク・グループを自動的にマウントする場合、Oracle ASMインスタンスを停止して再起動する前に、このディスク・グループ名をASM_DISKGROUPS
初期化パラメータに忘れずに追加する必要があります。また、Oracle Enterprise Managerを使用してディスク・グループを作成できます。「ディスク・グループの作成」を参照してください。
関連項目: 『Oracle Database SQL言語リファレンス』のCREATE DISKGROUP SQL文 |
次の例では、ASM_DISKSTRING
初期化パラメータが文字列/devices/*
に設定されていることを前提としています。Oracle ASMディスク検出により、/devices
ディレクトリ内のディスクが次のとおり識別されます。
コントローラ1:
/devices/diska1
/devices/diska2
/devices/diska3
/devices/diska4
/devices/diskb1
/devices/diskb2
/devices/diskb3
/devices/diskb4
例4-1のSQL文は、標準冗長性でdata
という名前のディスク・グループを作成します。これは2つの障害グループcontroller1
またはcontroller2
で構成され、各障害グループには4つのディスクがあります。通常、data
ディスク・グループはデータベースのデータファイルを格納するために使用します。
例4-1 DATAディスク・グループの作成
CREATE DISKGROUP data NORMAL REDUNDANCY FAILGROUP controller1 DISK '/devices/diska1' NAME diska1, '/devices/diska2' NAME diska2, '/devices/diska3' NAME diska3, '/devices/diska4' NAME diska4 FAILGROUP controller2 DISK '/devices/diskb1' NAME diskb1, '/devices/diskb2' NAME diskb2, '/devices/diskb3' NAME diskb3, '/devices/diskb4' NAME diskb4 ATTRIBUTE 'au_size'='4M', 'compatible.asm' = '11.2', 'compatible.rdbms' = '11.2', 'compatible.advm' = '11.2';
例4-1では、NAME
句によって、システム生成のデフォルト名以外の名前を明示的にディスクに割り当てることができます。システム生成の名前の形式はdiskgroup_nnnn
です。nnnn
は、ディスク・グループ内のディスクのディスク番号です。ASMLibディスクの場合、ディスクのデフォルト名は、ディスクのユーザー・ラベルであるASMLib名になります。たとえば、ORCL:mydisk
の場合、デフォルトのOracle ASMディスク名はmydisk
です。
例4-1でのディスク・グループの作成時に、次のディスク・グループ属性の値が明示的に設定されています。
AU_SIZE
ディスク・グループの割当て単位サイズを指定します。割当て単位のサイズおよびエクステントの詳細は、「エクステント」を参照してください。
AU_SIZE
ディスク・グループ属性の値は、V$ASM_DISKGROUP
ビューのALLOCATION_UNIT_SIZE
列に表示できます。
COMPATIBLE
.ASM
ディスク・グループを使用するOracle ASMインスタンスの最小ソフトウェア・バージョンを決定します。COMPATIBLE.ASM
属性の詳細は、「COMPATIBLE.ASM」を参照してください。
COMPATIBLE
.RDBMS
ディスク・グループを使用するデータベース・インスタンスの最小ソフトウェア・バージョンを決定します。COMPATIBLE.RDBMS
属性の詳細は、「COMPATIBLE.RDBMS」を参照してください。
COMPATIBLE
.ADVM
ディスク・グループにOracle ASMボリュームを含めることができるかどうかを決定します。COMPATIBLE.ADVM
属性の詳細は、「COMPATIBLE.ADVM」を参照してください。
例4-2では、fra
ディスク・グループ(通常は高速リカバリ領域用に作成)をディスク・グループ属性のデフォルト値で作成します。Oracle ASMディスクの名前は指定していません。また、障害グループは明示的に指定していません。この例では、diskc1
からdiskc9
が/devices
ディレクトリに存在することを前提としています。
関連項目: ディスク・グループ作成時のASMLibの使用の詳細は、Oracle Technology Network Webサイトhttp://www.oracle.com/technetwork/topics/linux/asmlib/index-101839.html のOracle ASMLibページを参照してください。 |
この項では、Oracle RestartおよびOracle Databaseを新規にインストールする際に、ディスク・グループの作成時に実行する基本手順を説明します。ここでの説明は、Oracle Grid Infrastructureのインストールにも適用されます。
この手順では、data
ディスク・グループはデータベースのデータファイルの格納に、fra
ディスク・グループは高速リカバリ領域ファイルの格納に使用することを前提としています。Oracle Universal Installer(OUI)によるインストールおよびDatabase Configuration Assistant(DBCA)によるデータベース作成の詳細は、使用しているオペレーティング・システム固有のインストレーション・ガイドを参照してください。
OUIを使用してOracle Restartをインストールし、画面の指示に従います。
インストール中に、データファイルや制御ファイルなどのデータベース・ファイルを格納するためのdata
ディスク・グループを作成します。
このOUIのプロセスは、Oracle ASMコンフィギュレーション・アシスタント(ASMCA)を使用したディスク・グループの作成と似ています。ASMCAを使用したディスク・グループの作成の詳細は、「Oracle ASMコンフィギュレーション・アシスタントによるディスク・グループの管理」を参照してください。
data
ディスク・グループは、Oracle Grid InfrastructureのインストールでOracle Cluster Registry(OCR)および投票ファイルの格納に使用されるディスク・グループです。「Oracle ASMディスク・グループに格納されるOracle Cluster Registryおよび投票ファイル」を参照してください。
Oracle Restartのインストール後、ASMCAを使用して高速リカバリ領域ファイルを格納するためのfra
ディスク・グループを作成します。
fra
ディスク・グループを作成して、高速リカバリ領域ファイルを格納します。
このとき、必要に応じてdata
ディスク・グループを更新することもできます。ASMCAを使用したディスク・グループの作成および変更の詳細は、「Oracle ASMコンフィギュレーション・アシスタントによるディスク・グループの管理」を参照してください。
SQL*PlusまたはASMCMDコマンドをOracle Restartホームから実行して、fra
ディスク・グループを作成することもできます。詳細は、「CREATE DISKGROUP SQL文の使用」および「mkdg」を参照してください。
関連項目:
|
OUIを使用してOracle Databaseソフトウェアをインストールし、画面の指示に従います。
データベース・ソフトウェアのインストール後、データベースを作成するためにDBCAを実行して画面の指示に従います。
データベースを作成する際、データファイルおよび高速リカバリ領域ファイルの格納にOracle ASMを使用するために適した選択を行います。画面に指示が表示されたら、次のようにします。
データベースのデータファイルをdata
ディスク・グループに格納します。
高速リカバリ領域ファイルをfra
ディスク・グループに格納します。
関連項目:
|
ディスク・グループの割当て単位(AU)サイズを4MBに設定することをお薦めします。このAUサイズの推奨事項に加えて、オペレーティング・システム(OS)I/Oサイズを可能なかぎりの最大サイズに設定してください。
割当て単位を4MBにすると、次のような利点があります。
I/OサイズがAUサイズまで増加すると、I/OサブシステムによるI/Oが増加します。
データベース・インスタンスでエクテント・マップを管理するためのSGAサイズが減少します。
I/OサイズがAUサイズまで増加すると、データファイルの初期化が短時間になります。
ファイル・サイズの制限が増加します。
データベースのオープン時間を短縮します。
割当て単位サイズは、ディスク・グループ属性AU_SIZE
で指定します。AUサイズはディスク・グループの作成後に変更できません。例4-1では、CREATE
DISKGROUP
SQL文を使用してAU_SIZE
を指定する方法を示しています。
オプションのSECTOR_SIZE
ディスク・グループ属性をCREATE
DISKGROUP
SQL文とともに使用すると、ディスク・グループのSECTOR_SIZE
の値に設定されたセクター・サイズでディスクを指定できます。Oracle ASMでは、パフォーマンスを低下させることなく、4KBのセクター・ディスク・ドライブをサポートします。SECTOR_SIZE
ディスク・グループ属性は、ディスク・グループ作成時にのみ設定できます。
SECTOR_SIZE
の値は、512、4096または4Kに設定できます(ディスクによってこれらの値がサポートされている場合)。デフォルト値はプラットフォームによって異なります。セクター・サイズをデフォルト値以外の値に設定するには、COMPATIBLE.ASM
およびCOMPATIBLE.RDBMS
ディスク・グループ属性を11.2以上に設定する必要があります。
注意: Oracle自動ストレージ管理クラスタ・ファイルシステム(Oracle ACFS)では、4KBのセクター・ドライブをサポートしません。4KBのセクター・ディスク・ドライブを512セクター・エミュレーション・モードで使用すると、Oracle ACFSではパフォーマンスが低下します。 |
セクター・サイズ・ディスク・グループ属性には、次の検証が適用されます。
Oracle ASMでは、異なるセクター・サイズのディスクが同じディスク・グループに追加されないようにします。この検証は、CREATE
DISKGROUP
、ALTER
DISKGROUP
ADD
DISK
およびALTER
DISKGROUP
MOUNT
操作中に発生します。
SECTOR_SIZE
属性がディスク・グループの作成時に明示的に指定された場合、Oracle ASMでは、ディスク検索文字列により検出されたすべてのディスクに、指定した値と等しいセクター・サイズがあるか検証しようとします。セクター・サイズが指定した値と異なるディスクが1つ以上あった場合、またはOracle ASMでディスク・セクター・サイズの検証ができなかった場合、作成操作は失敗します。
Oracle ASMでは、マウント操作時にもディスク・セクター・サイズの検証を試みますが、SECTOR_SIZE
属性の値と異なるセクター・サイズのディスクが1つ以上あった場合、操作は失敗します。
ディスク・グループの作成時にSECTOR_SIZE
属性が指定されず、検出されたすべてのディスクのセクターが同じ値であることがOracle ASMで検証できると、その値が作成されるディスク・グループ・セクター・サイズとみなされます。異なるセクター・サイズのディスクがある場合、作成操作は失敗します。
ALTER
DISKGROUP
..ADD
DISK
SQL文を使用して新しいディスクを既存のディスク・グループに追加する場合、追加する新しいディスクはセクター・サイズがSECTOR_SIZE
ディスク・グループ属性と同じ値である必要があります。新しいディスクのセクター・サイズが異なる場合、変更操作は失敗します。
V$ASM_ATTRIBUTE
ビューに問い合せるか、ASMCMD lsattr
コマンドを実行すると、成功したディスク・グループ作成について想定された、または明示的に設定されたセクター・サイズ値を確認できます。V$ASM_DISKGROUP
ビューのSECTOR_SIZE
列に問い合せることもできます。
SQL> SELECT name, value FROM V$ASM_ATTRIBUTE WHERE name = 'sector_size' AND group_number = 1; NAME VALUE --------------------------- ----------------------- sector_size 512 SQL> SELECT group_number, sector_size FROM V$ASM_DISKGROUP WHERE group_number = 1; GROUP_NUMBER SECTOR_SIZE ------------ ----------- 1 512
すべてのディスクが、設定可能なすべてのSECTOR_SIZE
値をサポートしているわけではありません。セクター・サイズ属性の設定は、物理ハードウェアに対応している必要があります。
例4-3に示すように、CREATE
DISKGROUP
SQL文でSECTOR_SIZE
属性を使用すると、Oracle ASMディスク・グループがあるディスク・ドライブのセクター・サイズを指定できます。
例4-3 4Kセクター・サイズのディスク・グループの作成
CREATE DISKGROUP data NORMAL REDUNDANCY FAILGROUP controller1 DISK '/devices/diska1', '/devices/diska2', '/devices/diska3', '/devices/diska4' FAILGROUP controller2 DISK '/devices/diskb1', '/devices/diskb2', '/devices/diskb3', '/devices/diskb4' ATTRIBUTE 'compatible.asm' = '11.2', 'compatible.rdbms' = '11.2', 'sector_size'='4096';
関連項目:
|
Oracle Cluster Registry(OCR)および投票ファイルは、Oracle ASMディスク・グループに格納できます。投票ファイルおよびOCRは、Oracle Clusterwareの2つの重要なコンポーネントです。
投票ファイルはノード・メンバーシップに関する情報を管理します。OCRは、クラスタおよびOracle Real Application Clusters(Oracle RAC)データベース構成情報を管理するシステムです。クォーラム障害グループは特殊なタイプの障害グループで、これらの障害グループに属するディスクにはユーザー・データが格納されません。クォーラム障害グループは、ユーザー・データの格納に関する冗長性要件の決定時に考慮されません。しかし、ディスク・グループのマウント時には考慮されます。障害グループの詳細は、「Oracle ASMの障害グループ」を参照してください。
OCRおよび投票ファイルを管理および監視するには、次の方法があります。
CRSCTLおよびocrconfig
コマンドライン・ツール
CRSCTLおよびocrconfig
コマンドを使用すると、OCRストレージおよびクラスタ同期化サービス(CSS)の投票ファイルをOracle ASMで管理されるディスク・グループ内に格納できます。
CREATE
/ALTER
DISKGROUP
SQL文
SQLキーワードのQUORUM
およびREGULAR
を使用すると、ディスク・グループの作成または変更時にディスクおよび障害グループを指定できます。
例4-4を参照してください。
V$ASM
ビュー
V$ASM_DISK
とV$ASM_DISK_STAT
の両方のビューのFAILGROUP_TYPE
列では、障害グループのタイプを指定します。この列の値は、標準の障害グループの場合はREGULAR
、クォーラム障害グループの場合はQUORUM
です。
V$ASM_DISK
とV$ASM_DISK_STAT
の両方のビューのVOTING_FILE
列では、ディスクに投票ファイルが含まれているかどうかを指定します。この列の値は、ディスクに投票ファイルが含まれている場合はY
、含まれていない場合はN
です。
V$ASM_DISKGROUP
とV$ASM_DISKGROUP_STAT
でのUSABLE_FILE_MB
の値では、QUORUM
ディスクにある空き領域は考慮されません。クライアント・データファイルには空き領域を使用できないためです。
「Oracle ASMディスク・グループ情報を表示するビュー」を参照してください。
キーワードのQUORUM
とREGULAR
が、ディスク・グループの作成または変更時に、障害グループまたはディスクを指定するための追加の修飾子となります。QUORUM
ディスク(QUORUM
障害グループ内のディスク)にはクライアント・データファイルが格納できないのに対して、REGULAR
ディスク(非クォーラム障害グループ内のディスク)にはそのような制限はありません。
これらのキーワードは、障害グループが明示的に指定されている場合、キーワードFAILGROUP
の前で使用できます。障害グループが暗黙的に示されている場合、これらのキーワード(QUORUM
/REGULAR
)は、キーワードDISK
の前で使用できます。障害グループが明示的に指定されている場合、これらのキーワード(QUORUM
/REGULAR
)をキーワードDISK
の直前に指定するのは誤りです。REGULAR
はデフォルトの障害グループ・タイプです。
既存のディスクまたは障害グループで操作を実行する場合、SQLで指定する修飾子は、ディスクまたは障害グループがディスク・グループに追加されたときに指定した修飾子と一致させる必要があります。
例4-4に、QUORUM
障害グループを持つディスク・グループの作成を示します。Oracle Clusterwareファイルの場合、3つのディスク・デバイスまたは3つの障害グループが標準冗長性のディスク・グループの最小要件です。QUORUM
障害グループは、ユーザー・データの格納に関する冗長性要件の決定時に考慮されません。
OCRまたは投票ファイルをディスク・グループに格納するには、COMPATIBLE.ASM
ディスク・グループ互換性属性を11.2
以上に設定する必要があります。
例4-4 QUORUMキーワードの使用方法
CREATE DISKGROUP ocr_data NORMAL REDUNDANCY FAILGROUP fg1 DISK '/devices/diskg1' FAILGROUP fg2 DISK '/devices/diskg2' QUORUM FAILGROUP fg3 DISK '/devices/diskg3' ATTRIBUTE 'compatible.asm' = '11.2.0.0.0';
関連項目:
|
ALTER
DISKGROUP
SQL文を使用してディスク・グループの構成を変更できます。データベースの状態がオンラインのままで、ディスクの追加、サイズ変更および削除を行うことができます。可能であれば、1つのALTER
DISKGROUP
文で複数の操作を行うことをお薦めします。1つのALTER
DISKGROUP
文で操作をグループ化すると、リバランス操作を削減できます。
ディスク・グループの構成が変更されると、自動的にリバランスが行われます。デフォルトでは、ALTER
DISKGROUP
文は、操作の完了を待たずに戻されます。この操作のステータスを監視するには、V$ASM_OPERATION
ビューに問い合せます。
リバランス操作が完了するのを待ってからALTER
DISKGROUP
文の処理が戻されるようにするには、REBALANCE
WAIT
句を使用します。これは特にスクリプトの場合に役に立ちます。この文では、REBALANCE
NOWAIT
句も使用できます。これにより、リバランス操作をバックグラウンドで非同期に実行するデフォルトの動作が呼び出されます。
多くのプラットフォーム上でCTRL-C
と入力すると、待機モードのリバランス実行を中断できます。これにより、「ORA-01013: ユーザーによって現行の操作の取消しがリクエストされました」
というメッセージとともに文は即時に戻され、操作は非同期で続行されます。CTRL-C
を入力しても、リバランス操作またはディスクの追加、ドロップ、リサイズ操作はキャンセルされません。
リバランス操作の速度およびリソース消費を制御するには、ディスクを追加、削除またはサイズ変更する文にREBALANCE
POWER
句を含めます。この句の詳細は、「ディスク・グループの手動リバランス」を参照してください。
この項の内容は次のとおりです。
関連項目: 『Oracle Database SQL言語リファレンス』のALTER DISKGROUP SQL文 |
ディスク・グループでは、Oracle ASM動的ボリューム・マネージャ(Oracle ADVM)ボリュームを作成できます。作成後は、動的ボリュームに関連付けられたボリューム・デバイスを使用してOracle ACFSファイルシステムをホスト管理できます。
ディスク・グループの互換性パラメータCOMPATIBLE.ASM
およびCOMPATIBLE.ADVM
は、11.2以上に設定する必要があります。「ディスク・グループの互換性属性」を参照してください。
ALTER
DISKGROUP
VOLUME
SQL文を使用すると、ボリュームを追加、変更、サイズ変更、無効化、有効化および削除する機能を含め、Oracle ADVMボリュームを管理できます。次に、ALTER
DISKGROUP
VOLUME
文の例を示します。
例4-5 ALTER DISKGROUP VOLUME文によるボリュームの管理
SQL> ALTER DISKGROUP data ADD VOLUME volume1 SIZE 10G; Diskgroup altered. SQL> ALTER DISKGROUP data RESIZE VOLUME volume1 SIZE 15G; Diskgroup altered. SQL> ALTER DISKGROUP data DISABLE VOLUME volume1; Diskgroup altered. SQL> ALTER DISKGROUP data ENABLE VOLUME volume1; Diskgroup altered. SQL> ALTER DISKGROUP ALL DISABLE VOLUME ALL; Diskgroup altered. SQL> ALTER DISKGROUP data DROP VOLUME volume1; Diskgroup altered.
ボリュームでOracle ACFSファイルシステムをホスト管理している場合、SQL ALTER
DISKGROUP
文を使用してそのボリュームのサイズを変更することはできません。かわりに、acfsutil
size
コマンドを使用する必要があります。詳細は、「acfsutil size」を参照してください。
Oracle ADVMの詳細は、「Oracle ASM動的ボリューム・マネージャの概要」を参照してください。ASMCMDを使用したOracle ADVMボリューム管理の詳細は、「ASMCMDボリューム管理コマンド」を参照してください。ASMCAを使用したOracle ADVMボリューム管理の詳細は、「Oracle ASMコンフィギュレーション・アシスタントによるOracle ADVMボリュームの管理」を参照してください。Oracle Enterprise Managerを使用したOracle ADVMボリューム管理の詳細は、「Oracle Enterprise ManagerによるOracle ACFSの管理」を参照してください。
関連項目: 『Oracle Database SQL言語リファレンス』のALTER DISKGROUP SQL文 |
ALTER DISKGROUP
文のADD
句を使用して、ディスク・グループにディスクまたは障害グループを追加できます。CREATE
DISKGROUP
文でディスクまたは障害グループを追加する場合と同じ構文を、ALTER DISKGROUP
文で使用できます。CREATE
DISKGROUP
SQL文の例については、例4-1を参照してください。新しいディスクを追加した後、リバランスが進むにつれ、新しいディスクで処理されるワークロードの割合が徐々に増え始めます。
ディスク・グループにディスクを追加するときのOracle ASMの動作については、「SQL文を使用したディスク・グループへのディスクの追加」を参照してください。また、「ディスク・グループへのディスクの追加」で説明するように、Oracle Enterprise Managerを使用してディスク・グループにディスクを追加することもできます。
この例で示す文では、ディスク検出とADD
DISK
操作との相互作用について説明します。
ディスク検出により、ディレクトリ/devices
で次のディスクが識別されたとします。
/devices/diska1
: data1
のメンバー/devices/diska2
: data1
のメンバー/devices/diska3
: data1
のメンバー/devices/diska4
: data1
のメンバー/devices/diska5
: 候補ディスク/devices/diska6
: 候補ディスク/devices/diska7
: 候補ディスク/devices/diska8
: 候補ディスク/devices/diskb1
: data1
のメンバー/devices/diskb2
: data1
のメンバー/devices/diskb3
: data1
のメンバー/devices/diskb4
: data2
のメンバー/devices/diskc1
: data2
のメンバー/devices/diskc2
: data2
のメンバー/devices/diskc3
: data3
のメンバー/devices/diskc4
: 候補ディスク/devices/diskd1
: 候補ディスク/devices/diskd2
: 候補ディスク/devices/diskd3
: 候補ディスク/devices/diskd4
: 候補ディスク/devices/diskd5
: 候補ディスク/devices/diskd6
: 候補ディスク/devices/diskd7
: 候補ディスク/devices/diskd8
: 候補ディスクOracle ASMディスクのステータスを表示するには、V$ASM_DISK
ビューに問合せを行います。「Oracle ASMディスク・グループ情報を表示するビュー」を参照してください。
次の文は、/devices/diska1
~/devices/diska4
がすでにディスク・グループdata1
に属しているため、失敗します。
ALTER DISKGROUP data1 ADD DISK '/devices/diska*';
次の文を発行すると、ディスク/devices/diska5
から/devices/diska8
までがdata1
に正常に追加されます。ALTER DISKGROUP
文にはFAILGROUP
句が含まれていないため、各ディスクはそれぞれ独自の障害グループに割り当てられます。NAME
句により、各ディスクに名前が割り当てられます。この句がない場合は、システム生成の名前が割り当てられます。
ALTER DISKGROUP data1 ADD DISK '/devices/diska5' NAME diska5, '/devices/diska6' NAME diska6, '/devices/diska7' NAME diska7, '/devices/diska8' NAME diska8;
次の文は、検索文字列に一致するディスクが別のディスク・グループに含まれているため失敗します。具体的には、/devices/diska4
がディスク・グループdata1
に属しており、/devices/diskb4
がディスク・グループdata2
に属しています。
ALTER DISKGROUP data1 ADD DISK '/devices/disk*4';
次の文を発行すると、/devices/diskd1
から/devices/diskd8
までがディスク・グループdata1
に正常に追加されます。この文は、リバランス指数5で実行されており、リバランス操作が完了するまでは戻されません。
ALTER DISKGROUP data1 ADD DISK '/devices/diskd*' REBALANCE POWER 5 WAIT;
/devices/diskc3
がディスク・グループの以前のメンバーで現在は存在しない場合、FORCE
オプションを使用して、別のディスク・グループのメンバーとしてこのディスクを追加できます。たとえば、次のようにFORCE
句を使用すると、/devices/diskc3
が現在はdata3
のメンバーであっても、data2
に追加できます。この文を正常に実行するためには、data3
はマウントできません。
ALTER DISKGROUP data2 ADD DISK '/devices/diskc3' FORCE;
ディスク・グループからディスクを削除するには、ALTER DISKGROUP
文のDROP
DISK
句を使用します。また、DROP
DISKS
IN
FAILGROUP
句を使用すると、指定した障害グループのすべてのディスクを削除できます。
ディスクを削除すると、削除したディスクのすべてのファイル・エクステントをディスク・グループ内の他のディスクに移動することにより、ディスク・グループがリバランスされます。他のディスク上で使用可能な領域が十分でない場合、ディスクの削除操作は失敗する場合があります。最適の方法は、同じALTER
DISKGROUP
文で追加と削除の両方の操作を実行する方法です。この方法には、データ・エクステントのリバランスを一度しか行わず、リバランス操作を成功させるのに十分な領域を確保するという利点があります。
注意: ALTER DISKGROUP ... DROP DISK SQL文では、削除およびリバランス操作が完了する前にSQLプロンプトが戻されます。V$ASM_DISK ビューでこのディスクのHEADER_STATUS 列がFORMER に変わるまでは、削除したディスクを再利用、削除または切断しないでください。V$ASM_OPERATION ビューに問い合せれば、削除およびリバランス操作が完了するまでの残りの時間を確認できます。詳細は、『Oracle Database SQL言語リファレンス』および『Oracle Databaseリファレンス』を参照してください。 |
削除操作にFORCE
句を指定すると、Oracle ASMによるディスクでの読取りまたは書込みができない場合でも、ディスクは削除されます。外部冗長性のディスク・グループからディスクを削除する場合、FORCE
フラグは使用できません。
注意: DROP FORCE 操作を実行すると、後続のリバランス操作が完了するまでデータの冗長性は低下した状態のままになります。これにより、リバランス中にディスク障害が発生した場合、データが損失する危険性が高くなります。DROP FORCE は慎重に使用してください。 |
Oracle Enterprise Managerを使用しても、ディスク・グループからディスクを削除できます。「ディスク・グループからのディスクの削除」を参照してください。
例4-6の文は、「SQL文を使用したディスク・グループへのディスクの追加」で説明したディスク・グループdata1
からディスクを削除する方法を示します。1つ目の例では、ディスク・グループdata1
からdiska5
を削除します。2つ目の例では、ディスク・グループdata1
からdiska5
を削除するとともに、1つのALTER DISKGROUP
文で可能な複数のアクションの実行も示しています。
インテリジェント・データ配置により、最高のパフォーマンスを実現するためにOracle ASMディスク上のディスク・リージョンを指定できます。ディスク・リージョン設定を使用すると、アクセス頻度の高いデータを、より高速でバンド幅も大きい一番外側の(ホット)トラックに確実に配置できます。また、アクセス・パターンが似ているファイルは物理的に近くに配置され、待機時間が短縮されます。異なるホット・リージョンまたはコールド・リージョンに、プライマリ・エクステントおよびミラー・エクステントを配置することもできます。
インテリジェント・データ配置の設定は、ファイルまたはディスク・グループのテンプレートで指定できます。ディスク・リージョン設定は、ディスク・グループの作成後に変更できます。ディスク・リージョン設定により、アクセス頻度の高いデータほどスピンドルから遠いリージョンに配置することでI/Oパフォーマンスを改善できる一方、ディスク上の使用可能領域を増やすことによりコスト削減になります。
インテリジェント・データ配置は、次の場合に最も効果を発揮します。
異なる速度でアクセスされるデータファイルのあるデータベース。同じ方法ですべてのデータファイルにアクセスするデータベースでは、インテリジェント・データ配置の効果を期待できません。
いっぱいの部分が25%を超えるディスク・グループ。いっぱいの部分が25%のみのディスク・グループの場合は、管理オーバーヘッドに対する効果を期待できません。
メディアの最後に比べて最初の方がパフォーマンスが高いディスク。インテリジェント・データ配置では、ディスクの形状を利用するため、JBOD(単純ディスク束)に適しています。対照的に、連結されたボリュームで構成されるLUNを持つストレージ・アレイは、Oracle ASMから形状をマスクします。
インテリジェント・データ配置を使用するには、COMPATIBLE.ASM
およびCOMPATIBLE.RDBMS
ディスク・グループ属性を11.2以上に設定する必要があります。
インテリジェント・データ配置は、ALTER
DISKGROUP
ADD
またはMODIFY
TEMPLATE
SQL文とALTER
DISKGROUP
MODIFY
FILE
SQL文を使用して管理できます。
テンプレートでhot
/mirrorhot
またはcold
/mirrorcold
リージョンを設定するためのディスク・リージョン句が含まれるALTER
DISKGROUP
TEMPLATE
SQL文:
ALTER DISKGROUP data ADD TEMPLATE datafile_hot ATTRIBUTE ( HOT MIRRORHOT);
hot
/mirrorhot
またはcold
/mirrorcold
リージョンのディスク・リージョン属性を設定するALTER
DISKGROUP
... MODIFY
FILE
SQL文:
ALTER DISKGROUP data MODIFY FILE '+data/orcl/datafile/users.259.679156903'
ATTRIBUTE (
HOT
MIRRORHOT);
ファイルのディスク・リージョン設定を変更すると、ファイルの新しいエクステントには適用されますが、リバランス操作を行わないかぎり既存のファイル内容には影響しません。新しいインテリジェント・データ配置ポリシーを既存のファイル内容に適用するために、手動でリバランスを開始できます。リバランス操作では、ファイル・エクテントに最後に指定されたポリシーを使用します。リバランス操作の詳細は、「ディスク・グループの手動リバランス」を参照してください。
Oracle ASMコンフィギュレーション・アシスタント(ASMCA)では、ディスク・グループの変更時のテンプレート作成でインテリジェント・データ配置をサポートしています。「Oracle ASMコンフィギュレーション・アシスタントによるディスク・グループの管理」を参照してください。
Oracle Enterprise Managerでは、ディスク・グループ・ページから起動される「テンプレート」ページからインテリジェント・データ配置をサポートしています。「Oracle Enterprise Managerによるディスク・グループ・テンプレートの管理」を参照してください。
インテリジェント・データ配置情報を参照するには、「ディスク・リージョン情報の表示」および「iostat」を参照してください。
ALTER DISKGROUP
のRESIZE
句を使用して、次の操作を実行できます。
ディスク・グループ内のすべてのディスクのサイズ変更
指定したディスクのサイズ変更
指定した障害グループ内のすべてのディスクのサイズ変更
SIZE
句で新しいサイズを指定しない場合、オペレーティング・システムから戻されるディスクのサイズが使用されます。新しいサイズはOracle ASMディスク・ヘッダーに書き込まれ、ディスクのサイズが大きくなっている場合、新しい領域の割当てが即時に可能になります。サイズが小さくなっている場合、リバランスにより、新しいサイズ制限を超えるファイル・エクステントが制限未満の使用可能領域に再配置される必要があります。リバランス操作によってすべてのエクステントを正常に再配置できる場合、新しいサイズが確定されます。正常に再配置できない場合、リバランスは失敗します。
次の例では、ディスク・グループdata1
の障害グループfailgrp1
内のすべてのディスクのサイズを変更します。新しいサイズがディスク容量を超えている場合、この文は失敗します。
ALTER DISKGROUP
文のUNDROP DISKS
句を使用すると、ディスク・グループ内のディスクに対して保留中の削除操作をすべて取り消すことができます。ディスクの削除操作が完了している場合、この文はディスクのリストアに使用できません。この文は、DROP DISKGROUP
文の結果として削除されるディスク、またはFORCE
句を使用して削除されるディスクのリストアには使用できません。
次の例では、ディスク・グループdata1
からのディスクの削除を取り消します。
ALTER DISKGROUP
文のREBALANCE
句を使用して、ディスク・グループ内のファイルを手動でリバランスできます。通常、ディスク・グループは構成が変更されるとOracle ASMによって自動的にリバランスされるため、この操作は必要ありません。速度を自身で管理するには、自動リバランス操作ではなく手動リバランス操作の実行が必要になります。
ALTER
DISKGROUP
... REBALANCE
文のPOWER
句を使用して、パラレル化の程度を指定し、それによってリバランス操作の速度を指定します。これは最低で0に設定でき、値を0にすると、この文が暗黙的または明示的に再実行されるまではリバランス操作が停止されます。値を大きくすると、リバランス操作の速度が上がります。
デフォルトのリバランス指数は、ASM_POWER_LIMIT
初期化パラメータによって設定されます。POWER
句の値の範囲は、ASM_POWER_LIMIT
初期化パラメータと同じです。ASM_POWER_LIMIT
初期化パラメータの詳細は、「ASM_POWER_LIMIT」を参照してください。
進行中のリバランス操作の指数レベルは、新しいレベルでリバランス文を入力することによって変更できます。
デフォルトでは、ALTER DISKGROUP...REBALANCE
コマンドは即時に戻されるため、リバランス操作がバックグラウンドで非同期に実行されているときに他のコマンドを実行できます。リバランス操作のステータスを確認するには、V$ASM_OPERATION
ビューに問い合せます。
リバランス操作が完了するのを待ってからALTER DISKGROUP...REBALANCE
コマンドが戻されるようにするには、REBALANCE
句にWAIT
キーワードを追加します。この待機機能は特にスクリプトの場合に役に立ちます。このコマンドでは、NOWAIT
キーワードも使用できます。これにより、リバランス操作を非同期に実行するデフォルトの動作が呼び出されます。多くのプラットフォーム上でCTRL-C
と入力すると、待機モードのリバランス実行を中断できます。これにより、「ORA-01013: ユーザーによって現行の操作の取消しがリクエストされました」
というメッセージとともにコマンドは即時に戻され、リバランス操作は非同期で続行されます。
リバランス操作の追加ルールは、次のとおりです。
ユーザーが構成を変更する場合や、障害または機能停止が原因で構成が変わる場合にストレージ構成が変わると、進行中のリバランス・コマンドが再開されます。さらに、ユーザー・エラーが原因で新しいリバランスが失敗した場合、手動リバランスが必要になることがあります。
ALTER DISKGROUP...REBALANCE
文は、Oracle Real Application Clusters(Oracle RAC)を使用している場合でも単一ノードで実行されます。
Oracle ASMが特定のインスタンスで一度に実行できるディスク・グループのリバランスは1回です。異なるディスク・グループに対して複数のリバランスを開始した場合、その操作は使用可能な追加のノードがあれば同時に処理されます。ただし、1つのノードの場合はリバランスは順番に処理されます。異なるノード上の異なるディスク・グループに対するリバランスを明示的に同時に開始できます。
リバランスは、リバランスを実行しているOracle ASMインスタンスの1つの障害の間中続行されます。
REBALANCE
句(および関連するPOWER
およびWAIT/NOWAIT
キーワード)は、ディスクを追加、削除またはサイズ変更するALTER DISKGROUP
コマンドでも使用できます。
注意: ストレージ構成が変わると、進行中のリバランス操作の処理が再開されます。ユーザー・エラーが原因で次のリバランス操作が失敗した場合、手動リバランスが必要になることがあります。 |
次の例では、ディスク・グループdata2
を手動でリバランスします。このコマンドは、リバランス操作が完了するまでは戻されません。
リバランス操作の詳細は、「リバランス操作の調整」を参照してください。
ALTER
DISKGROUP
文でPOWER
句を指定しなかった場合や、ディスクの追加または削除によってリバランスが暗黙的に実行される場合は、リバランス指数はデフォルトでASM_POWER_LIMIT
初期化パラメータの値になります。このパラメータの値は動的に調整できます。
指数が大きくなるほど、リバランス操作の完了は早くなります。指数の値が小さいほどリバランスにかかる時間は長くなりますが、データベースなどの他のアプリケーションで共有される処理とI/Oの消費リソースは少なくなります。
Oracle ASM では、各パワーユニットのリバランスI/Oを保持しようとします。各I/Oは、リロケーションに含まれるエクステントのPGAメモリーが必要です。
デフォルト値の1
を使用すると、他のアプリケーションへの影響は最小限に抑えられます。適切な値は、ハードウェアの構成とパフォーマンスおよび可用性の要件によって異なります。
ディスクが手動または自動で削除されたためにリバランスが進行中の場合は、リバランス指数を大きくすると、削除されたディスク上のデータの冗長コピーが他のディスク上で復元される間の時間枠は短くなります。
V$ASM_OPERATION
ビューでは、ASM_POWER_LIMIT
の調整用の情報と、リバランス操作の結果の指数が示されます。また、V$ASM_OPERATION
ビューでは、EST_MINUTES
列にリバランス操作の完了にかかる残り時間の推定値が示されます。推定時間の変化を観察することにより、リバランス指数の変更による影響を確認できます。
POWER
句の値の範囲は、ASM_POWER_LIMIT
初期化パラメータと同じです。ASM_POWER_LIMIT
初期化パラメータの詳細は、「ASM_POWER_LIMIT」を参照してください。
ディスク・グループのリバランスの詳細は、「ディスク・グループの手動リバランス」を参照してください。
ディスク検出は、Oracle ASMでアクセスできるディスクのオペレーティング・システム名を検索するためのメカニズムです。これを使用して、マウントするディスク・グループを構成するすべてのディスク、管理者がディスク・グループに追加するディスク、または管理者がディスク・グループへの追加を検討するディスクを検索します。この項の内容は次のとおりです。
ディスク検出とASM_DISKSTRING
初期化パラメータの詳細は、「ASM_DISKSTRING」を参照してください。
Oracle ASMインスタンスを初期化すると、ASM_DISKSTRING
初期化パラメータの値を使用して指定したパスにあるすべてのディスクの内容が検出されて調査されます。
また、ディスク検出は次の場合も実行されます。
次のSQL文を実行する場合
ALTER
DISKGROUP
... MOUNT
によるディスク・グループのマウント
ALTER
DISKGROUP
... ONLINE
DISK
によるディスクのオンライン化
CREATE
またはALTER
DISKGROUP
...ADD
DISK
によるディスク・グループのディスクへの追加
ALTER
DISKGROUP
... RESIZE
DISK
によるディスク・グループ内のディスクのサイズ変更
SELECT
... FROM
V$ASM_DISKGROUP
またはV$ASM_DISK
による問合せ
前述のSQL文を起動するOracle Enterprise ManagerまたはOracle ASMコンフィギュレーション・アシスタント(ASMCA)の操作を実行する場合
前述のSQL文と同じ操作を実行するASMCMDコマンドを実行する場合
ディスクが正常に検出されると、そのディスクはV$ASM_DISK
ビューに表示されます。ディスク・グループに属するディスク(ディスク・ヘッダーにディスク・グループ名があるディスク)には、MEMBER
というヘッダー・ステータスが表示されます。検出されても、ディスク・グループに割り当てられていないディスクのステータスは、CANDIDATE
またはPROVISIONED
です。以前にディスク・グループに属しており、そのディスク・グループから正常に削除されたディスクのステータスは、FORMER
です。
PROVISIONED
ステータスは、ディスクをOracle ASMで使用可能にするために管理者によってプラットフォーム固有の追加アクションが実行されたことを意味します。たとえば、Windowsコンピュータ上で、管理者がasmtool
またはasmtoolg
を使用してヘッダーを持つディスクをマークした場合です。Linuxコンピュータ上では、管理者がASMLibを使用してOracle ASM用としてディスクを準備した場合です。
例4-10に、ディスク・グループのヘッダー・ステータスを表示する、V$ASM_DISK
に対するSQL問合せを示します。
例4-10 ヘッダー・ステータスに関するV$ASM_DISKへの問合せ
SQL> SELECT name, header_status, path FROM V$ASM_DISK WHERE path LIKE '/devices/disk0%' NAME HEADER_STATUS PATH --------- ------------- --------------------- FORMER /devices/disk02 FORMER /devices/disk01 CANDIDATE /devices/disk07 DISK06 MEMBER /devices/disk06 DISK05 MEMBER /devices/disk05 DISK04 MEMBER /devices/disk04 DISK03 MEMBER /devices/disk03 7 rows selected.
関連項目: V$ASM_DISK ビューに表示されるOracle ASMディスクのヘッダー・ステータスの詳細は、『Oracle Databaseリファレンス』を参照してください。 |
Oracle ASMディスクの検出ルールは、次のとおりです。
最大10,000のディスクを検出できます。つまり、ASM_DISKSTRING
初期化パラメータと一致するディスクが10,000を超えると、最初の10,000のみが検出されます。
ディスク・パーティションのみを検出します。パーティション表を含むパーティションは検出しません。
インストールの観点から、候補ディスクはヘッダー・ステータスがCANDIDATE
、PROVISIONED
またはFORMER
です。ステータスがCANDIDATE
、PROVISIONED
またはFORMER
のこれらのディスクは、FORCE
フラグを使用せずにOracle ASMディスク・グループに追加できます。
ディスクを追加するときに、ディスクがOracleで管理されたことをOracle ASMが認識する場合、FORCE
オプションを使用する必要があります。このようなディスクは、FOREIGN
というステータスでV$ASM_DISK
ビューに表示されます。この場合、ディスクをディスク・グループに追加できるのは、FORCE
キーワードを使用する場合のみです。
通常、MEMBER
ディスクは、現在マウントされているディスク・グループに属していなければ、FORCE
フラグを指定するとディスク・グループに追加できます。
また、検出時には、次の構成エラーが識別されます。
同じディスクに対する複数のパス
この場合、ディスクがディスク・グループの一部である場合、ディスク・グループのマウントは失敗します。ADD DISK
またはCREATE DISKGROUP
コマンドを使用してこのディスクをディスク・グループに追加する場合、コマンドは失敗します。このエラーを修正するには、Oracle ASMが同じディスクに対する複数のパスを検出しないようにASM_DISKSTRING
値を調整します。また、マルチパス対応のソフトウェアを使用している場合、ASM_DISKSTRING
値に擬似デバイス名のみが含まれていることを確認します。「Oracle ASMとマルチパス化」を参照してください。
同じディスク・ヘッダーを持つ複数のOracle ASMディスク
これは、1つのディスクを別のディスクにコピーしたことが原因である可能性があります。この場合、ディスク・グループのマウント操作は失敗します。
ASM_DISKSTRING
初期化パラメータの値は、オペレーティング・システムに依存する値です。この値を使用して、検出プロセスでディスクの検索に使用される一連のパスが制限されます。新しいディスクがディスク・グループに追加されると、ディスク・グループがマウントされている各Oracle ASMインスタンスでは、ASM_DISKSTRING
を使用してこの新しいディスクの検出が可能である必要があります。
多くの場合、デフォルト値(NULL
)で十分です。これより制限的な値を使用すると、検出の実行に要する時間を短縮し、ディスク・グループのマウント時間や、ディスク・グループへのディスクの追加時間を短縮できます。Oracleでは、ディスクを追加する前にASM_DISKSTRING
を動的に変更し、このパラメータを介して新しいディスクが検出されるようにする場合があります。
ASM_DISKSTRING
のデフォルト値により、必ずしもすべての状況下ですべてのディスクが検出されるわけではありません。サイトにサード・パーティ・ベンダーのASMLibが使用されている場合、このベンダーには、ASM_DISKSTRING
に対して使用する必要のある検出文字列の表記規則がある可能性があります。また、インストール環境でマルチパス対応のソフトウェアが使用されている場合、オペレーティング・システムのデフォルト設定とは異なるパスに擬似デバイスが配置されている可能性もあります。詳細は、「Oracle ASMとマルチパス化」およびマルチパス化のベンダー・ドキュメントを参照してください。
標準
冗長性または高
冗長性でディスク・グループを作成するなど、Oracle ASMによって冗長性が提供される場合、1つまたは2つの障害グループに障害が発生した後に失われたデータの再作成を管理するには、各ディスク・グループに十分な容量を確保する必要があります。1つ以上のディスクに障害が発生した後、すべてのデータの冗長性をリストアするには、ディスク・グループ内の残りのディスクにある領域が必要です。十分な領域が残っていない場合、一部のファイルの冗長性が損われる可能性があります。
冗長性が損われるとは、ファイル内の1つ以上のエクステントが期待されるレベルでミラー化されないことを意味します。たとえば、高冗長性のディスク・グループで冗長性が損われたファイルの場合、少なくとも1つのファイル・エクステントと、3つではなく2つ以下のエクステント・コピーがあります。保護されていないファイルの場合、データ・エクステントがすべて失われる可能性があります。これ以外にもファイルの冗長性が損われる原因には、ディスクの領域が足りない場合や、障害グループの数が十分でない場合があります。V$ASM_FILE
ビューのREDUNDANCY_LOWERED
列は、冗長性が損われたファイルに関する情報を提供します。
次のガイドラインは、1つ以上のディスクに障害が発生した後、すべてのディスク・グループ・データの冗長性を完全にリストアするための領域が十分であるかどうかを確認する上で役に立ちます。
標準冗長性のディスク・グループ: 1つの障害グループのすべてのディスクの損失を許容できる十分な空き領域を確保することが最も適切です。空き領域の量は、最大の障害グループのサイズと等しくする必要があります。
高冗長性のディスク・グループ: 2つの障害グループのすべてのディスクの損失に対応できる十分な空き領域を確保することが最も適切です。空き領域の量は、2つの最大障害グループの合計サイズと等しくする必要があります。
注意: 複数の障害グループから複数のディスクが失われる場合、データのプライマリ・コピーと冗長コピーも失われる可能性があります。また、冗長性をリストアするのに十分な容量がない場合もOracle ASMは引き続き動作します。ただし、別のディスクに障害が発生すると、これ以上の障害を許容することができません。 |
V$ASM_DISKGROUP
ビューには、容量の管理に役立つ情報が含まれる次の列があります。
REQUIRED_MIRROR_FREE_MB
は、ディスク・グループで許容できる最悪の障害が発生した後、追加ストレージを追加せずに、完全な冗長性をリストアするためにディスク・グループで使用可能にする必要のある領域の量を示します。この要件により、冗長性をリストアするのに十分な障害グループが確保されます。また、この最悪の障害は、ディスクを削除する必要がある永久障害を指し、ディスクをオフラインにした後オンラインに戻すようなものではありません。
この列に表示される領域の量は、ミラー化の影響を考慮します。値は次のように算出されます。
2つ以上の障害グループがある標準冗長性ディスク・グループの場合
値は、最大の障害グループにあるすべてのディスクのRAW領域の合計になります。最大の障害グループとは、RAW領域の合計が最大のグループです。たとえば、各ディスクがそれぞれの障害グループにある場合、値は最大容量ディスクのサイズになります。
3つ以上の障害グループがある高冗長性ディスク・グループの場合
値は、2つの最大の障害グループにあるすべてのディスクのRAW領域の合計になります。
USABLE_FILE_MB
は、ミラー化のために調整され、ディスクに障害が発生した後、冗長性をリストアするために新しいファイルに使用可能な空き領域の量を示します。USABLE_FILE_MB
は、ディスク・グループの空き領域合計からREQUIRED_MIRROR_FREE_MB
を差し引き、ミラー化の値の調整を行って算出されます。たとえば、標準冗長性のディスク・グループで、ミラー化されたファイルがデフォルトでそのサイズの2倍に等しいディスク領域を使用する場合、実際に残っている使用可能なファイル領域が4GBであると、USABLE_FILE_MB
は約2GBになります。この場合、最大2GBのファイルを追加できます。
TOTAL_MB
は、ディスク・グループの使用可能な容量の合計です(MB)。この列のデータの算出には、ディスク・ヘッダーのオーバーヘッドを考慮に入れます。ディスク・ヘッダーのオーバーヘッドは、Oracle ASMディスクとOracle ASMファイルの数によって異なります。この値は、通常、RAWストレージ容量の合計の約1%になります。たとえば、Oracle ASMにプロビジョニングされたLUN容量の合計が100GBの場合、TOTAL_MB
列の値は約99GBになります。
FREE_MB
は、ディスク・グループの未使用の容量です(MB)。データの不均衡は考慮されません。FREE_MB
列の値が未使用の容量を示していても、1つのOracle ASMディスクがいっぱいであるために、ディスク・グループ内の不均衡によってデータベースの書込みが失敗するという状況が発生することがあります。手動リバランスを開始して、均等なデータの分散を強制的に行うことにより、FREE_MB
列の値が正確に表示されるようにします。
128KBを使用する密なストライプ化では、ストレージはAUサイズの8倍になるように事前に割り当てられます。したがって、この事前割当てのために、Oracle ASM上のデータファイルのサイズはローカル・ファイルシステムよりもわずかに大きくなります。
Oracle ASMの標準冗長性または高冗長性を使用する場合、ディスク領域の使用状況の測定は、複数の変数に依存するため、より複雑になります。
注意: TOTAL_MB 列とFREE_MB 列の値は、Oracle ASMのミラー化を構成しない場合、つまり外部冗長性を使用する場合は領域の使用状況を最適に表します。 |
次の問合せの結果は、各ディスクが独自の障害グループに属している6つの1GB(1024MB)のディスクで構成された標準冗長性のディスク・グループの容量メトリックを示しています。
SQL> SELECT name, type, total_mb, free_mb, required_mirror_free_mb, usable_file_mb FROM V$ASM_DISKGROUP; NAME TYPE TOTAL_MB FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB ------------ ------ ---------- ---------- ----------------------- -------------- DATA NORMAL 6144 3768 1024 1372
REQUIRED_MIRROR_FREE_MB
列は、1つ以上のディスクに障害が発生した後に冗長性を完全にリストアするには1GBの追加容量が必要であることを示しています。問合せ結果の最初の3つの数値列は未処理の数値です。つまり、これらの数値では冗長性が考慮されていません。標準冗長性として調整されているのは最後の列のみです。data
ディスク・グループの問合せ出力の例では、次のように計算されています。
(FREE_MB
-
REQUIRED_MIRROR_FREE_MB
) /
2
= USABLE_FILE_MB
(3768
- 1024
) / 2
= 2744
/ 2
= 1372
この項の内容は次のとおりです。
ファイルに対してミラー化を指定すると、ファイル・エクステントの冗長コピーが自動的に個別の障害グループに格納されます。障害グループは、標準冗長性および高冗長性のディスク・グループにのみ適用されます。ディスク・グループを作成または変更する場合、ディスク・グループごとに障害グループを定義できます。
Oracle ASMの冗長性レベルに基づいた3種類のディスク・グループがあります。表4-1に、そのタイプと、サポートされるミラー化レベルおよびデフォルトのミラー化レベルを示します。デフォルトのミラー化レベルは、異なるミラー化レベルを指定しないかぎり、各ファイルの作成時に使用されるミラー化レベルを示します。
表4-1 Oracle ASMディスク・グループ・タイプのミラー化オプション
ディスク・グループ・タイプ | サポートされるミラー化レベル | デフォルトのミラー化レベル |
---|---|---|
外部冗長性 |
非保護(なし) |
非保護 |
標準冗長性 |
双方向、3方向、非保護(なし) |
双方向 |
高冗長性 |
3方向 |
3方向 |
冗長性レベルでは、ディスク・グループのディスマウントやデータの消失なしに許容されるディスク障害の数が制御されます。各ファイルは固有の冗長性に基づいて割り当てられますが、デフォルトはディスク・グループから提供されます。
冗長性レベルは次のとおりです。
外部冗長性
Oracle ASMではミラー化冗長性は提供されません。RAID機能を備えたストレージ・システムを使用します。書込みエラーが発生すると、ディスク・グループは強制的にディスマウントされます。ディスク・グループを正常にマウントするには、すべてのディスクを検出する必要があります。
標準冗長性
Oracle ASMは、デフォルトで双方向ミラー化を行います。つまり、すべてのファイルがミラー化されるため、各エクステントのコピーが2つ存在することになります。1つのOracle ASMディスクの損失は許容されます。必要に応じて、3方向ミラー化または非保護ミラー化を選択できます。
NORMAL
冗長性ディスク・グループ内でファイルにHIGH
冗長性(3方向ミラーリング)を指定すると、不良ディスク・セクターからの保護が追加されますが、ディスク障害から保護されるわけではありません。
高冗長性
Oracle ASMは、デフォルトでトリプル・ミラー化を行います。異なる障害グループの2つのOracle ASMディスクの損失は許容されます。
ディスク・グループのファイル・タイプ・テンプレートに指定されたファイルのミラー化(冗長性属性値)を満たすのに十分なオンラインの障害グループがない場合、Oracle ASMでは、できるかぎり多くのミラー・コピーを割り当て、その後十分なオンラインの障害グループが使用できるようになったときに残りのミラーを割り当てます。Oracle ASMディスク・グループ・テンプレートの指定の詳細は、「ディスク・グループ・テンプレートの管理」を参照してください。
障害グループを使用すると、メタデータおよびユーザー・データをミラー化できます。使用環境における障害グループの数が十分でない場合、システムの信頼性が損われる可能性があります。
この項の内容は次のとおりです。
障害グループは、データのミラー・コピーを格納するために使用されます。Oracle ASMが標準冗長性のファイルにエクステントを割り当てる場合、プライマリ・コピーとセカンダリ・コピーが割り当てられます。プライマリ・コピー以外に、別の障害グループに含まれるようにセカンダリ・コピーを格納するディスクが選択されます。各コピーは別の障害グループのディスク上にあるため、障害グループのすべてのディスクで同時に障害が発生してもデータは失われません。
障害グループはディスク・グループのディスクのサブセットです。これらのディスクはハードウェアを共有するため、同時に障害が発生する可能性があります。共通のハードウェアの障害は許容される必要があります。大きなJBOD(単純ディスク束)アレイの単一リムーバブル・トレイにある4つのドライブは、この4つのドライブで同時に障害が発生したときにトレイを削除できるため、同じ障害グループ内にある必要があります。キャビネットに冗長電源と冗長クーリングが装備され、キャビネット全体の障害から保護する必要がない場合、同じキャビネット内のドライブを複数の障害グループに置くことができます。ただし、Oracle ASMのミラー化は、キャビネット全体を破損させるコンピュータ・ルームの火災に対する保護を目的としていません。
障害グループは、明示的に作成されない場合でも常に存在します。ディスクの障害グループを指定しない場合、そのディスクのみを含む新しい障害グループが自動的に作成されます。ただし、Oracle Exadataセル上のディスクを含むディスク・グループを除きます。
標準冗長性のディスク・グループには、少なくとも2つの障害グループが含まれる必要があります。高冗長性のディスク・グループには、少なくとも3つの障害グループが必要です。しかし、数個の障害グループを使用することをお薦めします。障害グループの数が少ない場合や、障害グループの容量が均一でない場合、割当てに問題が発生し、使用可能なストレージを完全に利用できないことがあります。
障害グループは、標準障害グループまたはクォーラム障害グループとして指定できます。クォーラム障害グループの詳細は、「Oracle ASMディスク・グループに格納されるOracle Cluster Registryおよび投票ファイル」を参照してください。
関連項目: Oracle Exadata障害グループの詳細は、Oracle Exadataのドキュメントを参照してください。 |
ディスク・グループの冗長性レベルおよび障害グループの定義方法に応じて、1つ以上のディスクの障害が原因で次のいずれかの結果が生じる場合があります。
ディスクは最初にオフラインになった後、自動的に削除されます。この場合、ディスク・グループはマウントされて使用可能なままです。また、ミラー化のため、ディスク・グループのすべてのデータは依然としてアクセス可能です。ディスクの削除操作の後、リバランスが実行され、障害が発生したディスク上のデータの冗長性が完全にリストアされます。
ディスク・グループ全体が自動的にディスマウントされます。つまり、データはアクセス不可能になります。
ディスク・グループ内の各ディスクは、1つの障害グループにのみ属することができます。
障害グループはすべて同じサイズである必要があります。障害グループのサイズが異なると、可用性が損われることがあります。
Oracle ASMでは、標準冗長性のディスク・グループを作成する場合は2つ以上の障害グループが、高冗長性のディスク・グループの場合は3つ以上の障害グループが必要です。
この項では、障害グループに関してよくある質問について説明します。内容は次のとおりです。
作成する必要のある障害グループの数は
作成する障害グループ数の選択は、データを失わずに許容する必要のある障害のタイプによって決まります。通常、ディスクの数が少ない場合(20未満など)、デフォルトの障害グループ作成の使用が最適です。この場合、ディスクはすべて独自の障害グループに入れられます。
ディスク数が少ない場合を対象としたデフォルトの障害グループ作成の使用は、ディスク数が多くても、問題が主にディスク障害である場合に適しています。たとえば、ディスク・グループが複数の小規模なモジュール型ディスク・アレイで構成されている場合があります。1つのモジュール型アレイ全体に障害が発生してもシステムを稼働し続ける必要がある場合、障害グループは1つのモジュール内のすべてのディスクで構成される必要があります。1つのモジュールに障害が発生した場合、このモジュール上のすべてのデータが他のモジュールに再配置され、冗長性がリストアされます。データの可用性を損わずに障害を許容する必要のある共有ハードウェアに複数のディスクが依存している場合、これらのディスクは同じ障害グループに入れる必要があります。
同時障害発生後に複数の障害グループをリカバリする方法は
同時障害は、複数の障害グループで使用される1つのハードウェアに障害がある場合に発生する可能性があります。このような障害では通常、すべてのディスクが使用できない場合、ディスク・グループを強制的にディスマウントします。
外部、標準または高冗長性を使用する必要のある状況は
Oracle ASMのミラー化はデータベース・サーバーで実行されるため、外部冗長性を使用してこの処理の負荷をストレージ・ハードウェアのRAIDコントローラに分散することをお薦めします。標準冗長性は、次のような状況で使用できます。
ストレージ・システムにRAIDコントローラがない
ストレージ・アレイ間でミラー化を行う
クラスタ構成が拡張されている
通常、Oracle ASMのミラー化は、サード・パーティの論理ボリューム・マネージャに対するOracleの代替手段です。Oracle ASMのミラー化により、Oracleデータベース環境にソフトウェアのレイヤーを追加デプロイして複雑にしなくてもすみます。
読取りエラーは、ディスク全体にアクセスできなくなるか、正常なディスクでのメディア破損の結果、発生する可能性があります。Oracle ASMは、ディスク上の破損セクターでの読取りエラーからのリカバリを試みます。データベースまたはOracle ASMによる読取りエラーで、Oracle ASMインスタンスが不良ブロックの再マッピングを試みると、Oracle ASMではエクステントの正常なコピーを読み取り、読取りエラーが発生したディスクにこれをコピーします。
同じ場所への書込みに成功すると、基礎となる割当て単位(セクター)は正常とみなされます。これは、基礎となるディスクで独自に不良ブロック再割当てが行われたためです。
書込みに失敗すると、Oracle ASMでは同じディスクの新しい割当て単位にそのエクステントの書込みを試みます。この書込みに成功すると、元の割当て単位には使用禁止のマークが付けられます。書込みに失敗すると、ディスクはオフラインになります。
Oracle ASMベースのミラー化に特有の利点は、データベース・インスタンスでミラー化が認識される点です。不良チェックサムや間違ったシステム変更番号(SCN)などの様々な論理破損の場合、データベース・インスタンスは、ミラー側で有効なコンテンツを探しながら、エラーなく続行します。読取りが発生したデータベースでのプロセスが、データの整合性を保証するために適切なロックを取得できる場合、正しいデータがすべてのミラー側に書き込まれます。
書込みエラーが発生すると、データベース・インスタンスからOracle ASMインスタンスに、ディスク・オフライン・メッセージが送信されます。
データベースが1つ以上のエクステント・コピーへの書込みを正常に完了でき、Oracle ASMからオフライン・ディスクの確認を受信した場合、その書込みは成功したとみなされます。
すべてのミラー側への書込みが失敗した場合、データベースでは、書込みエラーに応じて、表領域をオフラインにするなどの適切な処置が取られます。
Oracle ASMインスタンスがデータベース・インスタンスから書込みエラー・メッセージを受信するか、Oracle ASMインスタンス自体に書込みエラーが発生した場合、Oracle ASMインスタンスでは、ディスクのオフライン化が試みられます。Oracle ASMは、ディスクのパートナでオフラインのものがあるかどうかを確認するために、パートナ・ステータス表(PST)を参照します。オフラインになっているパートナが多すぎる場合、Oracle ASMによりそのディスク・グループは強制的にディスマウントされます。それ以外の場合は、Oracle ASMはディスクをオフラインにします。
ASMCMD remap
コマンドは、ディスクに一連の不良セクターが存在し、Oracle ASMまたはデータベースI/Oの前に修正する必要がある状況に対応するために導入されましたremap
コマンドの詳細は、「remapコマンド」を参照してください。
一時的なディスク・パス障害後にOracle ASMディスク・グループの冗長性をリストアする処理には、時間がかかります。このことは特に、リカバリ・プロセスにOracle ASM障害グループ全体の再構築が必要である場合は顕著です。Oracle ASMの高速ミラー再同期を行うと、このような状況下で障害が発生したディスクの再同期に要する時間を大幅に短縮できます。障害が発生したディスクを置換する場合、Oracle ASMディスクのエクステントを簡単に再同期できます。
障害グループが一時的に使用できなくなる問題は、Oracle ASMの高速ミラー再同期機能によってリカバリすることが可能な、一時的障害とみなされます。一時的障害は、たとえば、ディスク・パスの不具合(ケーブル障害、ホスト・バス・アダプタ障害、コントローラ障害など)や、ディスク電源の停電などによって発生します。
Oracle ASMの高速再同期では、停止時にOFFLINE
のディスクのエクステントに対して保留になっている変更が追跡されます。これらのエクステントは、ディスクがオンラインに戻ったときに再同期されます。
デフォルトでは、ディスクはオフラインになってから3.6時間で削除されます。この削除操作は、DISK_REPAIR_TIME
ディスク・グループ属性を設定することによって遅らせることもできます。つまり、ディスクを修復してオンラインに戻すまでの時間間隔をこの属性に指定できます。この時間は、分単位(m
、M
)または時間単位(h
、H
)で指定できます。単位を省略すると、デフォルトでは時間単位になります。DISK_REPAIR_TIME
ディスク・グループ属性は、ALTER
DISKGROUP
SQL文でのみ設定できます。
この属性が明示的に設定されていない場合、明示的なDROP
AFTER
句なしでOFFLINE
モードに設定されたディスクには、デフォルト値(3.6h
)が適用されます。I/OエラーによってオフラインになったディスクにはDROP
AFTER
句がありません。
DISK_REPAIR_TIME
属性のデフォルト値は、多くの環境に適合すると思われる予測値です。ただしこの属性値は、実際の環境で一時的なディスク・エラーを修正するために必要と考えられ、データの冗長性の低下を許容できる時間に設定してください。
経過時間(ディスクがOFFLINE
モードになってからの時間)は、オフラインになったディスクが属しているディスク・グループがマウントされている場合にのみ増分されます。V$ASM_DISK
のREPAIR_TIMER
列には、オフラインのディスクが削除されるまでの残り時間(秒単位)が表示されます。指定した時間を経過すると、ディスクは削除されます。この属性は、ALTER
DISKGROUP
OFFLINE
DISK
文およびDROP
AFTER
句を使用してオーバーライドできます。
注意: ディスクがI/O(書込み)エラーのためにOracle ASMによってオフラインにされた場合、またはDROP AFTER 句のないALTER DISKGROUP ... OFFLINE 文によって明示的にオフラインにされた場合は、ディスク・グループのDISK_REPAIR_TIME 属性に指定された値が使用されます。
|
オフラインのディスクが2回目にオフラインになると、経過時間はリセットされてから再開されます。このディスクに対してDROP
AFTER
を使用して別の時間を指定すると、最初の値がオーバーライドされ、新しい値が適用されます。OFFLINE
モードのディスクは、ALTER
DISKGROUP
DROP
DISK
文では削除できません。削除しようとするとエラーが戻されます。なんらかの理由(ディスクを修復できない場合など)により、修復時間が経過する前にディスクを削除する必要がある場合、0h
または0m
を指定したDROP
AFTER
句を使用して2回目のOFFLINE
文を発行して、ディスクを即時に削除できます。
ALTER
DISKGROUP
を使用して、DISK_REPAIR_TIME
属性を特定の時間または分の値(4.5時間または270分など)に設定できます。次に例を示します。
ALTER DISKGROUP data SET ATTRIBUTE 'disk_repair_time' = '4.5h' ALTER DISKGROUP data SET ATTRIBUTE 'disk_repair_time' = '270m'
ディスクを修復した後、SQL文ALTER
DISKGROUP
ONLINE
DISK
を実行します。この文により、修復したディスク・グループがオンラインに戻され、新しい書込みが失われないよう書込みが有効になります。また、この文により、冗長コピー上で失効とマークされているすべてのエクステントをコピーする手順が開始されます。
Oracle ASMインスタンスがローリング・アップグレード・モードのときにディスクがオフラインになると、ローリング・アップグレードが終了するまでディスクはオフラインのままであり、Oracle ASMクラスタがローリング・アップグレード・モードでなくなるまでディスクの削除タイマーは停止されます。詳細は、「Oracle ASMのローリング・アップグレードの使用」を参照してください。ディスクをオフラインにして、オンラインに戻す例を次に示します。
次の例では、ディスクDATA_001
をオフラインにして、5分後に削除します。
ALTER DISKGROUP data OFFLINE DISK DATA_001 DROP AFTER 5m;
次の例では、ディスクDATA_001
をオフラインにして、DISK_REPAIR_TIME
で指定した時間の経過後にこのディスクを削除します。
ALTER DISKGROUP data OFFLINE DISK DATA_001;
この例では、障害グループFG2
のディスクをすべてオフラインにして、DISK_REPAIR_TIME
で指定した時間の経過後にこれらを削除します。DROP
AFTER
句を使用した場合、指定時間の経過後にこのディスクは削除されます。
ALTER DISKGROUP data OFFLINE DISK IN FAILGROUP FG2;
次の例では、障害グループFG2
のディスクをすべてオンラインに戻します。
ALTER DISKGROUP data ONLINE DISK IN FAILGROUP FG2;
この例では、ディスクDATA_001
のみをオンラインに戻します。
ALTER DISKGROUP data ONLINE DISK DATA_001;
この例では、ディスク・グループDATA
のディスクをすべてオンラインに戻します。
ALTER DISKGROUP data ONLINE ALL;
このタイプのALTER
DISKGROUP
... ONLINE
文の実行中にV$ASM_OPERATION
ビューに問い合せると、現在実行している操作の名前と状態が表示されます。次に問合せの例を示します。
SELECT GROUP_NUMBER, OPERATION, STATE FROM V$ASM_OPERATION;
これは次のような出力を表示します。
GROUP_NUMBER OPERA STAT ------------ ----- ---- 1 ONLIN RUN
V$ASM_OPERATION
ビューの問合せでは、OFFLINE
操作は表示されません。
関連項目: ALTER DISKGROUP およびCREATE DISKGROUP の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 |
Oracle ASM障害グループを構成する場合、ノードが読み取るエクステントがセカンダリ・エクステントであっても、最も近いエクステントから読み取った方が効率的である場合があります。つまり、ノードからは遠い可能性があるプライマリ・コピーから読み取るのではなく、セカンダリ・エクステントがノードに近ければ、そこから読み取るようOracle ASMを構成できます。優先読取りの障害グループ機能の使用は、拡張クラスタにおいて最も役に立ちます。
この機能を使用する場合、拡張クラスタ内のノードに対してローカルであるディスクからミラー化されたエクステント・コピーを1つ以上構成することをお薦めします。ただし、あるインスタンスに対して優先される障害グループが同じOracle RACデータベース内の別のインスタンスにはリモートである可能性があります。優先読取りの障害グループのパラメータ設定は、インスタンス固有のものです。
優先読取りの障害グループを使用するには、Oracle ASMクライアントとOracle ASMはいずれも、Oracle Database 11gリリース1(11.1)以上を必要とします。
注意: ディスク・グループの障害グループを指定しない場合、ディスク・グループ内の各ディスクは独自の障害グループに属します。1つのOracle ASMインスタンスについて、ディスク・グループ内に優先読取りの障害グループを複数構成することをお薦めしません。どのインスタンスについても、同じディスク・グループ内の複数の障害グループを優先読取りとして指定すると、アラート・ログに警告メッセージが書き込まれます。 |
関連項目: 拡張クラスタ内の優先読取りディスクの構成については、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。 |
この機能を構成するには、ASM_PREFERRED_READ_FAILURE_GROUPS
初期化パラメータを設定し、優先読取りディスクとして障害グループ名のリストを指定します。この初期化パラメータの詳細は、「ASM_PREFERRED_READ_FAILURE_GROUPS」を参照してください。
diskgroup
はディスク・グループの名前、failuregroup
は障害グループの名前で、これらの変数をピリオドで区切ってこのパラメータを設定します。指定したディスク・グループに障害グループが存在しない場合、この障害グループの名前をこのパラメータ設定で使用しても無視されます。次のように、カンマをセパレータとして複数の値を追加できます。
ASM_PREFERRED_READ_FAILURE_GROUPS
=
diskgroup
.failuregroup
,...
拡張クラスタでは、ASM_PREFERRED_READ_FAILURE_GROUPS
パラメータの設定を使用して指定する障害グループには、インスタンスに対してローカルであるディスクのみが含まれます。標準冗長性のディスク・グループの場合、拡張クラスタの各サイトに存在する障害グループは1つのみです。
ミラー化コピーが複数あり、ASM_PREFERRED_READ_FAILURE_GROUPS
パラメータの値を設定してある場合、優先読取りディスク上にあるコピーが最初に読み取られます。この読取りが失敗すると、次のミラー化コピーからの読取りが試みられますが、このコピーは優先読取りディスク上にはない可能性があります。
1つのサイトに複数の障害グループがある場合、このサイトに障害が発生すると、別のサイトからディスク・グループにアクセスできなくなることがあります。また、1つのサイトに複数の障害グループがある場合、エクステントを別のサイトにミラー化できないことがあります。これにより、その他のサイトにある障害グループの読取りパフォーマンスが低下する場合があります。
たとえば、標準冗長性のディスク・グループの場合、あるディスク・グループの2つの障害グループが1つのサイトに含まれていると、エクステントの両方のミラー・コピーが同じサイトに配置される可能性があります。このような構成では、サイトの障害によるデータの損失を回避できません。
高冗長性のディスク・グループの場合、1つのサイトで構成する障害グループは最大でも2つにする必要があります。1つの拡張クラスタに3つのサイトがある場合、前述と同じ理由により、作成する障害グループは1つにする必要があります。
2サイトの拡張クラスタの場合、標準冗長性のディスク・グループにある障害グループは2つのみです。この場合、インスタンスごとに優先読取りの障害グループとして指定できる障害グループは1つのみです。
ビューを使用して、優先読取りの障害グループを識別できます。たとえば、PREFERRED_READ
列の値によってディスクが優先読取りディスクであるかどうかを示すV$ASM_DISK
ビューなどがあります。また、V$ASM_DISK
を使用して、拡張クラスタ内のローカル・ディスクが優先読取りディスクであるかどうかの検証もできます。構成した優先読取りディスクが読取り操作に使用されているかどうかを検証するには、Oracle ASMのディスクI/O統計を使用します。
拡張クラスタに対してディスク・グループが最適に構成されていない場合、アラート・ログに警告メッセージが記録されます。Oracle ASMの優先読取りの障害グループに関する特定のパフォーマンス上の問題を識別するには、V$ASM_DISK_IOSTAT
ビューを使用します。このビューには、Oracle ASMクライアントごとのディスクI/O統計が表示されます。また、データベース・インスタンスについてV$ASM_DISK_IOSTAT
ビューに問い合せることもできます。ただし、この問合せではデータベース・インスタンスのI/O統計のみが表示されます。通常、優先読取りの拡張クラスタ構成が最適であれば、パフォーマンスとディスク・グループの可用性のバランスがとれます。
関連項目: V$ASM *動的パフォーマンス・ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。 |
この項では、ディスク・グループのパフォーマンスの評価に関する次の考慮事項について説明します。
次の基準を使用して、作成するディスク・グループ数を確認します。
指定したディスク・グループ内のディスクは、サイズおよびパフォーマンス特性が類似している必要があります。サイズやパフォーマンスにおいて異なるタイプのディスクが複数ある場合は、類似する特性を含む複数のディスク・グループを作成してください。
データベース・ファイル用とバックアップ・ファイルの高速リカバリ領域用に個別のディスク・グループを作成します。この構成により、ディスク・グループの障害が発生した場合に高速リカバリが可能になります。
新規インストール用のディスク・グループの作成の詳細は、「新規Oracleインストール用のディスク・グループの作成」を参照してください。
Oracle ASMでは、ディスク・グループ内のすべてのディスクに対して、ファイル・エクステントを均一に分散することによって、ファイル・アクティビティのロード・バランシングを行います。この技術を有効にするには、1つのディスク・グループ内のディスクのパフォーマンス特性が類似している必要があります。たとえば、データベース作業領域用として予約されたディスク・グループ内には最新かつ最速のディスクを置き、高速リカバリ領域用として予約されたディスク・グループ内にはこれより遅いドライブを置きます。
状況によっては、サイズおよびパフォーマンス特性が異なるディスクが同じディスク・グループ内で一時的に共存しても問題ありません。これには、古いディスク・セットから新しいディスク・セットに移行する場合などがあります。この場合、新しいディスクが追加され、古いディスクが削除されます。古いディスクが削除されるときに、ディスク・グループのオンライン中にそのストレージが新しいディスクに移行されます。
Oracle ASMでは、今後の増加に対応するほぼ無制限の容量が提供されますが、いくつかのストレージの制限があります。たとえば、Oracle ASMにはディスク・グループ、ディスクおよびファイルの数について次のような制限があります。
1つのストレージ・システムに63のディスク・グループ
1つのストレージ・システムに10,000のOracle ASMディスク
ディスク・グループごとに100万のファイル
Oracle Exadataストレージがない場合、Oracle ASMには次のようなストレージの制限があります。
Oracle ASMディスクごとに最大2TBのストレージ
ストレージ・システムに対して最大20PB
Oracle Exadataストレージがある場合、Oracle ASMには次のようなストレージの制限があります。
Oracle ASMディスクごとに最大4PBのストレージ
ストレージ・システムに対して最大40EB
ディスク・グループの最大サイズの制限は、最大ディスク・サイズにディスク・グループ内の最大ディスク数(10,000)を乗じた値です。
すべてのディスク・グループ全体での最大ディスク数は10,000です。10,000のディスクは、1つのディスク・グループに含めることも、最大で63のディスク・グループに分散することもできます。これは必ずしもスピンドル数ではなくOracle ASMディスク数の制限です。ストレージ・アレイは、複数のスピンドルを単一のLUNにグループ化し、単一のOracle ASMディスクとして使用できます。ただし、現在Oracle ASMは、Oracle Exadataを使用している場合をのぞき、ディスクごとに最大2TBに制限されています。
ファイル・サイズの制限は、ディスク・グループの互換性属性の値によって異なります。Oracle ASMでは、COMPATIBLE.RDBMS
ディスク・グループ属性が10.1
より大きい値に設定されている場合、どの冗長性モードでも128TBを超えるファイル・サイズをサポートします。
COMPATIBLE.RDBMS
が10.1
に設定されている場合、ファイル・サイズの制限はより小さくなります。たとえば、COMPATIBLE.RDBMS
が10.1
で、AUサイズが1MBの場合、Oracle ASMファイル・サイズの制限は次のとおりです。
外部冗長性: 16TB
標準冗長性: 5.8TB
高冗長性: 3.9TB
注意: Oracle Databaseでは、ファイルシステムに応じて最大128TBのデータファイル・サイズをサポートします。また、DB_BLOCK_SIZE 初期化パラメータによって異なるファイル・サイズの制限があります。 |
Oracle ASMディスク・グループの互換性属性の詳細は、「ディスク・グループの互換性」を参照してください。Oracle ASMファイル・サイズの制限の詳細は、表4-4を参照してください。
この項では、ディスク・グループの互換性について説明します。内容は次のとおりです。
ディスク・グループの互換性設定を拡張すると、上位のリリースで使用可能なOracle ASMの新機能を使用できます。たとえば、ディスク・グループの互換性属性が11.2に設定されたディスク・グループは、Oracle 11gリリース2(11.2)の新機能(ディスク・グループに格納されるOracle ASMボリューム、Oracle ASMファイル・アクセス制御)を利用できます。互換性属性設定の組合せに対して使用可能な機能については、表4-3を参照してください。
また、ディスク・グループの互換性機能により、Oracle Database 10gおよびOracle Database 11gの両方のディスク・グループを使用する場合、環境の相互運用が可能になります。たとえば、ディスク・グループの互換性設定をOracle Database 10gにした場合、10gのクライアントは、Oracle ASM 11gで作成されたディスク・グループにアクセスできます。
互換性を決定するディスク・グループ属性は、COMPATIBLE.ASM
、COMPATIBLE.RDBMS
およびCOMPATIBLE.ADVM
です。COMPATIBLE.ASM
属性設定はOracle ASMインスタンス・タイプについて、COMPATIBLE.RDBMS
属性設定はデータベース・インスタンス・タイプについて、システムで使用可能なOracle Databaseの最小ソフトウェア・バージョン番号を決定します。たとえば、Oracle ASMの互換性設定が11.2
で、RDBMSの互換性が11.1に設定されている場合、Oracle ASMソフトウェア・バージョンは11.2
以上、Oracle Databaseクライアント・ソフトウェア・バージョンは11.1
以上である必要があります。COMPATIBLE.ADVM
属性は、Oracle ASM動的ボリューム・マネージャ機能がボリュームをディスク・グループに作成できるかどうかを決定します。
ディスク・グループを作成する際に、CREATE
DISKGROUP
SQL文でディスク・グループの互換性属性設定を指定できます。ALTER
DISKGROUP
SQL文は、既存のディスク・グループのcompatible属性設定を更新できます。CREATE
DISKGROUP
SQL文を使用する際に指定しない場合、Oracle Database 11gでは、Oracle ASMのCOMPATIBLE.ASM
属性とCOMPATIBLE.RDBMS
属性のデフォルト設定はいずれも10.1
です。COMPATIBLE.ADVM
属性は、設定しない場合は空です。compatible属性設定の有効な組合せの例は、表4-2を参照してください。
ディスク・グループ属性をASMCMD setattr
コマンドで設定および更新できます。ASMCMD setattr
コマンドの詳細は、「setattr」を参照してください。
注意:
|
ディスク・グループの互換性属性は、Oracle ASMインスタンスおよびデータベース・インスタンスのディスク・グループの互換性設定を指定します。ここでは、これらの属性について説明します。内容は次のとおりです。
COMPATIBLE
.ASM
ディスク・グループ属性の値により、ディスク・グループを使用できるOracle ASMインスタンスの最小ソフトウェア・バージョンが決まります。この設定は、ディスク上のOracle ASMメタデータのデータ構造の形式にも影響を及ぼします。他のファイル内容の形式は、Oracle ASM動的ボリューム・マネージャ(Oracle ADVM)およびデータベース・インスタンスによって決まります。
Oracle Database 11gのOracle ASMでは、SQL CREATE
DISKGROUP
文、ASMCMD mkdg
コマンド、およびOracle Enterprise Managerの「ディスク・グループの作成」ページを使用する場合、10.1
がCOMPATIBLE.ASM
属性のデフォルト設定になります。ASMCAを使用してディスク・グループを作成する場合、デフォルト設定は11.2
です。
COMPATIBLE.RDBMS
ディスク・グループ属性の値により、ディスク・グループを使用できるデータベース・インスタンスのCOMPATIBLE
データベース初期化パラメータの最小設定が決まります。COMPATIBLE
.RDBMS
属性を拡張する前に、ディスク・グループにアクセスするすべてのデータベースのCOMPATIBLE
初期化パラメータの値がCOMPATIBLE
.RDBMS
の新しい設定値以上に設定されていることを確認してください。
たとえば、データベースのCOMPATIBLE
初期化パラメータが11.1
または11.2
に設定されている場合、COMPATIBLE.RDBMS
は10.1
から11.1
の任意の値に設定できます。
Oracle Database 11gのOracle ASMでは、SQL CREATE
DISKGROUP
文、ASMCMD mkdg
コマンド、ASMCAの「ディスク・グループの作成」、およびOracle Enterprise Managerの「ディスク・グループの作成」ページを使用する場合、10.1
がCOMPATIBLE
.RDBMS
属性のデフォルト設定になります。
注意: データベース初期化パラメータCOMPATIBLE を使用すると、新しいリリースのOracle Databaseを使用できる一方で、以前のリリースの下位互換性も同時に保証されます。COMPATIBLE 初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。 |
COMPATIBLE.ADVM
ディスク・グループ属性の値により、ディスク・グループにOracle ASMボリュームを含めることができるかどうかが決まります。この値は11.2
以上に設定する必要があります。この属性を設定する前に、COMPATIBLE.ASM
値が11.2
以上である必要があります。また、サポートする環境にOracle ADVMボリューム・ドライバをロードしておく必要があります。
デフォルトでは、COMPATIBLE.ADVM
属性の値は設定しないかぎり空です。
Oracle ADVMの詳細は、「Oracle ASM動的ボリューム・マネージャの概要」を参照してください。
この項では、ディスク・グループの互換性属性の設定と、CREATE
DISKGROUP
またはALTER
DISKGROUP
SQL文を使用して属性値を設定する方法について説明します。
この項の内容は次のとおりです。
ディスク・グループの互換性設定は、Oracle Enterprise Manager、Oracle ASMコマンドライン・ユーティリティ(ASMCMD)およびOracle ASMコンフィギュレーション・アシスタント(ASMCA)を使用しても設定できます。第9章「Oracle Enterprise ManagerによるOracle ASMの管理」、第11章「Oracle ASMコンフィギュレーション・アシスタント」および第12章「Oracle ASMコマンドライン・ユーティリティ」を参照してください。
関連項目: ディスク・グループの互換性に関するSQL文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 |
ディスク・グループ属性の値を設定する場合は、Oracle Databaseの有効なリリース番号の少なくともメジャー・バージョンとマイナー・バージョンを指定します。たとえば、互換性を'11.1'
または'11.2'
のように指定できます。欠落しているバージョン番号の桁はゼロとみなされます。
表4-2に、ディスク・グループの互換性属性の有効な組合せと、各組合せについてOracle ASMインスタンスとデータベース・インスタンスの有効なバージョンを示します。
表4-2 ディスク・グループの互換性属性設定の例
COMPATIBLE.ASM | COMPATIBLE.RDBMS | COMPATIBLE.ADVM | ASMインスタンスのバージョン | RDBMSインスタンスCOMPATIBLE設定 |
---|---|---|---|---|
10.1 |
10.1 |
該当なし |
>= 10.1 |
>= 10.1 |
11.1 |
10.1 |
該当なし |
>= 11.1 |
>= 10.1 |
11.2 |
11.1 |
11.2 |
>= 11.2 |
>= 11.1 |
11.2 |
11.2 |
11.2 |
>= 11.2 |
>= 11.2 |
次に、Oracle ASMとデータベースのリリースで考えられる組合せの一部を示します。
データベースのリリースは11gリリース2(11.2)(データベース初期化パラメータCOMPATIBLE
は11.2
に設定)、Oracle ASMのリリースは11gリリース2(11.2)。ディスク・グループのCOMPATIBLE.ASM
とCOMPATIBLE.RDBMS
のディスク・グループ属性はデフォルト値の10.1
に設定されています。
Oracle ASMディスク・グループ機能は10gのままです。
データベースのリリースは10g、Oracle ASMのリリースは11.2。ディスク・グループのCOMPATIBLE.ASM
は11.2
に、COMPATIBLE.RDBMS
は10.1
に設定されています。
属性設定の組合せに対して使用可能なディスク・グループ機能について、表4-3に示します。
データベースのリリースは11.2(データベース初期化パラメータCOMPATIBLE
は11.2
に設定)、Oracle ASMのリリースは11.2。ディスク・グループの互換性属性はすべて11.2
に設定されています。
属性設定の組合せに対して使用可能なディスク・グループ機能について、表4-3に示します。
ディスク・グループを作成する際に、CREATE
DISKGROUP
文を使用してディスク・グループの互換性設定を指定できます。
次の例では、標準冗長性のディスク・グループdata1
を作成します。このディスク・グループのOracle ASMの互換性は11.2
に設定され、RDBMSの互換性はデフォルト(COMPATIBLE.RDBMS
のデフォルトは11.2以下)に設定されています。
CREATE DISKGROUP data1 DISK '/dev/sd*' ATTRIBUTE 'compatible.asm' = '11.2';
次の例では、ASM、RDBMSおよびADVMの互換性が11.2
に設定された標準冗長性のディスク・グループdata2
を作成します。
CREATE DISKGROUP data2 DISK '/dev/sd*' ATTRIBUTE 'compatible.asm' = '11.2', 'compatible.rdbms' = '11.2', 'compatible.advm' = '11.2';
ディスク・グループを作成した後に、ALTER
DISK
GROUP
SQL文を使用して、互換性属性を変更できます。ALTER
DISK
GROUP
SQL文を使用すると、変更をコミットする前に、指定のディスク・グループの互換性を拡張できます。
ALTER
DISKGROUP
を実行する場合、互換性を拡張してもデータベースおよびファイルシステムのアクセスが低下しないように、影響を受けるデータベースとファイルシステムをすべてオンラインにする必要があります。ディスク・グループの互換性を拡張する際は、COMPATIBLE
.RDBMS
またはCOMPATIBLE.ADVM
属性の前にCOMPATIBLE
.ASM
属性を拡張して、必ず表4-2に示したcompatible属性設定の有効な組合せにしてください。1つのALTER
DISKGROUP
文で拡張できる互換性属性は1つのみです。
次の例では、ディスク・グループdata3
のOracle ASMの互換性を11.2
に拡張します。ディスク・グループdata3
にアクセスするには、Oracle ASMインスタンスがリリース11.2
以上である必要があります。
ALTER DISKGROUP data3 SET ATTRIBUTE 'compatible.asm' = '11.2';
次の例では、ディスク・グループdata3
のCOMPATIBLE.RDBMS
およびCOMPATIBLE.ADVM
互換性属性を11.2
に拡張します。この例では、COMPATIBLE.ASM
の値が11.2
に設定されていることを前提としています。
ALTER DISKGROUP data3 SET ATTRIBUTE 'compatible.rdbms' = '11.2', ALTER DISKGROUP data3 SET ATTRIBUTE 'compatible.advm' = '11.2';
ディスク・グループの互換性設定は、V$ASM_ATTRIBUTE
ビューに表示できます。しかし、COMPATIBLE.ASM
値が10.1
に設定されている場合、V$ASM_ATTRIBUTE
ビューには1行も表示されません。かわりに、COMPATIBLE.ASM
およびCOMPATIBLE.RDBMS
のディスク・グループの互換性属性の値を、V$ASM_DISKGROUP
ビューのCOMPATIBILITY
列とDATABASE_COMPATIBILITY
列で確認できます。
V$ASM_ATTRIBUTE
ビューの問合せの例は、例6-1「V$ASM_ATTRIBUTEによるディスク・グループ属性の表示」を参照してください。
ディスク・グループの互換性属性は、ASMCMDコマンドlsattr
を使用して表示することもできます。lsattr
の詳細は、「lsattr」を参照してください。
関連項目:
|
表4-3には、ディスク・グループの互換性属性設定の有効な組合せによって使用可能になる機能を示します。
表4-3 ディスク・グループの互換性属性設定により使用可能になる機能
使用可能なディスク・グループ機能 | COMPATIBLE.ASM | COMPATIBLE.RDBMS | COMPATIBLE.ADVM |
---|---|---|---|
>= 11.1 |
>= 11.1 |
該当なし |
|
>= 11.1 |
該当なし |
該当なし |
|
>= 11.1 |
>= 11.1 |
該当なし |
|
>= 11.1 |
>= 11.1 |
該当なし |
|
>= 11.1.0.7 |
>= 11.1.0.7 |
該当なし |
|
>= 11.2 |
>= 11.2 |
該当なし |
|
>= 11.2 |
該当なし |
該当なし |
|
>= 11.2 |
>= 11.2 |
該当なし |
|
>= 11.2 |
該当なし |
該当なし |
|
>= 11.2 |
>= 11.2 |
該当なし |
|
>= 11.2 |
該当なし |
>= 11.2 |
|
>= 11.2.0.2 |
該当なし |
該当なし |
|
>= 11.2.0.2 |
該当なし |
>= 11.2.0.2 |
|
>= 11.2.0.3 |
該当なし |
>= 11.2.0.3 |
|
>= 11.2.0.3 |
該当なし |
>= 11.2.0.3 |
次に示す事柄は表4-3に適用されます。
Oracle ASM 11gリリース2バージョン11.2.0.3をLinuxで初回使用時に暗号化を設定する場合、Linux上でOracle ASM 11gリリース2バージョン11.2.0.3へのソフトウェアのアップグレードに伴って、暗号化パラメータを変更、または新しいボリュームの暗号化キーを作成する必要がある場合、ディスク・グループ互換性の属性ASM
およびADVM
は、11.2.0.3
に設定する必要があります。
表4-3に示す以外のOracle ASM機能については、ディスク・グループの互換性属性設定を拡張する必要はありません。
COMPATIBLE.ASM
の値は常に、COMPATIBLE.RDBMS
およびCOMPATIBLE.ADVM
の値以上である必要があります。
該当なしとは、属性の設定がその機能に影響を及ぼさないことを意味します。
リバランス処理とASM_POWER_LIMIT
初期化パラメータの詳細は、「ASM_POWER_LIMIT」を参照してください。
ディスク・グループの互換性属性の値を拡張する操作は、元に戻すことができません。ディスク・グループの互換性設定を拡張すると、値を以前の設定に戻すことができません。以前の値に戻すには、古い互換性属性設定で新しいディスク・グループを作成し、そのディスク・グループに含まれていたデータベース・ファイルを新しいディスク・グループにリストアする必要があります。
新しいディスク・グループを古い互換性属性設定に戻すと、Oracle ASMの最新機能は使用できなくなります。たとえば、ディスク・グループの互換性を11.2より前の値に戻した場合、Oracle ACFS機能は使用できません。
たとえば、ディスク・グループを以前の互換性設定に戻すには、次の手順を実行します。
Oracle ASM SPFILEがディスク・グループにある場合は、そのディスク・グループから移動します。
SQL*Plusを使用してOracle ASMインスタンスに接続します。
ファイルシステムにPFILEを作成します。
次に例を示します。
SQL> CREATE PFILE '$ORACLE_HOME/dbs/asmspfile.ora' FROM SPFILE
OCRおよび投票ファイルがディスク・グループにある場合は、そのディスク・グループから移動します。
関連項目: OCRおよび投票ファイルの管理の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。 |
保存が必要なファイルをすべてバックアップします。
データベース・ファイルをバックアップします。
Oracle ACFSファイルシステムがディスク・グループのOracle ADVMボリュームにマウントされる場合、ファイルシステムのオペレーティング・システム・ファイルをバックアップするか、ファイルシステムのマウント・ポイント以外の場所にコピーする必要があります。
SQL CREATE
DISKGROUP
を使用してディスク・グループ属性の設定に以前の値を指定し、新しいディスク・グループを作成します。
ディスク・グループの作成の詳細は、「CREATE DISKGROUP SQL文の使用」を参照してください。
Recovery Manager(RMAN)を使用して、データベース・ファイルを新規作成したディスク・グループにリストアします。
ディスク・グループ間のデータファイルの移動の詳細は、「RMANを使用したOracle ASMディスク・グループ間でのデータファイルの移動」を参照してください。
ディスク・グループの互換性設定が拡張されたディスク・グループとその内容を削除するには、SQL DROP
DISKGROUP
INCLUDING
CONTENTS
を使用してそのディスク・グループを削除します。
このSQL文により、Oracle ACFSファイルシステムとその内容も削除されます。
ディスク・グループの削除の詳細は、「ディスク・グループの削除」を参照してください。
ディスク・グループの互換性を拡張すると、大きすぎてOracleデータベースの以前のリリースでは管理できないファイルを作成できます。レプリケート・サイトではこれらの大きなファイルを管理するには引き続き以前のリリースのソフトウェアを使用できないため、ファイル・サイズの制限に注意する必要があります。ディスク・グループの互換性設定は、すべてのレプリケート環境に対して同じにする必要があります。
表4-4に、ディスク・グループのAU_SIZE
属性が1MBに設定されている場合に、COMPATIBLE.RDBMS
設定でサポートされるOracle ASMの最大ファイル・サイズを示します。
表4-4 AU_SIZEが1MBのディスク・グループに対するOracle ASMの最大ファイル・サイズ
冗長性 | COMPATIBLE.RDBMS = 10.1 | COMPATIBLE.RDBMS >= 11.1 |
---|---|---|
外部 |
16TB |
140PB |
標準 |
5.8TB |
23PB |
高 |
3.9TB |
15PB |
表4-4は、Oracle Database 10gでは、外部冗長性の場合ファイル・サイズは最大で16TBまでしかサポートできないことを示しています。COMPATIBILE.RDBMS
属性を11.1
以上に拡張すると、ファイルを16TBより大きくすることができます。ただし、サイズが大きくなり、障害時リカバリ・サイトのCOMPATIBLE.RDBMS
ディスク・グループ設定がそのサイズと互換性がない場合は、レプリケートされた障害時リカバリ・サイトでファイルを使用できなくなります。
Oracle ASMストレージ・サイズの詳細は、「Oracle ASMストレージの制限」を参照してください。
関連項目:
|
Oracle ASMファイル・アクセス制御を使用すると、Oracle ASMディスク・グループの内容を未認可のOracle ASMクライアント(未認可のデータベースなど)による偶発的なアクセスから必要に応じて保護することができます。
Oracle ASMファイル・アクセス制御を設定するには、「Oracle ASMユーザーへの個別のオペレーティング・システム・グループの使用」で説明しているように、個別のオペレーティング・システム・グループを指定する必要があります。Oracle ASMファイル・アクセス制御は、LinuxおよびUNIXコンピュータでのみ使用可能です。
Oracle ASMファイル・アクセス制御は、ASMCMDコマンド、Oracle Enterprise ManagerおよびSQL文で管理できます。
この項の内容は次のとおりです。
ASMCMDコマンドを使用したOracle ASMファイル・アクセス制御管理の詳細は、「ASMCMDファイル・アクセス制御コマンド」を参照してください。
Oracle Enterprise Managerを使用したOracle ASMファイル・アクセス制御管理の詳細は、「Oracle Enterprise ManagerによるOracle ASMファイル・アクセス制御の管理」を参照してください。
Oracle ASMファイル・アクセス制御の情報を示すビューの詳細は、「Oracle ASMファイル・アクセス制御情報の表示」を参照してください。
Oracle ASMインスタンスへのアクセスの制御の詳細は、「Oracle ASMインスタンスにアクセスするための認証」を参照してください。
Oracle ASMファイル・アクセス制御は、ファイルへのアクセスをSYSDBAとして接続する特定のOracle ASMクライアントに制限します。通常、Oracle ASMクライアントはデータベースで、データベース・インスタンス・ホームを所有するユーザーとして識別されます。Oracle ASMファイル・アクセス制御では、データベースの識別にこのユーザー名を使用します。Oracle ASMファイル・アクセス制御は、データベース所有者のオペレーティング・システム有効ユーザー識別番号に基づいてアクセスを制御します。たとえば、表3-2「Oracle ASMユーザーに対する個別のオペレーティング・システム・グループおよび権限」のデータベースは、oracle1
およびoracle2
として識別されます。
Oracle ASMではファイル・アクセス制御を使用して、そのOracle ASMインスタンスでSYSDBAとして認証されているデータベースに追加の権限が付与されているかどうかを判断します。これらの追加権限には、特定のファイル、エイリアス、ユーザー・グループを修正および削除する機能が含まれます。
ユーザー・グループを設定して、Oracle ASMファイルに対する同じアクセス権限を共有するデータベースのリストを指定できます。ユーザー・グループは、データベースのリストで、SYSDBAとして認証されるデータベースはユーザー・グループを作成できます。ただし、グループの作成者のみが、グループを削除したり、そのメンバーシップ・リストを変更したりできます。
各Oracle ASMファイルには、所有者、グループおよびその他の3つの権限カテゴリがあります。各カテゴリは、権限なしか、読取り専用権限または読取り/書込み権限を持ちます。
ファイル所有者は通常そのファイルの作成者で、所有者、グループ、その他のカテゴリのいずれかのファイルに対する権限を割り当てることができます。所有者は、そのファイルに関連付けられたグループも変更できます。
Oracle ASMファイル・アクセス制御を管理する場合、ディスク・グループ内のファイルの所有者(または予定されている所有者)であるデータベース・インスタンスにSYSDBAとして接続することをお薦めします。
ディスク・グループ内のファイルについてOracle ASMファイル・アクセス制御を設定するには、次の手順を実行します。
新しいまたは既存のディスク・グループを変更して、Oracle ASMファイル・アクセス制御のディスク・グループ属性を設定します。
新規作成したディスク・グループの場合は、ディスク・グループにファイルを作成する前にディスク・グループ属性を設定する必要があります。
「Oracle ASMファイル・アクセス制御へのディスク・グループ属性の設定」を参照してください。
ディスク・グループに存在するファイルには、Oracle ASMファイル・アクセス制御のディスク・グループ属性を設定する前に、その既存のファイルに対する権限および所有権を明示的に設定する必要があります。
ファイルに対する所有権または権限を設定する前に、ユーザーが存在することを確認します。所有権または権限を設定する前に、ファイルを閉じる必要があります。
「Oracle ASMファイル・アクセス制御を管理するためのSQL文の使用」のALTER
DISKGROUP
SET
PERMISSION
およびALTER
DISKGROUP
SET
OWNERSHIP
を参照してください。
必要に応じて、Oracle ASMファイルに対する同じアクセス権限を共有するデータベース・ユーザーのグループであるユーザー・グループを作成できます。
「Oracle ASMファイル・アクセス制御を管理するためのSQL文の使用」のALTER
DISKGROUP
ADD
USERGROUP
を参照してください。
Oracle ASMファイル・アクセス制御を管理するには、ACCESS_CONTROL.ENABLED
およびACCESS_CONTROL.UMASK
ディスク・グループ属性を設定する必要があります。ALTER
DISKGROUP
SQL文でディスク・グループを変更して属性を設定するか、またはASMCMD setattr
コマンドを使用して属性を設定できます。ASMCMD setattr
コマンドの詳細は、「setattr」を参照してください。
ファイル・アクセス制御を既存のディスク・グループに対して設定した場合、作成済のファイルはすべてのユーザーからアクセス可能なままになります。これを避けるには、ALTER
DISKGROUP
SET
PERMISSION
SQL文を実行するか、ASMCMD chmod
コマンドを実行して権限を制限します。ASMCMD chmod
コマンドの詳細は、「chmod」を参照してください。
Oracle ASMファイル・アクセス制御を有効にするには、COMPATIBLE.ASM
およびCOMPATIBLE.RDBMS
ディスク・グループ属性を11.2以上に設定する必要があります。ディスク・グループの互換性属性の詳細は、「ディスク・グループの互換性」を参照してください。
Oracle ASMファイル・アクセス制御を制御するディスク・グループ属性は次のとおりです。
この属性により、Oracle ASMファイル・アクセス制御がディスク・グループに対して有効かどうかが決まります。
値はtrue
またはfalse
です。デフォルトはfalse
です。
属性がtrue
に設定されている場合、Oracle ASMファイルへのアクセスはアクセス制御の対象となります。false
の場合、どのユーザーもそのディスク・グループのすべてのファイルにアクセスできます。他のすべての操作は、この属性とは関係なく動作します。
この属性により、Oracle ASMファイルの作成時に、ファイルの所有者であるユーザー、同じユーザー・グループのユーザー、およびユーザー・グループに属さない他のユーザーに対して、どの権限をマスクするかが決まります。この属性はディスク・グループのすべてのファイルに適用されます。
値は3桁の数字{0
|2
|6
} {0
|2
|6
} {0
|2
|6
}の組合せです。デフォルトは066
です。
0
に設定すると、何もマスクされません。2
に設定すると、書込み権限がマスクされます。6
に設定すると、読取り権限と書込み権限の両方がマスクされます。
ACCESS_CONTROL.UMASK
ディスク・グループ属性を設定する前に、ACCESS_CONTROL.ENABLED
属性をtrue
に設定してOracle ASMファイル・アクセス制御を有効にしておく必要があります。
例4-11に、SQL*Plusを使用してディスク・グループに対するOracle ASMファイル・アクセス制御を有効にする方法を示します。この例の権限設定は026
です。これにより、所有者には読取り/書込み権限、グループのユーザーには読取り権限が有効になり、グループに属さない他のユーザーにはアクセスが許可されません。
ALTER
DISKGROUP
SQL文を使用して、Oracle ASMディスク・グループのファイル・アクセス制御を管理できます。これらのSQL文は、データベース・インスタンスとOracle ASMインスタンスの両方で使用可能です。
ディスク・グループ・アクセス制御をサポートするSQL文は、次のとおりです。
ALTER
DISKGROUP
ADD
USERGROUP
... WITH
MEMBER
Oracle ASMユーザー・グループをディスク・グループに追加します。ユーザー・グループ名は、最大30文字に制限されています。MEMBER
句に指定されるデータベースは、V$ASM_USER
に表示されるように、そのディスク・グループに属している必要があり、さもなければエラーが戻されます。SYSASM
またはSYSDBA
として認証されたユーザーならば誰でも、新しいユーザー・グループを作成できます。次に例を示します。
SQL> SELECT group_number, os_name FROM V$ASM_USER; GROUP_NUMBER OS_NAME ------------ ---------------------------------------------------------------- 1 oracle1 1 oracle2 ... SQL> ALTER DISKGROUP data ADD USERGROUP 'test_grp1' WITH MEMBER 'oracle1','oracle2';
ALTER
DISKGROUP
DROP
USERGROUP
Oracle ASMユーザー・グループをディスク・グループから削除します。グループを削除すると、有効なグループのないファイルがいくつか残る可能性があります。これらのファイルに有効なグループを持たせるには、ファイルに関連付けられたグループを有効なグループに手動で更新する必要があります。
SQL> ALTER DISKGROUP data DROP USERGROUP 'test_grp1';
ALTER
DISKGROUP
MODIFY
USERGROUP
ADD
MEMBER
指定したユーザー・グループにユーザーを追加します。ユーザーは、V$ASM_USER
に表示されるように、そのディスク・グループに属している必要があり、さもなければエラーが戻されます。グループの作成者またはOracle ASM管理者のみが、グループ・メンバーシップを変更できます。
SQL> ALTER DISKGROUP data MODIFY USERGROUP 'test_grp2' ADD MEMBER 'oracle2';
ALTER
DISKGROUP
MODIFY
USERGROUP
DROP
MEMBER
指定したユーザー・グループからユーザーを削除します。メンバーがそのユーザー・グループに属していなければ、エラーが戻されます。グループの作成者またはOracle ASM管理者のみが、グループ・メンバーシップを変更できます。
SQL> ALTER DISKGROUP data MODIFY USERGROUP 'test_grp2' DROP MEMBER 'oracle2';
ALTER
DISKGROUP
ADD
USER
オペレーティング・システム(OS)ユーザーをOracle ASMディスク・グループに追加し、これらのユーザーがディスク・グループに対するアクセス権限を持つことができるようにします。ユーザーは既存のオペレーティング・システム・ユーザーで、そのユーザー名には対応するオペレーティング・システム・ユーザーIDまたはシステムIDが含まれている必要があります。ユーザーが、V$ASM_USER
に表示されるように、ディスク・グループに存在する場合、コマンドはエラーを記録し、他のユーザーがいればその追加を続行します。
動作中のデータベース・インスタンスのオペレーティング・システム・ユーザーは、データベース・インスタンスがディスク・グループにアクセスしてファイルを作成すると、自動的にそのディスク・グループに追加されます。しかし、データベース・インスタンスがファイルを作成せずにディスク・グループ内のファイルを読み取るには、ADD
USER
句を使用してそのデータベース・ユーザーをディスク・グループに追加する必要があります。また、この句を使用すると、Oracle ASMファイル・アクセス制御のディスク・グループ属性の設定の直後かつファイルの新規作成の前に、データベース・ユーザーを既存のディスク・グループに追加できます。
SQL> ALTER DISKGROUP DATA ADD USER 'oracle1';
ALTER
DISKGROUP
DROP
USER
オペレーティング・システム・ユーザーをOracle ASMディスク・グループから削除します。ユーザーがディスク・グループに存在しない場合、このコマンドはエラーを記録し、他にユーザーが存在すれば、削除を続行します。
ユーザーが同じOracle ASMディスク・グループでファイルを所有している場合、CASCADE
キーワードが指定されていないと、このコマンドはエラーにより失敗します。この場合、ユーザーは、所有するすべてのファイルとともに削除されます。
ユーザーが所有するファイルが現在開いている場合、DROP
USER
コマンドは失敗し、ファイルは削除されません。
SQL> ALTER DISKGROUP DATA DROP USER 'oracle1';
ALTER
DISKGROUP
SET
PERMISSION
Oracle ASMファイルの権限を変更します。read
write
権限を持つファイルにread
only
権限を設定すると、write
権限が取り消されます。ファイル所有者またはOracle ASM管理者のみが、ファイルの権限を変更できます。オープン・ファイルの権限は変更できません。
SQL> ALTER DISKGROUP data SET PERMISSION OWNER=read write, GROUP=read only, OTHER=none FOR FILE '+data/controlfile.f';
ALTER
DISKGROUP
SET
OWNERSHIP
ファイルの所有者またはグループを、指定したユーザー名またはユーザー・グループ名にそれぞれ変更します。指定したユーザー名またはユーザー・グループ名が存在しない場合、このコマンドはエラーにより失敗します。ファイルの所有者またはOracle ASM管理者のみがこのコマンドを実行でき、Oracle ASM管理者のみが所有者を変更できます。また、ユーザー・グループ名は存在する必要があり、ファイルの所有者はそのグループのメンバーであることが必要です。オープン・ファイルの所有権は変更できません。
SQL> ALTER DISKGROUP data SET OWNERSHIP OWNER='oracle1', GROUP='test_grp1' FOR FILE '+data/controlfile.f';
関連項目: 『Oracle Database SQL言語リファレンス』のALTER DISKGROUP SQL文 |
ASM_DISKGROUPS
初期化パラメータで指定したディスク・グループは、Oracle ASMインスタンスの起動時に自動的にマウントされます。これにより、Oracle ASMと同じノードで動作しているすべてのデータベース・インスタンスがこれらのディスク・グループを使用できるようになります。ディスク・グループは、Oracle ASMインスタンスの停止時にディスマウントされます。また、Oracle ASMでは、ディスク・グループは最初に作成するときにも自動的にマウントされ、削除するときにディスマウントされます。
ディスク・グループのマウント時に、ディスク・グループ番号が選択されます。この番号は、ディスク・グループのマウントごとに変わります。ディスク・グループ番号は永続的な構造で記録されませんが、現在の値はV$ASMビューのGROUP_NUMBER
列に表示できます。
ディスク・グループを手動でマウントまたはディスマウントする場合は、ALTER DISKGROUP...MOUNT
またはALTER DISKGROUP...DISMOUNT
文を使用します。ディスク・グループは名前別にマウントまたはディスマウントすることも、ALL
を指定することもできます。
オープン・ファイルを含むディスク・グループをディスマウントしようとすると、FORCE
句も指定しないかぎり、この文は失敗します。
RESTRICTED
モードのOracle ASMクラスタ環境では、ディスク・グループは単一インスタンスの排他モードでマウントされます。このクラスタ内の他のOracle ASMインスタンスはこのディスク・グループをマウントできません。このモードの場合、Oracle ASMクライアントはこのディスク・グループを使用できません。このモードは、高速リバランスを実行する場合に使用します。
次のSQL文では、Oracle ASMインスタンスに現在マウントされているすべてのディスク・グループをディスマウントします。
ALTER DISKGROUP ALL DISMOUNT;
次のSQL文では、ディスク・グループdata1
をマウントします。
ALTER DISKGROUP data1 MOUNT;
Oracle ASMには、一部のOracle ASMディスクがマウント時にディスク・グループで使用できない場合でも、標準冗長性モードまたは高冗長性モードでOracle ASMディスク・グループをマウントできるMOUNT
FORCE
オプションが、ALTER
DISKGROUP
にあります。FORCE
オプションを使用しない場合、破損または欠落しているディスクが含まれるディスク・グループのマウントはデフォルトで失敗します。
MOUNT
FORCE
オプションは、ディスクが一時的に使用できず、機能停止の原因となった状況の修正中に、冗長性を低下させてディスク・グループをマウントする場合に役立ちます。
MOUNT
FORCE
オプションを使用して正常にマウントするには、Oracle ASMがディスク・グループの全ファイルのエクステントのコピーを1つ以上検出できる必要があります。この場合、ディスク・グループのマウントは成功しますが、冗長性が損われる可能性があります。
Oracle ASMがアクセスできないディスクは、オフライン・モードになります。次に、これらのディスクがオフライン・モードになる時間の計測を開始します。ディスクのオフラインの期間が、DISK_REPAIR_TIME
ディスク・グループ属性で設定したタイマーのしきい値を超えると、これらのディスクはディスク・グループから完全に削除されます。ディスクがオフライン状態になった後にオフラインのタイマーを変更するには、ALTER
DISKGROUP
OFFLINE
文を使用します。DISK_REPAIR_TIME
ディスク・グループ属性の設定の詳細は、「Oracle ASMの高速ミラー再同期」を参照してください。
注意: Oracle ASMインスタンスは、指定の互換性に応じて異なる方法で不完全なディスク・グループをマウントします。「ディスク・グループの互換性属性設定により使用可能になる機能」を参照してください。 |
Oracle ASMクラスタ環境では、Oracle ASMインスタンスがディスク・グループをマウントする最初のインスタンスでない場合、MOUNT
FORCE
文の使用は失敗します。これは、ディスクが別のインスタンスからアクセスされたとしても、ローカルではアクセスできないためです。
すべてのディスクを使用できる場合、FORCE
オプションを使用するとMOUNT
コマンドは失敗します。このため、この機能は不必要かつ不適切に使用しないようにします。
次の例では、FORCE
オプションを使用してdata1
ディスク・グループのマウントを強制する方法を示します。
ALTER DISKGROUP data1 MOUNT FORCE
関連項目: ALTER DISKGROUP 文およびFORCE オプションの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 |
CHECK
キーワードを指定してALTER
DISKGROUP
文を使用し、ディスク・グループ・メタデータの内部整合性をチェックできます。この文を使用すると、ディスク・グループ内の特定のファイル、ディスク・グループ内の特定のディスクまたはすべてのディスク、あるいはディスク・グループ内の特定の障害グループをチェックできます。これらのチェックを実行するには、ディスク・グループをマウントする必要があります。
デフォルトでは、CHECK
DISK
GROUP
句ですべてのメタデータ・ディレクトリを検証します。Oracle ASMにサマリー・エラーが表示され、エラーの詳細がアラート・ログに書き込まれます。CHECK
キーワードは、次の操作を実行します。
ディスクの整合性を検証します。
整合性に関してファイルのエクステント・マップと割当て表をすべてクロス・チェックします。
エイリアス・メタデータ・ディレクトリとファイル・ディレクトリが正しくリンクされているかどうかをチェックします。
エイリアス・ディレクトリ・ツリーが正しくリンクされているかどうかを検証します。
Oracle ASMメタデータ・ディレクトリに、到達できない割当てブロックがないかどうかをチェックします。
REPAIR
|
NOREPAIR
句は、チェック中に検出されるエラーをOracle ASMが修復を試みる必要があるかどうかを指定します。デフォルトはNOREPAIR
です。NOREPAIR
句を使用して非一貫性に関するアラートを受信し、Oracle ASMがエラーを自動的に解決しないようにします。次の例の文では、data1
ディスク・グループ内のすべてのディスクについてメタデータの整合性をチェックします。
ALTER DISKGROUP data1 CHECK ALL;
関連項目: CHECK 句の構文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 |
DROP
DISKGROUP
文を使用すると、Oracle ASMディスク・グループおよび必要に応じてそのすべてのファイルを削除できます。ディスク・グループに含まれるファイルもすべて削除する必要がある場合は、INCLUDING
CONTENTS
句を指定できます。デフォルトはEXCLUDING
CONTENTS
です。この場合、構文上の整合性が保たれ、内容のあるディスク・グループの削除を回避できます。
DROP DISKGROUP
文が成功するには、Oracle ASMインスタンスが起動しており、ディスク・グループ・ファイルが開かれていない状態でディスク・グループがマウントされている必要があります。この文は、ディスク・グループが削除されるまでは戻されません。
ディスク・グループを削除すると、ディスク・グループはディスマウントされ、サーバー・パラメータ・ファイルを使用している場合はASM_DISKGROUPS
初期化パラメータからディスク・グループ名が削除されます。テキスト初期化パラメータ・ファイルを使用しており、ASM_DISKGROUPS
初期化パラメータにこのディスク・グループが記載されている場合、次回Oracle ASMインスタンスを停止して再起動する前に、このディスク・グループ名をASM_DISKGROUPS
初期化パラメータから削除する必要があります。
次の文では、data1
を削除します。
DROP DISKGROUP data1;
data1
に含まれるファイルのいずれも開かれていないことが確認された後、ディスク・グループの各ディスクのヘッダーがリライトされ、Oracle ASMのフォーマット情報が削除されます。この文にはINCLUDING CONTENTS
が指定されていないため、ディスク・グループにファイルが含まれていると、削除操作が失敗します。
Oracle自動ストレージ管理クラスタ・ファイルシステム(Oracle ACFS)がディスク・グループ内にあるボリュームにマウントされている場合は、そのファイルシステムをディスマウントする必要があります。ファイルシステムが登録されている場合は、登録解除する必要があります。INCLUDING
CONTENTS
句を使用して、このディスク・グループを削除する必要があります。ファイルシステム内のすべてのデータが破棄されます。ディスク・グループに関連付けられたボリュームおよびマウント・パスを表示するには、V$ASM_VOLUME
ビューに問い合せます。V$ASM_ATTRIBUTE
ビューに対する問合せの例は、例6-16を参照してください。Oracle ACFSファイルシステムの登録解除およびディスマウントの詳細は、「ボリュームおよびOracle ACFSファイルシステムの登録解除、ディスマウント、無効化」を参照してください。
ディスク・グループをマウントできないのに削除する必要がある場合は、DROP
DISKGROUP
文のFORCE
オプションを使用できます。このコマンドを使用すると、次の例に示すように、Oracle ASMインスタンスによってマウントできないディスク・グループに属するディスクのヘッダーを削除できます。
DROP DISKGROUP data1 FORCE
この操作を実行するディスク・グループは、クラスタ内でマウントされていない必要があります。FORCE
オプションを使用する場合、Oracle ASMインスタンスにより、ディスク・グループが同じストレージ・サブシステム内の別のOracle ASMインスタンスで使用されているかどうかは検証されません。
注意: FORCE オプションを使用する際は十分に注意してください。 |
また、Oracle Enterprise Managerを使用してディスク・グループを削除できます。「ディスク・グループの削除」を参照してください。
renamedg
ツールを使用すると、クローン化されたディスク・グループの名前を変更できます。ディスク・グループ上でrenamedg
を実行する前に、クラスタ内のすべてのノードでディスク・グループをディスマウントする必要があります。
renamedg
では、次の2段階のプロセスを使用して、ディスク・グループの名前を変更します。
フェーズ1
このフェーズでは、フェーズ2で使用される構成ファイルを生成します。
フェーズ2
このフェーズでは、構成ファイルを使用して、ディスク・グループの名前を変更します。
構文は次のとおりです。
renamedg
{-help
| help=true
}renamedg
[phase
={ one
|two
|both
} ] dgname=
diskgroup
newdgname=
newdiskgroup
[config=
configfile
]
[ asm_diskstring=
discoverystring
,
discoverystring
... ]
[ clean=
{true
|false
} ] [ check=
{true
|false
} ]
[ confirm=
{true
|false
}] [ verbose=
{ true
|false
} ]
[ keep_voting_files=
{true
|false
}]phase=
{one
|two
|both
}
実行されるフェーズを指定します。指定可能な値はone
、two
またはboth
です。この引数はオプションです。デフォルトはboth
です。
通常、両方のフェーズを実行します。第2フェーズ中に問題が発生した場合は、生成された構成ファイルを使用してフェーズtwo
を再実行します。
dgname=
diskgroup
名前を変更するディスク・グループの名前を指定します。
newdgname=
newdiskgroup
ディスク・グループの新しい名前を指定します。
config=
configfile
フェーズ1で生成される構成ファイルへのパスを指定するか、フェーズ2で使用される構成ファイルへのパスを指定します。
この引数はオプションです。デフォルトの構成ファイルの名前はrenamedg_config
で、コマンドが実行されるディレクトリにあります。プラットフォームによっては、一重引用符が必要になります。
asm_diskstring=
discoverystring
,
discoverystring
...
Oracle ASM検出文字列を指定します。Oracle ASMディスクがプラットフォームのデフォルトの場所にない場合は、asm_diskstring
値を指定する必要があります。通常ワイルドカード文字を指定する場合に、プラットフォームによっては一重引用符が必要になります。
clean=
{true
|false
}
許容しなければ無視されるエラーを許容するかどうかを指定します。デフォルトはtrue
です。
check=
{true
|false
}
フェーズ2で使用されるブール値を指定します。true
の場合、ディスクに加えられる変更のリストが出力されます。書込みは発行されません。オプション・パラメータで、デフォルトはfalse
です。
confirm=
{true
|false
}
フェーズ2で使用されるブール値を指定します。false
の場合、加えられる変更が出力され、実際に変更が加えられる前に確認を求めます。オプションの値で、デフォルトはfalse
です。checkがtrue
に設定されている場合、このパラメータの値は不要です。
verbose=
{true
|false
}
verbose=true
の場合、verboseの実行を指定します。デフォルトはfalse
です。
keep_voting_files=
{true
|false
}
名前を変更したディスク・グループで投票ファイルを保持するかどうかを指定します。デフォルトはfalse
で、名前を変更したディスク・グループから投票ファイルを削除します。
例4-12は、renamedg
のいくつかの使用例を示しています。最初の例では、ディスクを検索するためにディスク文字列を使用し、verbose
オプションを有効にして、data
ディスク・グループの名前をnew_data
に変更します。2番目の例では、renamedg
操作のフェーズone
の実行中に構成ファイルのみを作成します。3番目の例では、renamedg
のフェーズone
の実行で生成された構成ファイルを使用して、renamedg
操作のフェーズtwo
を実行します。
例4-12 renamedgの使用方法
$ renamedg dgname=data newdgname=new_data asm_diskstring='/devices/disk*' verbose=true $ renamedg phase=one dgname=data newdgname=new_data asm_diskstring='/devices/disk*' config=/tmp/data2.conf verbose=true $ renamedg phase=two dgname=data newdgname=new_data config=/tmp/data2.conf verbose=true