ヘッダーをスキップ
Oracle® Automatic Storage Management管理者ガイド
11gリリース2 (11.2)
B61035-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

4 Oracle ASMディスク・グループの管理

この章では、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インスタンスではなくディスク・グループに関連付けられるパラメータです。

ディスク・グループ属性は、次に記載がないかぎり、ディスク・グループの作成または変更時に設定できます。

この項で示したディスク・グループ属性に加えて、テンプレート属性もディスク・グループに割り当てられます。テンプレート属性の詳細は、「ディスク・グループ・テンプレートの管理」を参照してください。

ディスク・グループ属性は、V$ASM_ATTRIBUTEビューおよびASMCMD lsattrコマンドを使用して表示できます。V$ASM_ATTRIBUTEビューの使用例は、例6-1を参照してください。lsattrコマンドの詳細は、「lsattr」を参照してください。

ディスク・グループの作成

この項では、ディスク・グループの作成について説明します。CREATE DISKGROUP SQL文を使用してディスク・グループを作成できます。

この項の内容は次のとおりです。

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

コントローラ2:
/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ディレクトリに存在することを前提としています。

例4-2 FRAディスク・グループの作成

CREATE DISKGROUP fra NORMAL REDUNDANCY
  DISK '/devices/diskc*';

関連項目:

ディスク・グループ作成時のASMLibの使用の詳細は、Oracle Technology Network Webサイトhttp://www.oracle.com/technetwork/topics/linux/asmlib/index-101839.htmlのOracle ASMLibページを参照してください。

新規Oracleインストール用のディスク・グループの作成

この項では、Oracle RestartおよびOracle Databaseを新規にインストールする際に、ディスク・グループの作成時に実行する基本手順を説明します。ここでの説明は、Oracle Grid Infrastructureのインストールにも適用されます。

この手順では、dataディスク・グループはデータベースのデータファイルの格納に、fraディスク・グループは高速リカバリ領域ファイルの格納に使用することを前提としています。Oracle Universal Installer(OUI)によるインストールおよびDatabase Configuration Assistant(DBCA)によるデータベース作成の詳細は、使用しているオペレーティング・システム固有のインストレーション・ガイドを参照してください。

  1. OUIを使用してOracle Restartをインストールし、画面の指示に従います。

    インストール中に、データファイルや制御ファイルなどのデータベース・ファイルを格納するためのdataディスク・グループを作成します。

    このOUIのプロセスは、Oracle ASMコンフィギュレーション・アシスタント(ASMCA)を使用したディスク・グループの作成と似ています。ASMCAを使用したディスク・グループの作成の詳細は、「Oracle ASMコンフィギュレーション・アシスタントによるディスク・グループの管理」を参照してください。

    dataディスク・グループは、Oracle Grid InfrastructureのインストールでOracle Cluster Registry(OCR)および投票ファイルの格納に使用されるディスク・グループです。「Oracle ASMディスク・グループに格納されるOracle Cluster Registryおよび投票ファイル」を参照してください。

  2. Oracle Restartのインストール後、ASMCAを使用して高速リカバリ領域ファイルを格納するためのfraディスク・グループを作成します。

    fraディスク・グループを作成して、高速リカバリ領域ファイルを格納します。

    このとき、必要に応じてdataディスク・グループを更新することもできます。ASMCAを使用したディスク・グループの作成および変更の詳細は、「Oracle ASMコンフィギュレーション・アシスタントによるディスク・グループの管理」を参照してください。

    SQL*PlusまたはASMCMDコマンドをOracle Restartホームから実行して、fraディスク・グループを作成することもできます。詳細は、「CREATE DISKGROUP SQL文の使用」および「mkdg」を参照してください。


    関連項目:

    • 高速リカバリ領域の構成の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

    • 高速リカバリ領域の指定の詳細は、『Oracle Database管理者ガイド』を参照してください。


  3. OUIを使用してOracle Databaseソフトウェアをインストールし、画面の指示に従います。

  4. データベース・ソフトウェアのインストール後、データベースを作成するためにDBCAを実行して画面の指示に従います。

    データベースを作成する際、データファイルおよび高速リカバリ領域ファイルの格納にOracle ASMを使用するために適した選択を行います。画面に指示が表示されたら、次のようにします。

    • データベースのデータファイルをdataディスク・グループに格納します。

    • 高速リカバリ領域ファイルをfraディスク・グループに格納します。


