日本語PDF

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

この項では、ディスク・グループの作成について説明します。

CREATE DISKGROUP SQL文を使用してディスク・グループを作成できます。

この項では、次の項目について説明します。

関連項目:

ディスク・グループの作成について

ディスク・グループの作成時には、様々な項目を指定する必要があります。

ディスク・グループを作成する場合、次の操作を実行します。

  • ディスク・グループに一意の名前を割り当てます。

    指定したディスク・グループ名では大文字と小文字は区別されず、内部的に保存される場合は常に大文字に変換されます。

    ノート:

    #文字および$文字を含め、引用符で囲む必要がある識別子をOracle ASMディスク・グループ名に使用しないでください。Oracle Databaseオブジェクトに対する、引用符で囲んだ識別子の使用は、一部のツールでは名前として有効でも、そのオブジェクトを管理する他のツールを使用する場合には有効ではないことがあります。Oracle Databaseオブジェクトの名前付けの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

  • ディスク・グループの冗長性レベルを決定します。

    Oracle ASMでファイルをミラー化するには、NORMAL REDUNDANCY (デフォルトでほとんどのファイル・タイプについて双方向ミラー化)、HIGH REDUNDANCY (すべてのファイルについて3方向ミラー化)、FLEX REDUNDANCYまたはEXTENDED REDUNDANCYなどの冗長性レベルを指定します。

    Oracle ASMによるミラー化が不要の場合は、EXTERNAL REDUNDANCYを指定します。たとえば、ストレージ・アレイ保護機能を使用するには、EXTERNAL REDUNDANCYを選択します。

    NORMALまたはHIGHの冗長性でディスク・グループを作成した後、ALTER DISKGROUP SQL文のCONVERT REDUNDANCY TO FLEX句を使用して、ディスク・グループをFLEX冗長性ディスク・グループに移行できます。EXTERNALディスク・グループはFLEX冗長性のディスク・グループに移行できません。フレックス・ディスク・グループを移行する際、ディスク・グループには少なくとも3つの障害グループが必要で、移行中は制限モード(MOUNTED RESTRICTED)でマウントする必要があります。

    NORMALHIGHまたはEXTERNALディスク・グループの冗長性レベルをNORMALHIGHまたはEXTERNALに変更するには、適切な冗長性を持つ別のディスク・グループを作成してから、そのファイルを新しいディスク・グループに移動する必要があります。

    FLEXおよびEXTENDED冗長性のディスク・グループの場合、ディスク・グループの冗長性は変更できません。しかし、ディスク・グループ内のファイルの冗長性は、それぞれのファイル・グループのREDUNDANCYプロパティを修正することで変更できまます。

  • ディスク・グループに属する、Oracle ASMディスクとしてフォーマットするディスクを特定します。

    ディスクは、検索文字列でオペレーティング・システム依存のワイルドカード文字を使用して指定できます。Oracle ASMでは、この文字列を使用してディスクが検索されます。NAME句でディスクの名前を指定するか、システム生成の名前を使用できます。

  • 必要に応じて、特定の障害グループに属しているディスクを示します。

    領域の均衡を保ち、ミラー化されたデータが均等に分散されるように、同じサイズの障害グループを作成する必要があります。

  • 必要に応じて、クォーラム(QUORUM)や標準(デフォルト)など、障害グループのタイプを決定します。

  • 必要に応じて、ソフトウェアの互換性や割当て単位サイズなどのディスク・グループ属性値を指定します。

ディスク・グループ内のすべてのディスクを同じサイズにする必要があります。Oracle ASMでは、各ディスクのサイズはプログラムで決定されます。なんらかの理由によってサイズを決定できない場合や、ディスク上で使用される領域量を制限する場合は、ディスクに対してSIZE句を指定できますが、ディスク・グループ内のディスクすべてに対して同じサイズ値を指定する必要があります。