関連項目:

  • Oracle Grid InfrastructureおよびOracle Restartのインストールの詳細は、使用しているオペレーティング・システムの『Oracle Grid Infrastructureインストレーション・ガイド』を参照してください。

  • Oracle Databaseのインストールの詳細は、使用しているオペレーティング・システムの『Oracle Databaseインストレーション・ガイド』を参照してください。


割当て単位サイズの指定

ディスク・グループの割当て単位(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 DISKGROUPALTER 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';

関連項目:

  • ディスク・グループの属性およびCREATE DISKGROUP SQL文の詳細は、『Oracle Database SQL言語リファレンス』 を参照してください。

  • BLOCKSIZEキーワードの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

  • V$ASM_ATTRIBUTEビューとV$ASM_DISKGROUPビューの詳細は、『Oracle Databaseリファレンス』を参照してください。


Oracle ASMディスク・グループに格納されるOracle Cluster Registryおよび投票ファイル

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_DISKV$ASM_DISK_STATの両方のビューのFAILGROUP_TYPE列では、障害グループのタイプを指定します。この列の値は、標準の障害グループの場合はREGULAR、クォーラム障害グループの場合はQUORUMです。

    V$ASM_DISKV$ASM_DISK_STATの両方のビューのVOTING_FILE列では、ディスクに投票ファイルが含まれているかどうかを指定します。この列の値は、ディスクに投票ファイルが含まれている場合はY、含まれていない場合はNです。

    V$ASM_DISKGROUPV$ASM_DISKGROUP_STATでのUSABLE_FILE_MBの値では、QUORUMディスクにある空き領域は考慮されません。クライアント・データファイルには空き領域を使用できないためです。

    「Oracle ASMディスク・グループ情報を表示するビュー」を参照してください。

キーワードのQUORUMREGULARが、ディスク・グループの作成または変更時に、障害グループまたはディスクを指定するための追加の修飾子となります。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';

関連項目:

  • 投票ファイルおよびOracle Cluster Registry(OCR)の構成の詳細は、『Oracle Grid Infrastructureインストレーション・ガイド』を参照してください。

  • CRSCTLおよびocrconfigコマンドを使用した投票ファイルおよびOracle Cluster Registry(OCR)管理の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

  • CREATE DISKGROUPおよびALTER DISKGROUP SQL文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

  • V$ASM*動的パフォーマンス・ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。


ディスク・グループの変更

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を使用してディスク・グループにディスクを追加することもできます。

SQL文を使用したディスク・グループへのディスクの追加

この例で示す文では、ディスク検出と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文で可能な複数のアクションの実行も示しています。

例4-6 ディスク・グループからのディスクの削除

ALTER DISKGROUP data1 DROP DISK diska5;

ALTER DISKGROUP data1 DROP DISK diska5
     ADD FAILGROUP failgrp1 DISK '/devices/diska9' NAME diska9;

インテリジェント・データ配置

インテリジェント・データ配置により、最高のパフォーマンスを実現するために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 DISKGROUPRESIZE句を使用して、次の操作を実行できます。

  • ディスク・グループ内のすべてのディスクのサイズ変更

  • 指定したディスクのサイズ変更

  • 指定した障害グループ内のすべてのディスクのサイズ変更

SIZE句で新しいサイズを指定しない場合、オペレーティング・システムから戻されるディスクのサイズが使用されます。新しいサイズはOracle ASMディスク・ヘッダーに書き込まれ、ディスクのサイズが大きくなっている場合、新しい領域の割当てが即時に可能になります。サイズが小さくなっている場合、リバランスにより、新しいサイズ制限を超えるファイル・エクステントが制限未満の使用可能領域に再配置される必要があります。リバランス操作によってすべてのエクステントを正常に再配置できる場合、新しいサイズが確定されます。正常に再配置できない場合、リバランスは失敗します。

次の例では、ディスク・グループdata1の障害グループfailgrp1内のすべてのディスクのサイズを変更します。新しいサイズがディスク容量を超えている場合、この文は失敗します。

例4-7 ディスク・グループ内のディスクのサイズ変更

ALTER DISKGROUP data1 
     RESIZE DISKS IN FAILGROUP failgrp1 SIZE 100G;

ディスク・グループ内のディスクの削除解除

ALTER DISKGROUP文のUNDROP DISKS句を使用すると、ディスク・グループ内のディスクに対して保留中の削除操作をすべて取り消すことができます。ディスクの削除操作が完了している場合、この文はディスクのリストアに使用できません。この文は、DROP DISKGROUP文の結果として削除されるディスク、またはFORCE句を使用して削除されるディスクのリストアには使用できません。

次の例では、ディスク・グループdata1からのディスクの削除を取り消します。

例4-8 ディスク・グループ内のディスクの削除解除

ALTER DISKGROUP data1 UNDROP DISKS;

ディスク・グループの手動リバランス

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を手動でリバランスします。このコマンドは、リバランス操作が完了するまでは戻されません。

例4-9 ディスク・グループの手動リバランス

ALTER DISKGROUP data2 REBALANCE POWER 5 WAIT;

リバランス操作の詳細は、「リバランス操作の調整」を参照してください。

リバランス操作の調整

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ディスク検出

ディスク検出は、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のみが検出されます。

  • ディスク・パーティションのみを検出します。パーティション表を含むパーティションは検出しません。

  • インストールの観点から、候補ディスクはヘッダー・ステータスがCANDIDATEPROVISIONEDまたはFORMERです。ステータスがCANDIDATEPROVISIONEDまたは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つ以上のディスクに障害が発生した後、すべてのディスク・グループ・データの冗長性を完全にリストアするための領域が十分であるかどうかを確認する上で役に立ちます。

V$ASM_DISKGROUPビューには、容量の管理に役立つ情報が含まれる次の列があります。

次の問合せの結果は、各ディスクが独自の障害グループに属している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

負の値のUSABLE_FILE_MB

FREE_MBREQUIRED_MIRROR_FREE_MBUSABLE_FILE_MBの関係により、USABLE_FILE_MBが負の値になることがあります。これは必ずしも重大な状況ではありませんが、次のような意味があります。

  • FREE_MBの値によっては、新しいファイルを作成できない場合があります。

  • 次に障害が発生したとき、ファイルの冗長性が損われる場合があります。

USABLE_FILE_MBが負の値になった場合、できるかぎり早くディスク・グループに領域を追加することをお薦めします。

Oracle ASMのミラー化およびディスク・グループ冗長性

この項の内容は次のとおりです。

ミラー化、冗長性および障害グループ・オプション

ファイルに対してミラー化を指定すると、ファイル・エクステントの冗長コピーが自動的に個別の障害グループに格納されます。障害グループは、標準冗長性および高冗長性のディスク・グループにのみ適用されます。ディスク・グループを作成または変更する場合、ディスク・グループごとに障害グループを定義できます。

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の障害グループ

障害グループは、データのミラー・コピーを格納するために使用されます。Oracle ASMが標準冗長性のファイルにエクステントを割り当てる場合、プライマリ・コピーとセカンダリ・コピーが割り当てられます。プライマリ・コピー以外に、別の障害グループに含まれるようにセカンダリ・コピーを格納するディスクが選択されます。各コピーは別の障害グループのディスク上にあるため、障害グループのすべてのディスクで同時に障害が発生してもデータは失われません。

障害グループはディスク・グループのディスクのサブセットです。これらのディスクはハードウェアを共有するため、同時に障害が発生する可能性があります。共通のハードウェアの障害は許容される必要があります。大きなJBOD(単純ディスク束)アレイの単一リムーバブル・トレイにある4つのドライブは、この4つのドライブで同時に障害が発生したときにトレイを削除できるため、同じ障害グループ内にある必要があります。キャビネットに冗長電源と冗長クーリングが装備され、キャビネット全体の障害から保護する必要がない場合、同じキャビネット内のドライブを複数の障害グループに置くことができます。ただし、Oracle ASMのミラー化は、キャビネット全体を破損させるコンピュータ・ルームの火災に対する保護を目的としていません。

障害グループは、明示的に作成されない場合でも常に存在します。ディスクの障害グループを指定しない場合、そのディスクのみを含む新しい障害グループが自動的に作成されます。ただし、Oracle Exadataセル上のディスクを含むディスク・グループを除きます。

標準冗長性のディスク・グループには、少なくとも2つの障害グループが含まれる必要があります。高冗長性のディスク・グループには、少なくとも3つの障害グループが必要です。しかし、数個の障害グループを使用することをお薦めします。障害グループの数が少ない場合や、障害グループの容量が均一でない場合、割当てに問題が発生し、使用可能なストレージを完全に利用できないことがあります。

障害グループは、標準障害グループまたはクォーラム障害グループとして指定できます。クォーラム障害グループの詳細は、「Oracle ASMディスク・グループに格納されるOracle Cluster Registryおよび投票ファイル」を参照してください。


関連項目:

Oracle Exadata障害グループの詳細は、Oracle Exadataのドキュメントを参照してください。

Oracle ASMによるディスク障害の管理方法

ディスク・グループの冗長性レベルおよび障害グループの定義方法に応じて、1つ以上のディスクの障害が原因で次のいずれかの結果が生じる場合があります。

  • ディスクは最初にオフラインになった後、自動的に削除されます。この場合、ディスク・グループはマウントされて使用可能なままです。また、ミラー化のため、ディスク・グループのすべてのデータは依然としてアクセス可能です。ディスクの削除操作の後、リバランスが実行され、障害が発生したディスク上のデータの冗長性が完全にリストアされます。

  • ディスク・グループ全体が自動的にディスマウントされます。つまり、データはアクセス不可能になります。

障害グループの使用に関するガイドライン

障害グループの使用に関するガイドラインは、次のとおりです。

  • ディスク・グループ内の各ディスクは、1つの障害グループにのみ属することができます。

  • 障害グループはすべて同じサイズである必要があります。障害グループのサイズが異なると、可用性が損われることがあります。

  • Oracle ASMでは、標準冗長性のディスク・グループを作成する場合は2つ以上の障害グループが、高冗長性のディスク・グループの場合は3つ以上の障害グループが必要です。

障害グループに関するFAQ

この項では、障害グループに関してよくある質問について説明します。内容は次のとおりです。

作成する必要のある障害グループの数は

作成する障害グループ数の選択は、データを失わずに許容する必要のある障害のタイプによって決まります。通常、ディスクの数が少ない場合(20未満など)、デフォルトの障害グループ作成の使用が最適です。この場合、ディスクはすべて独自の障害グループに入れられます。

ディスク数が少ない場合を対象としたデフォルトの障害グループ作成の使用は、ディスク数が多くても、問題が主にディスク障害である場合に適しています。たとえば、ディスク・グループが複数の小規模なモジュール型ディスク・アレイで構成されている場合があります。1つのモジュール型アレイ全体に障害が発生してもシステムを稼働し続ける必要がある場合、障害グループは1つのモジュール内のすべてのディスクで構成される必要があります。1つのモジュールに障害が発生した場合、このモジュール上のすべてのデータが他のモジュールに再配置され、冗長性がリストアされます。データの可用性を損わずに障害を許容する必要のある共有ハードウェアに複数のディスクが依存している場合、これらのディスクは同じ障害グループに入れる必要があります。

同時障害発生後に複数の障害グループをリカバリする方法は

同時障害は、複数の障害グループで使用される1つのハードウェアに障害がある場合に発生する可能性があります。このような障害では通常、すべてのディスクが使用できない場合、ディスク・グループを強制的にディスマウントします。

外部、標準または高冗長性を使用する必要のある状況は

Oracle ASMのミラー化はデータベース・サーバーで実行されるため、外部冗長性を使用してこの処理の負荷をストレージ・ハードウェアのRAIDコントローラに分散することをお薦めします。標準冗長性は、次のような状況で使用できます。

  • ストレージ・システムにRAIDコントローラがない

  • ストレージ・アレイ間でミラー化を行う

  • クラスタ構成が拡張されている

通常、Oracle ASMのミラー化は、サード・パーティの論理ボリューム・マネージャに対するOracleの代替手段です。Oracle ASMのミラー化により、Oracleデータベース環境にソフトウェアのレイヤーを追加デプロイして複雑にしなくてもすみます。

読取りおよび書込みI/OエラーからのOracle ASMのリカバリ

読取りエラーは、ディスク全体にアクセスできなくなるか、正常なディスクでのメディア破損の結果、発生する可能性があります。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ディスクのエクステントを簡単に再同期できます。


注意:

この機能を使用するには、ディスク・グループの互換性属性を11.1以上に設定する必要があります。詳細は、「ディスク・グループの互換性」を参照してください。

障害グループが一時的に使用できなくなる問題は、Oracle ASMの高速ミラー再同期機能によってリカバリすることが可能な、一時的障害とみなされます。一時的障害は、たとえば、ディスク・パスの不具合(ケーブル障害、ホスト・バス・アダプタ障害、コントローラ障害など)や、ディスク電源の停電などによって発生します。

Oracle ASMの高速再同期では、停止時にOFFLINEのディスクのエクステントに対して保留になっている変更が追跡されます。これらのエクステントは、ディスクがオンラインに戻ったときに再同期されます。

デフォルトでは、ディスクはオフラインになってから3.6時間で削除されます。この削除操作は、DISK_REPAIR_TIMEディスク・グループ属性を設定することによって遅らせることもできます。つまり、ディスクを修復してオンラインに戻すまでの時間間隔をこの属性に指定できます。この時間は、分単位(mM)または時間単位(hH)で指定できます。単位を省略すると、デフォルトでは時間単位になります。DISK_REPAIR_TIMEディスク・グループ属性は、ALTER DISKGROUP SQL文でのみ設定できます。

この属性が明示的に設定されていない場合、明示的なDROP AFTER句なしでOFFLINEモードに設定されたディスクには、デフォルト値(3.6h)が適用されます。I/OエラーによってオフラインになったディスクにはDROP AFTER句がありません。

DISK_REPAIR_TIME属性のデフォルト値は、多くの環境に適合すると思われる予測値です。ただしこの属性値は、実際の環境で一時的なディスク・エラーを修正するために必要と考えられ、データの冗長性の低下を許容できる時間に設定してください。

経過時間(ディスクがOFFLINEモードになってからの時間)は、オフラインになったディスクが属しているディスク・グループがマウントされている場合にのみ増分されます。V$ASM_DISKREPAIR_TIMER列には、オフラインのディスクが削除されるまでの残り時間(秒単位)が表示されます。指定した時間を経過すると、ディスクは削除されます。この属性は、ALTER DISKGROUP OFFLINE DISK文およびDROP AFTER句を使用してオーバーライドできます。


注意:

ディスクがI/O(書込み)エラーのためにOracle ASMによってオフラインにされた場合、またはDROP AFTER句のないALTER DISKGROUP... OFFLINE文によって明示的にオフラインにされた場合は、ディスク・グループのDISK_REPAIR_TIME属性に指定された値が使用されます。

DISK_REPAIR_TIME属性の変更はオフライン・ディスクには影響しません。属性が更新された後にオフラインになるディスクには、この新しい値が使用されます。T この動作は、Oracle ASMのアラート・ログを参照することによって確認できます。


オフラインのディスクが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では、今後の増加に対応するほぼ無制限の容量が提供されますが、いくつかのストレージの制限があります。たとえば、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.RDBMS10.1に設定されている場合、ファイル・サイズの制限はより小さくなります。たとえば、COMPATIBLE.RDBMS10.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.ASMCOMPATIBLE.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インスタンスおよびデータベース・インスタンスのディスク・グループの互換性設定を指定します。ここでは、これらの属性について説明します。内容は次のとおりです。

COMPATIBLE.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.1COMPATIBLE.ASM属性のデフォルト設定になります。ASMCAを使用してディスク・グループを作成する場合、デフォルト設定は11.2です。

COMPATIBLE.RDBMS

COMPATIBLE.RDBMSディスク・グループ属性の値により、ディスク・グループを使用できるデータベース・インスタンスのCOMPATIBLEデータベース初期化パラメータの最小設定が決まります。COMPATIBLE.RDBMS属性を拡張する前に、ディスク・グループにアクセスするすべてのデータベースのCOMPATIBLE初期化パラメータの値がCOMPATIBLE.RDBMSの新しい設定値以上に設定されていることを確認してください。

たとえば、データベースのCOMPATIBLE初期化パラメータが11.1または11.2に設定されている場合、COMPATIBLE.RDBMS10.1から11.1の任意の値に設定できます。

Oracle Database 11gのOracle ASMでは、SQL CREATE DISKGROUP文、ASMCMD mkdgコマンド、ASMCAの「ディスク・グループの作成」、およびOracle Enterprise Managerの「ディスク・グループの作成」ページを使用する場合、10.1COMPATIBLE.RDBMS属性のデフォルト設定になります。


注意:

データベース初期化パラメータCOMPATIBLEを使用すると、新しいリリースのOracle Databaseを使用できる一方で、以前のリリースの下位互換性も同時に保証されます。COMPATIBLE初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。

COMPATIBLE.ADVM

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)(データベース初期化パラメータCOMPATIBLE11.2に設定)、Oracle ASMのリリースは11gリリース2(11.2)。ディスク・グループのCOMPATIBLE.ASMCOMPATIBLE.RDBMSのディスク・グループ属性はデフォルト値の10.1に設定されています。

    Oracle ASMディスク・グループ機能は10gのままです。

  • データベースのリリースは10g、Oracle ASMのリリースは11.2。ディスク・グループのCOMPATIBLE.ASM11.2に、COMPATIBLE.RDBMS10.1に設定されています。

    属性設定の組合せに対して使用可能なディスク・グループ機能について、表4-3に示します。

  • データベースのリリースは11.2(データベース初期化パラメータCOMPATIBLE11.2に設定)、Oracle ASMのリリースは11.2。ディスク・グループの互換性属性はすべて11.2に設定されています。

    属性設定の組合せに対して使用可能なディスク・グループ機能について、表4-3に示します。

互換性属性によるCREATE DISKGROUPの使用

ディスク・グループを作成する際に、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 DISKGROUPの使用

ディスク・グループを作成した後に、ALTER DISKGROUP SQL文を使用して、互換性属性を変更できます。ALTER DISKGROUP 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';

次の例では、ディスク・グループdata3COMPATIBLE.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」を参照してください。


関連項目:

  • ディスク・グループ属性の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

  • V$ASM_DISKGROUPおよびV$ASM_ATTRIBUTE動的パフォーマンス・ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。


ディスク・グループの互換性属性設定により使用可能になる機能

表4-3には、ディスク・グループの互換性属性設定の有効な組合せによって使用可能になる機能を示します。

表4-3 ディスク・グループの互換性属性設定により使用可能になる機能

使用可能なディスク・グループ機能 COMPATIBLE.ASM COMPATIBLE.RDBMS COMPATIBLE.ADVM

より大きなAUサイズ(32または64MB)のサポート

>= 11.1

>= 11.1

該当なし

V$ASM_ATTRIBUTEビューに表示される属性

>= 11.1

該当なし

該当なし

高速ミラー再同期

>= 11.1

>= 11.1

該当なし

可変サイズのエクステント

>= 11.1

>= 11.1

該当なし

Exadataストレージ