Oracle ASMではディスク・グループ内のディスク用としてオペレーティング・システムとは無関係の名前が作成されるため、他のSQL文でこの名前を使用してディスクを参照できます。必要であれば、NAME句を使用してディスク独自の名前を指定できます。ディスク名は、V$ASM_DISKビューで参照できます。

ASMCMD stampコマンドを使用して、Oracle ASMのディスクを使用するディスク・グループの作成前に、それらのディスクをプロビジョニングできます。ディスクをプロビジョニングすると、ディスク名、障害グループおよびサイト情報は、ディスクのプロビジョニング時に指定しているため、ディスク・グループの作成時に指定する必要がありません。

ノート:

ディスクは複数のディスク・グループに属することはできません。

Oracle ASMインスタンスでは、新しく作成されたディスク・グループのディスクがアドレス指定可能であり、現在は別のディスク・グループのメンバーではないことが確認されます。FORCEで削除されたディスクを追加する場合のみFORCEを使用する必要があります。ディスクがNOFORCEで削除される場合、NOFORCEでディスクを追加できます。たとえば、ディスクに障害が発生し、そのディスクがディスク・グループから削除されたとします。このディスクを修復すると、ディスク・グループの一部ではなくなりますが、Oracle ASMでは引き続きそのディスクがディスク・グループのメンバーであると認識します。このディスクを新しいディスク・グループに含めるには、FORCEフラグを使用する必要があります。さらに、ディスクをアドレス指定可能にする必要があります。このようにしないと、操作が失敗します。

ノート:

FORCEオプションを使用して、以前に使用したディスクをディスク・グループに追加する場合は注意してください。別のディスク・グループが使用できなくなることがあります。

CREATE DISKGROUP文により、ディスク・グループは初めてマウントされ、サーバー・パラメータ・ファイルが使用されている場合はディスク・グループ名がASM_DISKGROUPS初期化パラメータに追加されます。テキスト初期化パラメータ・ファイルが使用されており、インスタンスの起動時にディスク・グループを自動的にマウントする場合、Oracle ASMインスタンスを停止して再起動する前に、このディスク・グループ名をASM_DISKGROUPS初期化パラメータに忘れずに追加する必要があります。Oracle ASMコンフィギュレーション・アシスタント(ASMCA)とASMCMD mkdgコマンドを使用して、ディスク・グループを作成することもできます。

関連項目:

CREATE DISKGROUP SQL文を使用したディスク・グループの作成

CREATE DISKGROUP SQL文を使用して、データおよび高速リカバリ領域のためのディスク・グループを作成できます。

例4-1のSQL文は、標準冗長性でdataという名前のディスク・グループを作成します。これは2つの障害グループcontroller1またはcontroller2で構成され、各障害グループには4つのディスクがあります。通常、dataディスク・グループはデータベースのデータファイルを格納するために使用します。

例では、ASM_DISKSTRING初期化パラメータが文字列'/devices/*'に設定されていることを前提としています。Oracle ASMディスク検出によって、/devicesディレクトリでdiska1からdiska4、およびdiskb1からdiskb4が識別されます。

例4-1では、NAME句によって、システム生成のデフォルト名以外の名前を明示的にディスクに割り当てることができます。システム生成の名前の形式はdiskgroup_nnnnです。nnnnは、ディスク・グループ内のディスクのディスク番号です。

例4-1でのディスク・グループの作成時に、次のディスク・グループ属性の値が明示的に設定されています。

  • AU_SIZE

    ディスク・グループの割当て単位サイズを指定します。

    AU_SIZEディスク・グループ属性の値は、V$ASM_DISKGROUPビューのALLOCATION_UNIT_SIZE列に表示できます。

  • COMPATIBLE.ASM

    ディスク・グループを使用するOracle ASMインスタンスの最小ソフトウェア・バージョンを決定します。

  • COMPATIBLE.RDBMS

    ディスク・グループを使用するデータベース・インスタンスの最小ソフトウェア・バージョンを決定します。

  • COMPATIBLE.ADVM

    ディスク・グループにOracle ADVMボリュームを含めることができるかどうかを決定します。