>= 11.1.0.7

>= 11.1.0.7

該当なし

インテリジェント・データ配置

>= 11.2

>= 11.2

該当なし

ディスク・グループに格納されるOCRおよび投票ファイル

>= 11.2

該当なし

該当なし

デフォルト値以外に設定されるセクター・サイズ

>= 11.2

>= 11.2

該当なし

ディスク・グループに格納されるOracle ASM SPFILE

>= 11.2

該当なし

該当なし

Oracle ASMファイル・アクセス制御

>= 11.2

>= 11.2

該当なし

ディスク・グループに格納されるボリューム

>= 11.2

該当なし

>= 11.2

最大値が1024ASM_POWER_LIMIT

>= 11.2.0.2

該当なし

該当なし

Linuxシステムでの暗号化、レプリケーション、セキュリティ、タグ付け

>= 11.2.0.2

該当なし

>= 11.2.0.2

Windowsシステムでの暗号化、レプリケーション、セキュリティ、タグ付け

>= 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機能は使用できません。

たとえば、ディスク・グループを以前の互換性設定に戻すには、次の手順を実行します。

  1. Oracle ASM SPFILEがディスク・グループにある場合は、そのディスク・グループから移動します。

    1. SQL*Plusを使用してOracle ASMインスタンスに接続します。

    2. ファイルシステムにPFILEを作成します。

      次に例を示します。

      SQL> CREATE PFILE '$ORACLE_HOME/dbs/asmspfile.ora' FROM SPFILE
      
  2. OCRおよび投票ファイルがディスク・グループにある場合は、そのディスク・グループから移動します。


    関連項目:

    OCRおよび投票ファイルの管理の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

  3. 保存が必要なファイルをすべてバックアップします。

    1. データベース・ファイルをバックアップします。

    2. Oracle ACFSファイルシステムがディスク・グループのOracle ADVMボリュームにマウントされる場合、ファイルシステムのオペレーティング・システム・ファイルをバックアップするか、ファイルシステムのマウント・ポイント以外の場所にコピーする必要があります。

  4. SQL CREATE DISKGROUPを使用してディスク・グループ属性の設定に以前の値を指定し、新しいディスク・グループを作成します。

    ディスク・グループの作成の詳細は、「CREATE DISKGROUP SQL文の使用」を参照してください。

  5. Recovery Manager(RMAN)を使用して、データベース・ファイルを新規作成したディスク・グループにリストアします。

    ディスク・グループ間のデータファイルの移動の詳細は、「RMANを使用したOracle ASMディスク・グループ間でのデータファイルの移動」を参照してください。

  6. ディスク・グループの互換性設定が拡張されたディスク・グループとその内容を削除するには、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 Databaseアップグレード・ガイド』を参照してください。

  • COMPATIBLE初期化パラメータと不可逆の互換性については、『Oracle Database管理者ガイド』を参照してください。

  • COMPATIBLE初期化パラメータについては、『Oracle Databaseリファレンス』を参照してください。


ディスク・グループの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ファイル・アクセス制御について

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ファイル・アクセス制御を設定するには、次の手順を実行します。

  1. 新しいまたは既存のディスク・グループを変更して、Oracle ASMファイル・アクセス制御のディスク・グループ属性を設定します。

    新規作成したディスク・グループの場合は、ディスク・グループにファイルを作成する前にディスク・グループ属性を設定する必要があります。

    Oracle ASMファイル・アクセス制御へのディスク・グループ属性の設定」を参照してください。

  2. ディスク・グループに存在するファイルには、Oracle ASMファイル・アクセス制御のディスク・グループ属性を設定する前に、その既存のファイルに対する権限および所有権を明示的に設定する必要があります。

    ファイルに対する所有権または権限を設定する前に、ユーザーが存在することを確認します。所有権または権限を設定する前に、ファイルを閉じる必要があります。

    「Oracle ASMファイル・アクセス制御を管理するためのSQL文の使用」ALTER DISKGROUP SET PERMISSIONおよびALTER DISKGROUP SET OWNERSHIPを参照してください。

  3. 必要に応じて、Oracle ASMファイルに対する同じアクセス権限を共有するデータベース・ユーザーのグループであるユーザー・グループを作成できます。

    「Oracle ASMファイル・アクセス制御を管理するためのSQL文の使用」ALTER DISKGROUP ADD USERGROUPを参照してください。