例4-2では、fraディスク・グループ(通常は高速リカバリ領域用に作成)をディスク・グループ属性のデフォルト値で作成します。Oracle ASMディスクの名前は指定していません。また、障害グループは明示的に指定していません。この例では、diskc1からdiskc9/devicesディレクトリに存在することを前提としています。

例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' = '19.0', 
    'compatible.rdbms' = '19.0',
    'compatible.advm' = '19.0';

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

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

関連項目:

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

この項では、Oracle Grid Infrastructureスタンドアロン(Oracle Restart)オプションとOracle Databaseの新規インストール用に、ディスク・グループを作成する基本手順について説明します。

Oracle Grid Infrastructureスタンドアロン(Oracle Restart)の新規インストールに関してこの項で説明する手順では、データベース・データファイルを格納するディスク・グループが構成されており、高速リカバリ領域ファイルを格納するディスク・グループが構成されていると仮定しています。

ノート:

クラスタ構成のOracle Grid Infrastructureでは、Oracle Cluster Registry (OCR)と投票ファイルをそれぞれのディスク・グループに格納する必要があります。ただし、Oracle ASMインストールに2つのディスク・グループしか作成しない場合、OCRと投票ファイルは、データベース・データファイルを含むディスク・グループに格納してください。

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

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

    OUIのこのディスク・グループ作成プロセスは、Oracle ASMコンフィギュレーション・アシスタント(ASMCA)を使用したディスク・グループの作成と似ています。Oracle Universal Installer(OUI)によるインストールおよびDatabase Configuration Assistant(DBCA)によるデータベース作成の詳細は、使用しているオペレーティング・システム固有のインストレーション・ガイドを参照してください。

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

    SQL*PlusまたはASMCMDコマンドをOracle Grid Infrastructureホームから実行して、fraディスク・グループを作成することもできます。

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

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

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

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

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

関連項目:

論理セクター・サイズと物理セクター・サイズの指定

オプションのLOGICAL_SECTOR_SIZEディスク・グループ属性とSECTOR_SIZEディスク・グループ属性をCREATE DISKGROUP SQL文とALTER DISKGROUP SQL文とともに使用すると、ディスク・グループの論理セクター・サイズおよび物理セクター・サイズを指定できます。

ノート:

論理セクター・サイズと物理セクター・サイズを指定するには、ディスクがセクター・サイズのエミュレーションをサポートしている必要があります。

SECTOR_SIZEディスク・グループ属性は、5124096または4Kに設定できます(ディスクでこれらの値がサポートされている場合)。デフォルト値はプラットフォームによって異なります。ディスク・グループの作成時にセクター・サイズの値の設定を有効にするには、COMPATIBLE.ASMディスク・グループ属性とCOMPATIBLE.RDBMSディスク・グループ属性を11.2以上に設定する必要があります。セクター・サイズを変更するには、COMPATIBLE.ASMディスク・グループ属性を12.2以上に設定する必要があります。

LOGICAL_SECTOR_SIZEディスク・グループ属性により、ディスク・グループに属するディスクから見積もられるサイズではなく、ディスク・グループの論理セクター・サイズを明示的に設定できます。LOGICAL_SECTOR_SIZEディスク・グループ属性は、5124096または4Kに設定できます。この値は、ディスク・グループで受け入れられる最小許容I/Oを指定し、ディスク・グループに属することができるディスク・タイプを制限することもできます。ディスク・グループの作成時に論理セクター・サイズを設定したり、作成したディスク・グループのサイズを変更するには、COMPATIBLE.ASMディスク・グループ属性を12.2以上に設定する必要があります。

表4-1に、ディスク・グループの作成時にディスクのサイズおよびタイプに対して使用できる論理セクター・サイズおよびセクター・サイズのディスク・グループ属性の有効な組合せを示します。1列目は、ディスク・グループの作成時に論理セクター・サイズ属性とセクター・サイズ属性に対してユーザーが指定した値を示します。NSは、値が指定されなかったことを示します。

表の1行目は、使用されるディスクの組合せを示します。512ネイティブ・セクター・サイズのディスクでは、セクター・サイズと論理セクター・サイズが等しく、512です。512ネイティブおよび512エミュレートの見出しは、512ネイティブ・ディスクと512エミュレート・ディスクの組合せを示します。512エミュレート・ディスクでは、物理セクター・サイズが4K、論理セクター・サイズが512です。表の各セルの値は、ディスク・グループのセクター・サイズの最終値を表します。Errorは、ディスク・グループの作成が失敗し、エラー・メッセージが表示されることを示します。

表4-1 ディスクのサイズおよびタイプ別のセクター・サイズと論理セクター・サイズの使用可能な組合せ

ディスク・グループの作成時に指定されたSECTOR_SIZE/LOGICAL_SECTOR_SIZE 512ネイティブ・ディスク 512エミュレート・ディスク 4Kネイティブ・ディスク 512ネイティブ・ディスク + 512エミュレート・ディスク 512エミュレート・ディスク + 4Kネイティブ・ディスク
4K / 4K Error 4K / 4K 4K / 4K Error 4K / 4K
NS / 4K Error 4K / 4K 4K / 4K Error 4K / 4K
4K / 512 Error 4K / 512 Error Error Error
512 / 512 512 / 512 512 / 512 Error 512 / 512 Error
512 / NS 512 / 512 512 / 512 Error 512 / 512 Error
4K / NS Error 4K / 512 4K / 4K Error 4K / 4K
NS / 512 512 / 512 512 / 512 Error 512 / 512 Error
NS / NS 512 / 512 512 / 512 4K / 4K 512 / 512 4K / 4K

V$ASMビューに問い合せるか、ASMCMDコマンドを実行することで、成功したディスク・グループ作成について想定された、または明示的に設定された論理セクター・サイズ値とセクター・サイズ値を確認できます。LOGICAL_SECTOR_SIZE列とSECTOR_SIZE列をV$ASM_DISKGROUPビューとV$ASM_ATTRIBUTEビューに挿入して、値を表示します。これらの列は、ディスク・グループの論理セクター・サイズおよびセクター・サイズの値(バイト)を表します。ASMCMD lsdgも、ディスク・グループの論理セクター・サイズおよびセクター・サイズの値を表示します。さらに、V$ASM_ATTRIBUTEビューおよびASMCMD lsattrコマンドを使用してディスク・グループ属性を表示します。次に例を示します。

SQL> SELECT name, value FROM V$ASM_ATTRIBUTE 
     WHERE (name = 'sector_size' OR name = 'logical_sector_size') AND group_number = 1;
NAME                          VALUE
----------------------------- ---------------------------
sector_size                   4096
logical_sector_size           512

SQL> SELECT logical_sector_size, sector_size FROM V$ASM_DISKGROUP 
     WHERE group_number = 1;
LOGICAL_SECTOR_SIZE SECTOR_SIZE
------------------- -----------
                512        4096

例4-3に示すように、LOGICAL_SECTOR_SIZEディスク・グループ属性とSECTOR_SIZEディスク・グループ属性をCREATE DISKGROUP SQL文とALTER DISKGROUP SQL文とともに使用すると、Oracle ASMディスク・グループの論理セクター・サイズおよび物理セクター・サイズを指定できます。