Oracle ASMファイル・アクセス制御のためのディスク・グループ属性の設定

Oracle ASMファイル・アクセス制御を管理するには、ACCESS_CONTROL.ENABLEDおよびACCESS_CONTROL.UMASKディスク・グループ属性を設定する必要があります。ALTER DISKGROUP SQL文でディスク・グループを変更して属性を設定するか、またはASMCMD setattrコマンドを使用して属性を設定できます。ASMCMD setattrコマンドの詳細は、「setattr」を参照してください。

ファイル・アクセス制御を既存のディスク・グループに対して設定した場合、作成済のファイルはすべてのユーザーからアクセス可能なままになります。これを避けるには、ALTER DISKGROUP SET PERMISSIONSQL文を実行するか、ASMCMD chmodコマンドを実行して権限を制限します。ASMCMD chmodコマンドの詳細は、「chmod」を参照してください。

Oracle ASMファイル・アクセス制御を有効にするには、COMPATIBLE.ASMおよびCOMPATIBLE.RDBMSディスク・グループ属性を11.2以上に設定する必要があります。ディスク・グループの互換性属性の詳細は、「ディスク・グループの互換性」を参照してください。

Oracle ASMファイル・アクセス制御を制御するディスク・グループ属性は次のとおりです。

  • ACCESS_CONTROL.ENABLED

    この属性により、Oracle ASMファイル・アクセス制御がディスク・グループに対して有効かどうかが決まります。

    値はtrueまたはfalseです。デフォルトはfalseです。

    属性がtrueに設定されている場合、Oracle ASMファイルへのアクセスはアクセス制御の対象となります。falseの場合、どのユーザーもそのディスク・グループのすべてのファイルにアクセスできます。他のすべての操作は、この属性とは関係なく動作します。

  • ACCESS_CONTROL.UMASK

    この属性により、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です。これにより、所有者には読取り/書込み権限、グループのユーザーには読取り権限が有効になり、グループに属さない他のユーザーにはアクセスが許可されません。

例4-11 Oracle ASMファイル・アクセス制御の設定

ALTER DISKGROUP data1 SET ATTRIBUTE 'access_control.enabled' = 'true';
ALTER DISKGROUP data1 SET ATTRIBUTE 'access_control.umask' = '026';

SQL文を使用したOracle ASMファイル・アクセス制御の管理

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;

FORCEオプションを使用したディスク・グループのマウント

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キーワードは、次の操作を実行します。

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. フェーズ1

    このフェーズでは、フェーズ2で使用される構成ファイルを生成します。

  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}]

注意:

renamedgリソースを更新せず、またrenamedgは、データベース内のファイル参照も更新しません。この動作のため、フェーズtwoの完了後に、ディスク・グループの元のリソースは自動的に削除されません。ディスク・グループの古いリソースは、Oracle Clusterware Control(CRSCTL)のcrsctl stat res -tコマンドを使用してステータスをチェックした後、サーバー制御ユーティリティ(SRVCTL)のsrvctl remove diskgroupコマンドを使用して手動で削除できます。

例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