次のノートは、論理セクター・サイズおよびセクター・サイズのディスク・グループ属性に適用されます。

  • 512バイトから4096バイトへの移行プロセスで、Oracle ASMディスク・グループに格納されているパスワード・ファイルを移行または再作成する必要はありません。パスワード・ファイルは特殊なケースであり、新しいセクター・サイズが4096バイトになった後でも512バイトのブロック・サイズのままです。

  • LOGICAL_SECTOR_SIZE列の値が512の場合、SECTOR_SIZE列の値が4096であっても、ディスク・グループでは512セクター・サイズのエミュレーションがサポートされます。つまり、I/O操作のサイズは、512または4096のいずれにもできることを意味します。たとえば、ファイルのブロック・サイズが4096バイトの新しいREDOログ・ファイルを作成するのと同様に、このディスク・グループ内に、ファイルのブロック・サイズが512バイトで読取りと書込みの両方ができるREDOログ・ファイルを保持できます。

  • Oracle ASMディスク・グループの物理セクター・サイズ(SECTOR_SIZE)は、論理セクター・サイズ(LOGICAL_SECTOR_SIZE)より小さくできません。

  • すべてのディスクが、設定可能なすべてのSECTOR_SIZE値をサポートしているわけではありません。セクター・サイズ属性の設定は、物理ハードウェアに対応している必要があります。

例4-3 ディスク・グループ内のディスクに対する論理セクター・サイズおよびセクター・サイズの指定

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'
  QUORUM FAILGROUP quorum_failgrp DISK '/devices/diskc1'
  ATTRIBUTE 'compatible.asm' = '12.2', 'compatible.rdbms' = '12.2',
            'sector_size'='4096', 'logical_sector_size'='512';

ALTER DISKGROUP data2  
  SET ATTRIBUTE 'compatible.asm' = '12.2', 'compatible.rdbms' = '12.2';

ALTER DISKGROUP data2
  SET ATTRIBUTE 'sector_size'='4096', 'logical_sector_size'='4096';

関連項目:

Oracle ASMディスク・グループへのOracle Cluster Registryおよび投票ファイルの格納

Oracle Cluster Registry(OCR)および投票ファイルは、Oracle ASMディスク・グループに格納できます。

OCRファイルのバックアップをディスク・グループに格納することもできます。投票ファイルおよびOCRは、Oracle Clusterwareの2つの重要なコンポーネントです。投票ファイルはノード・メンバーシップに関する情報を管理します。OCRは、クラスタおよびOracle Real Application Clusters (Oracle RAC)データベース構成情報を管理します。

クォーラム障害グループは特殊なタイプの障害グループで、ユーザー・データが含まれていません。クォーラム障害グループは、Oracle ASMメタデータの格納に使用されます。クォーラム障害グループが含まれるディスク・グループに投票ファイルが格納されている場合、クォーラム障害グループにはこれらのファイルを含めることもできます。また、Oracle ASMでは、1つ以上の障害グループが失われたときにディスク・グループをマウントすることが可能かどうか決定するためにクォーラム障害グループが使用されます。

クォーラム障害グループ内のディスクにはユーザー・データが含まれないため、ユーザー・データを格納するための冗長性要件を決定するときには、このグループは考慮されません。

OCRおよび投票ファイルは、CRSCTLおよびocrconfigコマンドライン・ツール、CREATEおよびALTER DISKGROUP SQL文およびV$ASMビューで管理および監視できます。

CRSCTLおよびocrconfigコマンドを使用すると、OCRストレージおよびクラスタ同期化サービス(CSS)の投票ファイルをOracle ASMで管理されるディスク・グループ内に格納できます。

ディスク・グループを作成または変更する際、CREATEおよびALTER DISKGROUP SQL文の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以上に設定する必要があります。

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ディスクにある空き領域は考慮されません。クライアント・データファイルには空き領域を使用できないためです。

例4-4 障害グループの作成時にQUORUMを使用

CREATE DISKGROUP mgmt_dg NORMAL REDUNDANCY
   FAILGROUP fg1 DISK '/devices/diskg1'
   FAILGROUP fg2 DISK '/devices/diskg2'
   QUORUM FAILGROUP fg3 DISK '/devices/diskg3'
   ATTRIBUTE 'compatible.asm' = '12.2.0.0.0';

関連項目: