3 Oracle Exadata Storage ServerでのOracle ASMディスク・グループの管理

Oracle Exadata Storage Serverのグリッド・ディスクを使用すると、Oracle Automatic Storage Management (Oracle ASM)のディスク・グループを管理できます

図3-1は、Oracle Exadata Storage Serverのグリッド・ディスクで構成されるOracle ASMディスク・グループを示しています。この図は一般的なもので構成を簡略化していますが、ストレージ・セルとディスクを追加して大規模なOracle Exadata Storage Serverのグリッドを構築する場合のモデルとして使用できます。

図3-1 Oracle Exadata Storage Serverのサンプル・グリッド

図3-1の説明が続きます
「図3-1 Oracle Exadata Storage Serverのサンプル・グリッド」の説明

このOracle Exadata Storage Serverグリッドの内容は次のとおりです。

  • グリッド内のストレージ・セルは、InfiniBandネットワークを使用して、単一インスタンスのデータベースまたはOracle Real Application Clusters (Oracle RAC)データベースのインストールを含むデータベース・サーバーに接続します。

  • 各ストレージ・セルは、物理ディスクで構成されます。

  • 各セル・ディスクは、物理ディスクおよびLUNを表します。

  • 各セル・ディスクは、グリッド・ディスクにパーティション化されます。

  • Oracle ASMディスク・グループは、グリッド・ディスクで構成されるように設定されます。

Oracle ASM障害グループは、1つのストレージ・セルで障害が発生してもフォルト・トレランスを実行できるように、同じストレージ・セルでファイルがミラー化されないように作成されます。障害グループの数はExadataセルの数に一致します。各障害グループは、1つのストレージ・セルに属するOracle ASMディスク・グループのグリッド・ディスクのサブセットで構成されます。

この章のトピックは、次のとおりです:

3.1 Oracle Exadata Storage Serverを使用したOracle ASMディスク・グループの管理

Oracle Exadata Storage Serverを使用するために必要となる基本的なOracle ASMタスクがあります。

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

関連項目:

3.1.1 Oracle Exadata Storage ServerOracle ASMディスク・グループの理解

このトピックでは、Oracle Automatic Storage Management (Oracle ASM)ディスク・グループについて説明し、CREATE DISKGROUP SQLコマンドを使用してOracle Exadata System SoftwareOracle ASMディスク・グループを作成する方法を紹介します。

Oracle ASMディスク・グループを作成する前に、Oracle ASMディスク・グループに追加するグリッド・ディスクを決定します。Oracle ASMディスク・グループおよびそのグリッド・ディスクの名前は、可能であれば同様の名前を選択することをお薦めします。

Oracle Exadata Storage Serverのグリッド・ディスクは、次のパターンで指定します。

o/cell_IPaddress/griddisk_name

この構文において、cell_IPaddressOracle Exadata Storage ServerのIPアドレスを示し、griddisk_nameはグリッド・ディスクの名前を示します。

セルの検出文字列はo/接頭辞で始まります。

グリッド・ディスクをディスク・グループに追加するように指定する場合は、次の点を考慮します。

  • デフォルトのOracle ASMディスク名はグリッド・ディスク名です。デフォルト名の設定を使用することをお薦めします。

  • デフォルトの障害グループ名はセル名です。デフォルト名の設定を使用することをお薦めします。

障害グループが指定されていない場合は、Oracle ASM独自の障害グループ内に各ディスクが追加されます。ただし、ディスクがOracle Exadata Storage Serverに格納されており、障害グループが指定されていない場合は、Oracle ASMによってそのセルの障害グループにディスクが追加されます。障害グループ名はセル名になります。

注意:

セルの名前が変更され、そのセルのディスクが属する既存のディスク・グループにセルのディスクが追加されると、Oracle ASMによって新しいディスクは障害グループに追加され、新しいセル名が使用されます。セルのすべてのディスクが1つの障害グループに含まれるようにするには、ディスクをディスク・グループに追加して、元の障害グループ名を指定します。

スマート・スキャンの条件のオフロード処理を有効にするには、ディスク・グループのすべてのディスクをOracle Exadata Storage Serverのグリッド・ディスクにする必要があります。Oracle Exadata Storage Serverのグリッド・ディスクには従来型のディスクを含めることはできません。

3.1.1.1 標準冗長性を使用する場合のOracle ASMコンテンツ・タイプの設定

ディスク・グループのcontent.type属性を設定すると、リカバリ時間目標(RTO)およびリカバリ・ポイント目標(RPOまたはデータ損失の許容範囲)が改善します。

Oracle Grid Infrastructureリリース11.2.0.3以上で標準冗長性を使用しており、compatible.asm値が11.2.0.3以上の場合は、DATA、RECOおよびDBFS_DGディスク・グループのcontent.type属性を設定します。

content.type属性の値は、次のように設定する必要があります。

  • DATAおよびSPARSEディスク・グループ — data

  • RECOディスク・グループ — recovery

  • DBFS_DGディスク・グループ — system

注意:

  • 特定のサービスをサポートするために作成されるディスク・グループなど、異なる目的に使用されるディスク・グループの可用性の特性を区別するには、content.type属性を使用しないでください。

  • スパース・グリッド・ディスクを使用する場合は、Oracle DatabaseおよびOracle Grid Infrastructureソフトウェアはリリース12.1.0.2.0 BP5以上である必要があります。

  1. ALTER DISKGROUPコマンドを使用して、既存のディスク・グループに対してcontent.type属性を設定してから、ディスク・グループをリバランスします。
    ALTER DISKGROUP reco SET ATTRIBUTE 'content.type'='recovery';
    ALTER DISKGROUP reco REBALANCE POWER preferred_power_setting ; 
    

    リバランス操作には時間がかかる場合がありますが、この操作によりディスク・グループのデータの冗長性が完全になります。Oracle ASMではリバランス操作を監視し、Oracle Exadata System Softwareでは操作の完了時に電子メール・メッセージを送信します。

  2. 次の問合せを使用してcontent.type属性をチェックします。
    SQL> SELECT dg.name,a.value FROM v$asm_diskgroup dg,        \
         v$asm_attribute a WHERE dg.group_number=a.group_number \
         AND a.name='content.type' AND (dg.name LIKE 'DATA%'    \
         OR dg.name LIKE 'RECO%' OR dg.name LIKE 'DBFS_DG%');
     
    NAME                 VALUE
    -------------------- --------------------
    DATA                 data
    RECO                 recovery
    DBFS_DG              system

例3-1 ディスク・グループの作成中のコンテンツ・タイプの追加

この例では、Oracle Databaseリリース11.2.0.2およびリリース11.2.0.3の両方のデータベースを統合環境でサポートするために、compatible.rdbms属性は11.2.0.2に設定されます。

CREATE DISKGROUP data NORMAL REDUNDANCY
DISK
'o/*/DATA*'
ATTRIBUTE 'content.type' = 'DATA',
'content.type' = 'DATA',
'AU_SIZE' = '4M',
'cell.smart_scan_capable'='TRUE',
'compatible.rdbms'='11.2.0.2',
'compatible.asm'='11.2.0.3';
3.1.1.2 Oracle ASMディスク・グループの作成

Oracle Exadata Storage Serverグリッド・ディスクでOracle ASMのディスク・グループを作成できます。

Oracle Exadata Storage Serverのグリッド・ディスクを使用するためにOracle ASMディスク・グループを作成するには、次の手順を実行します。

  1. Oracle ASMインスタンスに接続します。
  2. 次のようなコマンドを使用して、ORACLE_SID環境変数をOracle ASMインスタンスに設定します。
    $ setenv ORACLE_SID ASM_instance_SID
    
  3. Oracle ASMインスタンスでSQL*Plusを起動し、SYSASM管理権限を持つユーザーとしてログインします。
    $ sqlplus / AS SYSASM
    
  4. 次の構文を使用してOracle ASMインスタンスでV$ASM_DISKビュー問合せを実行し、使用可能なOracle Exadata Storage Serverのグリッド・ディスクを特定します。
    SQL> SELECT path, header_status STATUS FROM V$ASM_DISK WHERE path LIKE 'o/%';
    
  5. セルのディスクを格納するOracle ASMディスク・グループを作成します。

    この例では、インストール中に作成されたディスク・グループのcompatible.rdbmsを変更してOCRおよび投票ディスクを保持するために、ALTERコマンドが必要です。Oracle Databaseリリース11.2.0.2およびリリース11.2.0.3の両方のデータベースを統合環境でサポートするために、compatible.rdbms属性は11.2.0.2に設定されます。

    SQL> CREATE DISKGROUP data HIGH REDUNDANCY
    DISK 'o/*/DATA*'
    ATTRIBUTE 'AU_SIZE' = '4M',
              'content.type' = 'data',
              'cell.smart_scan_capable'='TRUE',
              'compatible.rdbms'='11.2.0.2',
              'compatible.asm'='11.2.0.3';
    
    SQL> CREATE DISKGROUP reco HIGH REDUNDANCY
    DISK 'o/*/RECO*'
    ATTRIBUTE 'AU_SIZE' = '4M',
              'content.type' = 'recovery',
              'cell.smart_scan_capable'='TRUE',
              'compatible.rdbms'='11.2.0.2',
              'compatible.asm'='11.2.0.3';
     
    SQL> ALTER DISKGROUP dbfs_dg SET ATTRIBUTE 
         'content.type' = 'system',
         'compatible.rdbms' = '11.2.0.2';
    

    スパース・ディスク・グループを作成する場合、次のようなコマンドを使用します。

    SQL> CREATE DISKGROUP sparsedg NORMAL REDUNDANCY
    DISK 'o.*/sparse_*'
    ATTRIBUTE 'AU_SIZE' = '4M',
              'content.type' = 'data',
              'cell.smart_scan_capable'='TRUE',
              'compatible.rdbms' = '12.1.0.2',
              'compatible.asm' = '12.1.0.2', 
              'cell.sparse_dg' = 'allsparse';
    

    前述のコマンドでは、cell.sparse_dg属性によってディスク・グループをスパース・ディスク・グループとして定義しています。ディスク・グループがスパース・ディスク・グループでない場合は、この属性を含める必要はありません。

    注意:

    • スパース・グリッド・ディスクを定義する場合、compatible.asmおよびcompatible.rdbms属性は少なくとも12.1.0.2.0である必要があります。

    • Oracle ASMディスク・グループのcompatible属性は、Oracle ASMインスタンスのCOMPATIBLE初期化パラメータよりも優先されます。

    • スパース・グリッド・ディスクを使用する場合は、Oracle DatabaseおよびOracle Grid Infrastructureソフトウェアはリリース12.1.0.2.0 BP5以上である必要があります。

  6. V$ASM動的ビューでSQL問合せを実行して、Oracle ASMディスク・グループおよび関連する属性を表示します。
    SQL> SELECT dg.name AS diskgroup, SUBSTR(a.name,1,24) AS name, 
         SUBSTR(a.value,1,24) AS value FROM V$ASM_DISKGROUP dg, V$ASM_ATTRIBUTE a 
         WHERE dg.group_number = a.group_number;
    
    DISKGROUP                    NAME                       VALUE
    ---------------------------- ------------------------ ------------------------
    DATA                         compatible.rdbms           11.2.0.2
    DATA                         compatible.asm             11.2.0.3
    DATA                         au_size                    4194304
    DATA                         disk_repair_time           3.6h
    DATA                         cell.smart_scan_capable    TRUE
    ...
    
  7. オフロード処理などのOracle Exadata System Software機能を利用できるように、ディスク・グループに表領域を作成します。この表領域には、オフロード処理で問合せを実行する表を含める必要があります。
    SQL> CREATE TABLESPACE tablespace_name DATAFILE '+DATA';
    

    このコマンドの+DATAは、Oracle ASMディスク・グループの名前です。

  8. 表領域がOracle Exadata Storage Serverのディスク・グループにあることを確認します。DBA_TABLESPACESビューのPREDICATE_EVALUATION列は、条件がホスト(HOST)またはストレージ(STORAGE)のどちらで評価されるかを示しています。
    SQL> SELECT tablespace_name, predicate_evaluation FROM dba_tablespaces
         WHERE tablespace_name = 'DATA_TB';
    
    TABLESPACE_NAME                PREDICA
    ------------------------------ -------
    DATA_TB                        STORAGE
    

関連項目:

例3-2 グリッド・ディスクでのOracle ASMディスク・グループの作成

この例は、CREATE DISKGROUPコマンドを使用してディスク・グループを作成する例を示しています。ディスク・グループの名前は、太字で示されています。Oracle Databaseリリース11.2.0.2およびリリース11.2.0.3の両方のデータベースを統合環境でサポートするために、compatible.rdbms属性は11.2.0.2に設定されます。

SQL> CREATE DISKGROUP data HIGH REDUNDANCY 

-- These grid disks are on cell01
   DISK 
   'o/*/data_CD_00_cell01',
   'o/*/data_CD_01_cell01',
   'o/*/data_CD_02_cell01',

-- These grid disks are on cell02
   DISK
   'o/*/data_CD_00_cell02',
   'o/*/data_CD_01_cell02',
   'o/*/data_CD_02_cell02',

-- These disk group attributes must be set for cell access
-- Note that this disk group is set for cell only
   ATTRIBUTE 'compatible.rdbms' = '11.2.0.2', 
             'content.type' = 'data',
             'compatible.asm' = '11.2.0.3',
             'au_size' = '4M',
             'cell.smart_scan_capable' = 'TRUE';

SQL> CREATE DISKGROUP reco HIGH REDUNDANCY 

-- These grid disks are on cell01
   DISK 
   'o/*/reco_CD_00_cell01',
   'o/*/reco_CD_01_cell01',
   'o/*/reco_CD_02_cell01'

-- These grid disks are on cell02
   DISK
   'o/*/reco_CD_00_cell02',
   'o/*/reco_CD_01_cell02',
   'o/*/reco_CD_02_cell02'

-- These disk group attributes must be set for cell access
-- Note that this disk group is set for cell only
   ATTRIBUTE 'compatible.rdbms' = '11.2.0.2', 
             'content.type' = 'recovery',
             'compatible.asm' = '11.2.0.3',
             'au_size' = '4M',
             'cell.smart_scan_capable' = 'TRUE';

3.1.2 Oracle ASMディスク・グループへのディスクの追加

Oracle ASMディスク・グループにディスクを追加できます。

Oracle Exadata Storage Serverに登録されていないOracle ASMディスク・グループにOracle Exadata Storage Serverグリッド・ディスクを追加しないでください。ただし、このディスク・グループをOracle Exadata Storage Serverディスク・グループに移行する予定がある場合は除きます。

  1. Oracle ASMインスタンスでV$ASM_DISKビュー問合せを実行し、使用可能なディスクを特定します。

    ヘッダーのステータスがCANDIDATEに設定されている場合、ディスクはディスク・グループの候補になっています。

  2. SQLコマンドALTER DISKGROUPを使用してADD DISK句を指定し、Oracle ASMディスク・グループにディスクを追加します。
    SQL> ALTER DISKGROUP disk_group_name 
    ADD DISK 'o/cell_IPaddress/data*';
    

ディスクが追加されると、Oracle ASMによってディスク・グループがリバランスされます。Oracle ASMではリバランス操作を監視し、Oracle Exadata System Softwareでは操作の完了時に電子メール・メッセージを送信します。

リバランス操作のステータスを確認するには、V$ASM_OPERATIONビューに問い合せます。

3.1.3 Oracle ASMディスク・グループのマウントおよびディスマウント

ディスク・グループ内のファイルにデータベース・インスタンスでアクセスできるようにするには、ディスク・グループをOracle ASMインスタンスでマウントする必要があります。

ディスク・グループをマウントするには、全ディスクを検出し、マウントされているディスク・グループのファイルを検索する必要があります。

  • ディスク・グループをマウントするには、MOUNTオプションを指定してSQL ALTER DISKGROUPコマンドを使用します。
  • ディスク・グループをディスマウントするには、DISMOUNTオプションを指定してSQL ALTER DISKGROUPコマンドを使用します。
  • MOUNT句を指定したALTER DISKGROUPコマンドでFORCEオプションを使用すると、ディスク・グループのコンポーネントが使用できない場合でも、ディスク・グループをマウントできます。

    これにより、完全な冗長性が失われます。

3.1.4 ディスクのオフラインとオンラインの切替え

Oracle ASMディスクをINACTIVEまたはACTIVEに変更できます。

  1. Oracle ASMディスク・グループでオフラインとオンラインを切り替えるディスクを特定します。

    Oracle ASMインスタンスでV$ASM_DISKおよびV$ASM_DISKGROUPビューを問い合せます。

  2. 次のコマンドのいずれかを使用します。
    • ディスクを非アクティブにするには、次のコマンドを使用します。

      CellCLI> ALTER GRIDDISK gdisk_name INACTIVE
      
    • ディスクをアクティブにするには、次のコマンドを使用します。

      CellCLI> ALTER GRIDDISK gdisk_name ACTIVE
      

    ディスクがオンラインになると、ディスク・グループがリバランスされます。

Oracle ASMではリバランス操作を監視し、Oracle Exadata System Softwareでは操作の完了時に電子メール・メッセージを送信します。

リバランス操作のステータスを確認するには、V$ASM_OPERATIONビューに問い合せます。

3.1.5 Oracle ASMディスク・グループからのディスクの削除

グリッド・ディスクをディスク・グループから削除できます。

  1. Oracle ASMディスク・グループから削除するディスクを特定します。

    Oracle ASMインスタンスでV$ASM_DISKおよびV$ASM_DISKGROUPビューを問い合せます。

    Oracle Exadata Storage Serverのグリッド・ディスクを削除する場合は、各Oracle ASMディスク・グループにマップされているグリッド・ディスクを特定できるようにします。

  2. SQL ALTER DISKGROUPコマンドを使用してDROP DISK句を指定し、Oracle ASMディスク・グループからディスクを削除します。
    SQL> ALTER DISKGROUP disk_group_name 
    DROP DISK data_CD_11_cell01 NORMAL;
    Oracle ASMディスク・グループからディスクを削除する際に、FORCEオプションを使用しないでください。FORCEオプションを使用すると、たとえば、ストレージ・サーバーを再起動するなどでディスク・オンライン自動化操作がトリガーされた場合に、Oracle Exadata System Softwareによってディスクが追加され、ディスク・グループに戻されます。『Oracle Exadata Database Machineシステム概要』拡張管理機能に関する項を参照してください。

Oracle ASMディスク・グループからディスクが削除されると、Oracle ASMによってディスク・グループがリバランスされます。Oracle ASMではリバランス操作を監視し、Oracle Exadata System Softwareでは操作の完了時に電子メール・メッセージを送信します。

リバランス操作のステータスを確認するには、V$ASM_OPERATIONビューに問い合せます。

Oracle Exadata Storage Serverのグリッド・ディスクがOracle ASMディスク・グループから削除されたら、セルからグリッド・ディスクを削除できます。

3.1.6 Oracle ASMディスク・グループの削除

Oracle ASMディスク・グループを削除できます。

ディスク・グループをマウントできないが削除する必要がある場合は、DROP DISKGROUPコマンドのFORCEオプションを使用してください。

  1. 削除するディスク・グループを特定します。
    Oracle ASMインスタンスでV$ASM_DISKGROUPビューを問い合せます。
  2. SQL DROP DISKGROUPコマンドを使用して、Oracle ASMディスク・グループを削除します。

3.1.7 Oracle ASM appliance.mode属性の有効化

Oracle ASM appliance.mode属性を使用すると、1つ以上のOracle ASMディスクを削除するときにディスクのリバランス完了時間が改善されます。

appliance.mode属性を設定すると、障害発生後に冗長性を迅速にリストアするのに役立ちます。属性は、次の要件を満たすディスク・グループのみで有効にできます。

  • Oracle ASMディスク・グループ属性compatible.asmがリリース11.2.0.4または12.1.0.2以上に設定されている。

  • cell.smart_scan_capable属性がTRUEに設定されている。

  • ディスク・グループ内のすべてのディスクが同じタイプである(すべてのディスクがハード・ディスクであるか、すべてのディスクがフラッシュ・ディスクであるなど)。

  • ディスク・グループのすべてのディスクが同じサイズである。

  • ディスク・グループのすべての障害グループのディスク数が等しい。

    • エイス・ラック構成の場合、すべての障害グループに4ディスクが含まれるか、すべての障害グループに6ディスクが含まれる。

    • それ以外のラック構成の場合、すべての障害グループに10ディスクが含まれるか、すべての障害グループに12ディスクが含まれる。

  • ディスク・グループに少なくとも3つの障害グループが含まれている。

  • ディスク・グループにオフラインのディスクがない。

注意:

既存のディスク・グループに対してappliance.mode属性を有効化すると、次回のリバランス操作でデータ移動が増える可能性があります。

appliance.mode属性は、新規ディスク・グループを作成するときに自動的に有効化されます。既存のディスク・グループでは、ALTER DISKGROUPコマンドを使用して明示的に属性を設定する必要があります。

SQL> ALTER DISKGROUP disk_group SET ATTRIBUTE 'appliance.mode'='TRUE';

ディスク・グループの作成時にappliance.mode属性を無効化するには、属性をFALSEに設定します。

SQL> CREATE DISKGROUP data NORMAL REDUNDANCY
DISK
'o/*/DATA*'
ATTRIBUTE 'content.type' = 'data',
          'au_size' = '4M',
          'cell.smart_scan_capable'='TRUE',
          'compatible.rdbms'='11.2.0.3',
          'compatible.asm'='11.2.0.4',
          'appliance.mode'='FALSE';

3.2 Oracle ASMを使用したOracle Exadata Storage Serverのグリッド・ディスクの管理

3.2.1 Oracle Exadata Storage Serverのグリッド・ディスクのネーミング規則

一貫性のあるネーミング規則を使用すると、Exadataコンポーネントを識別できます。

セル・ディスクに属するグリッド・ディスクを容易に判別できるように、グリッド・ディスクの名前にはセル・ディスク名を含めるようにしてください。また、Oracle ASMディスク・グループに属するグリッド・ディスクを判別できるように、グリッド・ディスクが属するOracle ASMディスク・グループの名前とグリッド・ディスク名のサブセットをすべて同じにするか、一部を同じにしてください。

たとえば、グリッド・ディスクがセル・ディスクCD_03_cell01上で作成され、そのグリッド・ディスクがdata0の名前のOracle ASMディスク・グループに属する場合は、グリッド・ディスク名をdata0_CD_03_cell01にしてください。

CREATE GRIDDISKALL PREFIXオプションを指定すると、接頭辞とセル名を含む一意のグリッド・ディスク名が自動的に生成されます。グリッド・ディスクの作成時にデフォルトの生成名を使用しない場合は、すべてのセルでグリッド・ディスク名を一意にする必要があります。ディスク名が一意でない場合は、グリッド・ディスクをOracle ASMディスク・グループに追加できないことがあります。

3.2.2 Oracle ASMディスク・グループに属するOracle Exadata Storage Serverのグリッド・ディスクの変更

Oracle ASMディスク・グループに属するグリッド・ディスクを変更する前に、変更によりグリッド・ディスクが属するOracle ASMディスク・グループが受ける可能性がある影響を考慮する必要があります。

3.2.2.1 Oracle Exadata Storage Serverのグリッド・ディスク名の変更

グリッド・ディスクの属性を変更するには、CellCLIALTER GRIDDISKコマンドを使用します。変更可能なOracle Exadata Storage Serverのグリッド・ディスク属性を特定するには、DESCRIBE GRIDDISKコマンドを使用します。

注意:

Oracle ASMディスク・グループに属するグリッド・ディスクの名前を変更する前に、対応するOracle ASMディスクがオフラインになっていることを確認します。

例3-3 Oracle Exadata Storage Serverのグリッド・ディスク名の変更

ALTER GRIDDISKコマンドを使用して、グリッド・ディスクの名前を変更します。

CellCLI> ALTER GRIDDISK data011 name='data0_CD_03_cell04'
3.2.2.2 Oracle Exadata Storage Serverのグリッド・ディスクの削除

Oracle Exadata Storage Serverのグリッド・ディスクを削除するには、CellCLIDROP GRIDDISKコマンドを使用します。

グリッド・ディスクを削除する前にグリッド・ディスクを非アクティブにし、そのグリッド・ディスクが使用されていないことを確認します。FORCEオプションを使用すると、使用中のグリッド・ディスクを強制的に削除できます。

注意:

  • Oracle ASMディスク・グループに属するグリッド・ディスクを削除する前に、対応するOracle ASMディスクがディスク・グループから削除されていることを確認します。

  • FORCEオプションを使用してグリッド・ディスクを削除する前に、ディスク・グループからOracle ASMディスクが削除されていることを確認します。

  1. ディスク・グループからOracle ASMディスクを削除します。
    SQL> ALTER DISKGROUP disk_group_name DROP DISK disk_name;
    
  2. 対応するグリッド・ディスクを非アクティブにします。
    CellCLI> ALTER GRIDDISK disk_name INACTIVE
    
  3. グリッド・ディスクを削除します。
    CellCLI> DROP GRIDDISK disk_name
    

例3-4 特定のグリッド・ディスクの削除

ディスク・グループからOracle ASMディスクを削除した後に、関連するグリッド・ディスクを削除できます。

CellCLI> ALTER GRIDDISK data0_CD_03_cell04 INACTIVE
CellCLI> DROP GRIDDISK data0_CD_03_cell04

例3-5 すべてのグリッド・ディスクの削除

ディスク・グループからOracle ASMディスクを削除した後、単一のコマンドを使用して複数のグリッド・ディスクを削除できます。

CellCLI> ALTER GRIDDISK ALL INACTIVE
CellCLI> DROP GRIDDISK ALL PREFIX=data0

例3-6 グリッド・ディスクを削除する際のFORCEオプションの使用

グリッド・ディスクをINACTIVEにはできないが、グリッド・ディスクを削除する必要がある場合は、FORCEオプションを使用します。FORCEオプションを使用すると、使用中のグリッド・ディスクが強制的に削除されます

CellCLI> DROP GRIDDISK data02_CD_04_cell01 FORCE

関連項目

3.2.3 グリッド・ディスクのサイズ変更

グリッド・ディスクとOracle ASMディスク・グループのサイズを変更して、空き領域が多すぎるディスクはサイズを減らしたり、最大容量に近いディスクはサイズを増やしたりできます。

Oracle Exadata Database Machineのディスク・グループ・サイズの初期構成は、Oracleベスト・プラクティスおよびバックアップ・ファイルの場所に基づきます。
  • 内部バックアップの場合: 使用可能な領域の割当ては、DATAディスク・グループで40%、RECOディスク・グループで60%です。

  • 外部バックアップの場合: 使用可能な領域の割当ては、DATAディスク・グループで80%、RECOディスク・グループで20%です。

ディスク・グループの割当ては、デプロイ後に変更できます。たとえば、DATAディスク・グループの割当てが60%では小さすぎるため、80%にサイズ変更する必要が生じる場合があります。

システムのセル・ディスクに使用可能な空き領域が存在せず、1つのディスク・グループ(RECOなど)に十分な空き領域がある場合、RECOディスク・グループのサイズを縮小し、DATAディスク・グループに空き領域を割り当てなおすことができます。RECOディスク・グループの縮小後に使用可能な空き領域は、DATAディスク・グループに割り当てられた既存の領域から離れた場所にあります。グリッド・ディスクはセル・ディスク上の任意の場所にある領域を使用でき、隣接している必要はありません。

セル・ディスクに既存のグリッド・ディスクを拡大する十分な領域がすでに存在している状態で、グリッド・ディスクを拡大する場合、最初に既存のディスク・グループのサイズを変更する必要はありません。RECOディスク・グループとグリッド・ディスクが縮小される次の例の手順2と3を省略してください(ただし、DATAグリッド・ディスクを拡大する前に、セル・ディスクに十分な空き領域があることを確認する必要があります)。管理者が確保する必要がある空き領域の量は、障害時の補償範囲のレベルによって異なります。

グリッド・ディスクのサイズを縮小する場合、ミラー化用の領域がどのように確保されるかを理解する必要があります。データは、標準または高冗長性を使用してOracle ASMによって保護され、ファイル・エクステントとして保存される1つまたは2つのデータのコピーが作成されます。これらのコピーは、個別の障害グループに保存されます。1つの障害グループで障害が発生しても、ミラー・コピーには影響がないため、データにはまだアクセスできます。

障害が発生すると、アクセスできないエクステントがOracle ASMによって再ミラー化(またはリバランス)されるため、冗長性が再確立されます。プロセスの再ミラー化を成功するには、新しいファイル・エクステントのミラー・コピーの作成に十分な空き領域がディスク・グループに存在する必要があります。十分な空き領域がないと、一部のエクステントが再ミラー化されず、他のデータ・コピーで後で障害が発生した場合に、ディスク・グループをバックアップからリストアする必要があります。領域の不足により再ミラー化プロセスが失敗すると、Oracle ASMはエラーを送信します。

Oracle Exadata System Softwareリリース12.1.2.1.0以上を使用するか、バグ19695225のパッチをソフトウェアに適用する必要があります。

このグリッド・ディスクのサイズ変更手順は、ベア・メタルおよび仮想マシン(VM)のデプロイメントに適用されます。

  1. 使用可能な領域量の確認
  2. ドナー・ディスク・グループのOracle ASMディスクの縮小
  3. ドナー・ディスク・グループのグリッド・ディスクの縮小
  4. 使用可能な領域を使用したグリッド・ディスクのサイズの拡大
  5. Oracle ASMディスクのサイズの拡大
3.2.3.1 使用可能な領域量の確認

ディスク・グループ内のディスクのサイズを増やすには、割り当てられていないディスク領域を使用可能にするか、異なるディスク・グループが現在使用している領域を割り当てなおす必要があります。

また、Exadataで新規グリッド・ディスクおよびディスク・グループのサイズを計算するためのスクリプト(My Oracle Support Doc ID 1464809.1)で使用可能なスクリプトを使用すると、ディスク・グループを縮小するために使用可能な量の空き領域の判別に役立ちます。

  1. ディスク・グループが現在使用している領域を確認します。
    SELECT name, total_mb, free_mb, total_mb - free_mb used_mb, round(100*free_mb/total_mb,2) pct_free
    FROM v$asm_diskgroup
    ORDER BY 1;
    
    NAME                             TOTAL_MB    FREE_MB    USED_MB   PCT_FREE
    ------------------------------ ---------- ---------- ---------- ----------
    DATAC1                           68812800    9985076   58827724      14.51
    RECOC1                           94980480   82594920   12385560      86.96

    この例では、DATAC1ディスク・グループの使用可能な空き領域は約15%しかありませんが、RECOC1ディスク・グループには約87%の空きディスク領域があります。ここに示されているPCT_FREEは、使用可能な空き領域ではなく、RAW空き領域です。リバランス操作用に追加の領域が必要です。

  2. サイズを変更するディスク・グループについて、ディスク・グループが使用する障害グループの数および状態を確認します。
    SELECT dg.name, d.failgroup, d.state, d.header_status, d.mount_mode, 
     d.mode_status, count(1) num_disks
    FROM V$ASM_DISK d, V$ASM_DISKGROUP dg
    WHERE d.group_number = dg.group_number
    AND dg.name IN ('RECOC1', 'DATAC1')
    GROUP BY dg.name, d.failgroup, d.state, d.header_status, d.mount_status,
      d.mode_status
    ORDER BY 1, 2, 3;
    
    NAME       FAILGROUP      STATE      HEADER_STATU MOUNT_S  MODE_ST  NUM_DISKS
    ---------- -------------  ---------- ------------ -------- -------  ---------
    DATAC1     EXA01CELADM01  NORMAL     MEMBER        CACHED  ONLINE   12
    DATAC1     EXA01CELADM02  NORMAL     MEMBER        CACHED  ONLINE   12
    DATAC1     EXA01CELADM03  NORMAL     MEMBER        CACHED  ONLINE   12
    DATAC1     EXA01CELADM04  NORMAL     MEMBER        CACHED  ONLINE   12
    DATAC1     EXA01CELADM05  NORMAL     MEMBER        CACHED  ONLINE   12
    DATAC1     EXA01CELADM06  NORMAL     MEMBER        CACHED  ONLINE   12
    DATAC1     EXA01CELADM07  NORMAL     MEMBER        CACHED  ONLINE   12
    DATAC1     EXA01CELADM08  NORMAL     MEMBER        CACHED  ONLINE   12
    DATAC1     EXA01CELADM09  NORMAL     MEMBER        CACHED  ONLINE   12
    DATAC1     EXA01CELADM10  NORMAL     MEMBER        CACHED  ONLINE   12
    DATAC1     EXA01CELADM11  NORMAL     MEMBER        CACHED  ONLINE   12
    DATAC1     EXA01CELADM12  NORMAL     MEMBER        CACHED  ONLINE   12
    DATAC1     EXA01CELADM13  NORMAL     MEMBER        CACHED  ONLINE   12
    DATAC1     EXA01CELADM14  NORMAL     MEMBER        CACHED  ONLINE   12
    RECOC1     EXA01CELADM01  NORMAL     MEMBER        CACHED  ONLINE   12
    RECOC1     EXA01CELADM02  NORMAL     MEMBER        CACHED  ONLINE   12
    RECOC1     EXA01CELADM03  NORMAL     MEMBER        CACHED  ONLINE   12
    RECOC1     EXA01CELADM04  NORMAL     MEMBER        CACHED  ONLINE   12
    RECOC1     EXA01CELADM05  NORMAL     MEMBER        CACHED  ONLINE   12
    RECOC1     EXA01CELADM06  NORMAL     MEMBER        CACHED  ONLINE   12
    RECOC1     EXA01CELADM07  NORMAL     MEMBER        CACHED  ONLINE   12
    RECOC1     EXA01CELADM08  NORMAL     MEMBER        CACHED  ONLINE   12
    RECOC1     EXA01CELADM09  NORMAL     MEMBER        CACHED  ONLINE   12
    RECOC1     EXA01CELADM10  NORMAL     MEMBER        CACHED  ONLINE   12
    RECOC1     EXA01CELADM11  NORMAL     MEMBER        CACHED  ONLINE   12
    RECOC1     EXA01CELADM12  NORMAL     MEMBER        CACHED  ONLINE   12
    RECOC1     EXA01CELADM13  NORMAL     MEMBER        CACHED  ONLINE   12
    RECOC1     EXA01CELADM14  NORMAL     MEMBER        CACHED  ONLINE   12
    

    この例はラック全体の表示で、DATAC1およびRECOC1のセルが14個、障害グループが14個あります。各障害グループにNORMAL状態のディスクが12個以上(num_disks)あることを確認します。MISSINGと表示されるディスクがある場合、または構成で予期しない数のディスクが表示される場合は、問題を解決してから続きを行います。

    Extreme Flashシステムでは、ディスク数としてnum_disksに12ではなく8が表示されます。

  3. 各セルおよび各障害グループに関連付けられているグリッド・ディスクを表示して、サイズを変更するグリッド・ディスクを確認します。
    SELECT dg.name, d.failgroup, d.path
    FROM V$ASM_DISK d, V$ASM_DISKGROUP dg
    WHERE d.group_number = dg.group_number
    AND dg.name IN ('RECOC1', 'DATAC1')
    ORDER BY 1, 2, 3;
    
    NAME        FAILGROUP      PATH
    ----------- -------------  ----------------------------------------------
    DATAC1      EXA01CELADM01  o/192.168.74.43/DATAC1_CD_00_exa01celadm01
    DATAC1      EXA01CELADM01  o/192.168.74.43/DATAC1_CD_01_exa01celadm01
    DATAC1      EXA01CELADM01  o/192.168.74.43/DATAC1_CD_02_exa01celadm01
    DATAC1      EXA01CELADM01  o/192.168.74.43/DATAC1_CD_03_exa01celadm01
    DATAC1      EXA01CELADM01  o/192.168.74.43/DATAC1_CD_04_exa01celadm01
    DATAC1      EXA01CELADM01  o/192.168.74.43/DATAC1_CD_05_exa01celadm01
    DATAC1      EXA01CELADM01  o/192.168.74.43/DATAC1_CD_06_exa01celadm01
    DATAC1      EXA01CELADM01  o/192.168.74.43/DATAC1_CD_07_exa01celadm01
    DATAC1      EXA01CELADM01  o/192.168.74.43/DATAC1_CD_08_exa01celadm01
    DATAC1      EXA01CELADM01  o/192.168.74.43/DATAC1_CD_09_exa01celadm01
    DATAC1      EXA01CELADM01  o/192.168.74.43/DATAC1_CD_10_exa01celadm01
    DATAC1      EXA01CELADM01  o/192.168.74.43/DATAC1_CD_11_exa01celadm01
    DATAC1      EXA01CELADM02  o/192.168.74.44/DATAC1_CD_00_exa01celadm01
    DATAC1      EXA01CELADM02  o/192.168.74.44/DATAC1_CD_01_exa01celadm01
    DATAC1      EXA01CELADM02  o/192.168.74.44/DATAC1_CD_02_exa01celadm01
    ...
    RECOC1      EXA01CELADM13  o/192.168.74.55/RECOC1_CD_00_exa01celadm13
    RECOC1      EXA01CELADM13  o/192.168.74.55/RECOC1_CD_01_exa01celadm13
    RECOC1      EXA01CELADM13  o/192.168.74.55/RECOC1_CD_02_exa01celadm13
    ...
    RECOC1      EXA01CELADM14  o/192.168.74.56/RECOC1_CD_09_exa01celadm14
    RECOC1      EXA01CELADM14  o/192.168.74.56/RECOC1_CD_10_exa01celadm14
    RECOC1      EXA01CELADM14  o/192.168.74.56/RECOC1_CD_11_exa01celadm14  
    
    168 rows returned.
  4. セル・ディスクの使用可能な空き領域を確認します。
    セル・ディスクの空き領域を使用して、DATAC1グリッド・ディスクのサイズを増やすことができます。DATAC1グリッド・ディスクを拡大する使用可能な空き領域が十分にない場合、RECOC1グリッド・ディスクを縮小して、DATAC1グリッド・ディスクの新しいサイズ用に追加の領域を用意する必要があります。
    [root@exa01adm01 tmp]# dcli -g ~/cell_group -l root "cellcli -e list celldisk \
      attributes name,freespace" 
    exa01celadm01: CD_00_exa01celadm01 0 
    exa01celadm01: CD_01_exa01celadm01 0 
    exa01celadm01: CD_02_exa01celadm01 0 
    exa01celadm01: CD_03_exa01celadm01 0 
    exa01celadm01: CD_04_exa01celadm01 0 
    exa01celadm01: CD_05_exa01celadm01 0 
    exa01celadm01: CD_06_exa01celadm01 0 
    exa01celadm01: CD_07_exa01celadm01 0 
    exa01celadm01: CD_08_exa01celadm01 0 
    exa01celadm01: CD_09_exa01celadm01 0 
    exa01celadm01: CD_10_exa01celadm01 0 
    exa01celadm01: CD_11_exa01celadm01 0 
    ...

    この例では、使用可能な空き領域がないため、最初にRECOC1グリッド・ディスクを縮小して、DATAC1グリッド・ディスク用に領域を用意する必要があります。使用可能な空き領域が十分にある構成では、RECOC1グリッド・ディスクを縮小するかわりに、その空き領域を使用できます。

  5. RECOC1グリッド・ディスクおよび各グリッド・ディスクから縮小する領域の量を計算します。

    ディスク・グループおよびそのグリッド・ディスクを安全に縮小する最小サイズについては、次の点を考慮する必要があります。

    • 現在使用中の領域(USED_MB)

    • 拡大に想定される領域(GROWTH_MB)

    • ディスク障害発生時のリバランスに必要な領域(DFC_MB) (通常は合計ディスク・グループ・サイズの15%)

    前述の要素を考慮に入れた、最小サイズの計算は次のようになります。

    Minimum DG size (MB) = (USED_MB + GROWTH_MB ) * 1.15 
    • USED_MBは、TOTAL_MB - FREE_MBを計算して、V$ASM_DISKGROUPから算出できます

    • GROWTH_MBは、ディスク・グループの将来の使用方法によって異なる推定量であり、拡大の過去のパターンに基づいている必要があります

    手順1で示したRECOC1ディスク・グループの領域を使用する場合、拡大推定量がないと仮定すると、縮小可能な最小サイズは、次のようになります。

    最小RECOC1サイズ = (TOTAL_MB - FREE_MB + GROWTH_MB) * 1.15

    = ( 94980480 - 82594920 + 0) * 1.15 = 14243394 MB = 13,910 GB

    手順1の出力例では、RECOC1には十分な空き領域がありますが、DATAC1の空き領域は15%未満です。よって、RECOC1を縮小し、解放されたディスク領域をDATAC1に付与します。RECOC1のサイズを現在の半分に減らす場合、新しいサイズは94980480 / 2 = 47490240MBになります。このサイズは、前述のRECOC1ディスク・グループに対して計算した最小サイズを大幅に上回る値です。したがって、安全にこの値に縮小できます。

    手順2の問合せでは、RECOC1に168個のグリッド・ディスクがあることがわかりました。14個のセルがあり、セルごとに12個のディスクがあるためです(14 * 12 = 168)。RECOC1ディスク・グループの各グリッド・ディスクの新しい推定サイズは、47490240 / 168、すなわち282,680MBになります。

    新しいグリッド・ディスクのサイズに対して最も近い16MB境界を見つけます。このチェックを実行しないと、セルによって、最も近い16MBごとの境界にグリッド・ディスク・サイズが自動的に切り下げられるため、Oracle ASMディスクとグリッド・ディスクの間でサイズの不一致が発生することがあります。

    SQL> SELECT 16*TRUNC(&new_disk_size/16) new_disk_size FROM dual;
    Enter value for new_disk_size: 282680
    
    NEW_DISK_SIZE
    -------------
           282672

    この結果から、RECOC1ディスク・グループのグリッド・ディスクの新しいサイズとして282672MBを選択します。グリッド・ディスクのサイズ変更後のRECOC1ディスク・グループのサイズは47488896MBになります。

  6. DATAC1ディスク・グループの各グリッド・ディスクのサイズの増加量を計算します。

    Oracle ASMディスクのサイズとグリッド・ディスクのサイズがディスク・グループ全体で一致するようにします。次の問合せでは、各ディスク・グループのディスクのサイズが表示されます。すべてのディスクのサイズが同じで、Oracle ASM (total_mb)ディスクとグリッド・ディスク(os_mb)のサイズが一致しているのが理想です。

    SELECT dg.name, d.total_mb, d.os_mb, count(1) num_disks
    FROM v$asm_diskgroup dg, v$asm_disk d
    WHERE dg.group_number = d.group_number
    GROUP BY dg.name, d.total_mb, d.os_mb;
    
    NAME                             TOTAL_MB      OS_MB  NUM_DISKS
    ------------------------------ ---------- ---------- ----------
    DATAC1                             409600     409600        168
    RECOC1                             565360     565360        168
    

    RECOC1のグリッド・ディスクを縮小した後のDATAC1の各ディスクの領域は次のとおりです。

    DATAC1ディスクの追加領域 = RECOC1の現在のサイズ - RECOC1の新しいサイズ
                                                           = 565360 - 282672 = 282688MB

    DATAC1ディスク・グループのグリッド・ディスクの新しいサイズを計算するには、次を使用します。

    DATAC1のディスクの新しいサイズ = DATAC1の現在のサイズ - RECOC1の新しいサイズ
                                                         񤀀 = 565360 - 282688 = 692288MB

    新しいグリッド・ディスクのサイズに対して最も近い16MB境界を見つけます。このチェックを実行しないと、セルによって、最も近い16MBごとの境界にグリッド・ディスク・サイズが自動的に切り下げられるため、Oracle ASMディスクとグリッド・ディスクの間でサイズの不一致が発生することがあります。

    SQL> SELECT 16*TRUNC(&new_disk_size/16) new_disk_size FROM dual;
    Enter value for new_disk_size: 692288
    
    NEW_DISK_SIZE
    -------------
           692288

    問合せ結果から、DATAC1ディスク・グループのディスクの使用可能なサイズは692288MBになります。この計算されたサイズは16MB境界上にあります。問合せ結果と指定した値が異なる場合、セルがグリッド・ディスクのサイズをその値に四捨五入することから、問合せで返された値を使用する必要があります。

    新しいグリッド・ディスクのサイズの計算値により、DATAC1ディスク・グループの合計サイズは116304384MBになります(168個のディスク * 692288MB)。

3.2.3.2 ドナー・ディスク・グループのOracle ASMディスクの縮小

セル・ディスクに使用可能な空き領域がない場合、1つのディスク・グループが使用する領域を減らして、異なるディスク・グループに追加のディスク領域を提供できます。

この作業は、RECOC1ディスク・グループの領域がDATAC1ディスク・グループに割り当てなおされる例の続きです。
ディスク・グループのサイズを変更する前に、領域を縮小するディスク・グループに十分な空き領域があることを確認してください。
  1. RECOディスク・グループのOracle ASMディスクを縮小して、すべてのディスクが新しい目標サイズになるようにします。

    「使用可能な領域量の確認」の手順5で計算したRECOディスク・グループのディスクの新しいサイズを使用します。

    SQL> ALTER DISKGROUP recoc1 RESIZE ALL SIZE 282672M REBALANCE POWER 64;

    注意:

    ALTER DISKGROUPコマンドは完了するまでに数分間かかることがあります。この操作が完了するまで、SQLプロンプトから何も返されません。

    指定したディスク・グループでディスク・グループ内にquorumディスクが構成されている場合、ALTER DISKGROUP ... RESIZE ALLコマンドはエラーORA-15277で失敗することがあります。quorumディスクは、高冗長性ディスク・グループ用のquorumディスクの管理に関する項で指定されている要件が満たされている場合に構成されます。回避方法として、次の例のように、SQLコマンドでストレージ・サーバーの障害グループの名前(FAILURE_TYPEがQUORUMではなくREGULARの障害グループの名前)を明示的に指定できます。

    SQL> ALTER DISKGROUP recoc1 RESIZE DISKS IN FAILGROUP exacell01 SIZE 282672M,
    exacell02 SIZE 282672M, exacell03 SIZE 282672M REBALANCE POWER 64;

    GV$ASM_OPERATIONビューを確認して、リバランスが完了するまで待機します。

    SQL> set lines 250 pages 1000
    SQL> col error_code form a10
    SQL> SELECT dg.name, o.*
      2  FROM gv$asm_operation o, v$asm_diskgroup dg
      3  WHERE o.group_number = dg.group_number;

    GV$ASM_OPERATIONの問合せで変更されるディスク・グループの行が表示されなくなったら、次の手順に進みます。

  2. 次の問合せを使用して、ASMディスクの新しいサイズを確認します。
    SQL> SELECT name, total_mb, free_mb, total_mb - free_mb used_mb,
      2   ROUND(100*free_mb/total_mb,2) pct_free
      3  FROM v$asm_diskgroup
      4  ORDER BY 1;
    
    NAME                             TOTAL_MB    FREE_MB    USED_MB   PCT_FREE
    ------------------------------ ---------- ---------- ---------- ----------
    DATAC1                           68812800    9985076   58827724      14.51
    RECOC1                           47488896   35103336   12385560      73.92
    
    SQL> SELECT dg.name, d.total_mb, d.os_mb, COUNT(1) num_disks
      2  FROM v$asm_diskgroup dg, v$asm_disk d
      3  WHERE dg.group_number = d.group_number
      4  GROUP BY dg.name, d.total_mb, d.os_mb;
    
    NAME                             TOTAL_MB      OS_MB  NUM_DISKS
    ------------------------------ ---------- ---------- ----------
    DATAC1                             409600     409600        168
    RECOC1                             282672     565360        168

    この問合せの例では、RECOC1ディスク・グループのディスクのサイズがそれぞれ282672MGに変更されています。ディスク・グループの合計サイズは47488896MBです。

3.2.3.3 ドナー・ディスク・グループのグリッド・ディスクの縮小

Oracle ASMディスク・グループのディスクを縮小したら、各セルのグリッド・ディスクのサイズを縮小できます。

この作業は、RECOC1ディスク・グループの領域がDATAC1ディスク・グループに割り当てなおされる例の続きです。
最初に、「ドナー・ディスク・グループのOracle ASMディスクの縮小」の作業を完了する必要があります。
  1. すべてのセルのRECOディスク・グループに関連付けられているグリッド・ディスクを新しい小さいサイズに縮小します。

    「使用可能領域の容量の判別」の手順3で確認したストレージ・セルごとに、グリッド・ディスクを縮小して、前のタスクで縮小したOracle ASMディスクのサイズと一致するようにします。次のようなコマンドを使用します。

    dcli -c exa01celadm01 -l root "cellcli -e alter griddisk RECOC1_CD_00_exa01celadm01 \
    ,RECOC1_CD_01_exa01celadm01 \
    ,RECOC1_CD_02_exa01celadm01 \
    ,RECOC1_CD_03_exa01celadm01 \
    ,RECOC1_CD_04_exa01celadm01 \
    ,RECOC1_CD_05_exa01celadm01 \
    ,RECOC1_CD_06_exa01celadm01 \
    ,RECOC1_CD_07_exa01celadm01 \
    ,RECOC1_CD_08_exa01celadm01 \
    ,RECOC1_CD_09_exa01celadm01 \
    ,RECOC1_CD_10_exa01celadm01 \
    ,RECOC1_CD_11_exa01celadm01 \
    size=282672M "
    
    dcli -c exa01celadm02 -l root "cellcli -e alter griddisk RECOC1_CD_00_exa01celadm02 \
    ,RECOC1_CD_01_exa01celadm02 \
    ,RECOC1_CD_02_exa01celadm02 \
    ,RECOC1_CD_03_exa01celadm02 \
    ,RECOC1_CD_04_exa01celadm02 \
    ,RECOC1_CD_05_exa01celadm02 \
    ,RECOC1_CD_06_exa01celadm02 \
    ,RECOC1_CD_07_exa01celadm02 \
    ,RECOC1_CD_08_exa01celadm02 \
    ,RECOC1_CD_09_exa01celadm02 \
    ,RECOC1_CD_10_exa01celadm02 \
    ,RECOC1_CD_11_exa01celadm02 \
    size=282672M "
    
    ...
    
    dcli -c exa01celadm14 -l root "cellcli -e alter griddisk RECOC1_CD_00_exa01celadm14 \
    ,RECOC1_CD_01_exa01celadm14 \
    ,RECOC1_CD_02_exa01celadm14 \
    ,RECOC1_CD_03_exa01celadm14 \
    ,RECOC1_CD_04_exa01celadm14 \
    ,RECOC1_CD_05_exa01celadm14 \
    ,RECOC1_CD_06_exa01celadm14 \
    ,RECOC1_CD_07_exa01celadm14 \
    ,RECOC1_CD_08_exa01celadm14 \
    ,RECOC1_CD_09_exa01celadm14 \
    ,RECOC1_CD_10_exa01celadm14 \
    ,RECOC1_CD_11_exa01celadm14 \
    size=282672M "
  2. 次の問合せを使用して、グリッド・ディスクの新しいサイズを確認します。
    [root@exa01adm01 tmp]# dcli -g cell_group -l root "cellcli -e list griddisk attributes name,size where name like \'RECOC1.*\' "
    
    exa01celadm01: RECOC1_CD_00_exa01celadm01 276.046875G
    exa01celadm01: RECOC1_CD_01_exa01celadm01 276.046875G
    exa01celadm01: RECOC1_CD_02_exa01celadm01 276.046875G
    exa01celadm01: RECOC1_CD_03_exa01celadm01 276.046875G
    exa01celadm01: RECOC1_CD_04_exa01celadm01 276.046875G
    exa01celadm01: RECOC1_CD_05_exa01celadm01 276.046875G
    exa01celadm01: RECOC1_CD_06_exa01celadm01 276.046875G
    exa01celadm01: RECOC1_CD_07_exa01celadm01 276.046875G
    exa01celadm01: RECOC1_CD_08_exa01celadm01 276.046875G
    exa01celadm01: RECOC1_CD_09_exa01celadm01 276.046875G
    exa01celadm01: RECOC1_CD_10_exa01celadm01 276.046875G
    exa01celadm01: RECOC1_CD_11_exa01celadm01 276.046875G  
    ...

    この例では、RECOC1ディスク・グループのディスクのサイズがそれぞれ282672MBに変更されています(276.046875 * 1024)。

3.2.3.4 使用可能な領域を使用したグリッド・ディスクのサイズの拡大

未割当てのディスク領域(すでに使用可能な領域、または別のOracle ASMディスク・グループで使用されている領域を縮小することで使用可能になった領域)がある場合は、グリッド・ディスクで使用されるサイズを増やすことができます。

この作業は、RECOC1ディスク・グループの領域がDATAC1ディスク・グループに割り当てなおされる例の続きです。既存のディスク・グループを拡大する十分な領域がすでにある場合、異なるディスク・グループの領域を割り当てなおす必要はありません。

  1. セル・ディスクに必要な量の空き領域があることを確認します。
    Oracle ASMディスクおよびグリッド・ディスクを縮小するタスクを完了すると、セル・ディスクの空き領域は次のようになります。
    [root@exa01adm01 tmp]# dcli -g ~/cell_group -l root "cellcli -e list celldisk \
    attributes name,freespace"
    
    exa01celadm01: CD_00_exa01celadm01 276.0625G
    exa01celadm01: CD_01_exa01celadm01 276.0625G
    exa01celadm01: CD_02_exa01celadm01 276.0625G
    exa01celadm01: CD_03_exa01celadm01 276.0625G
    exa01celadm01: CD_04_exa01celadm01 276.0625G
    exa01celadm01: CD_05_exa01celadm01 276.0625G
    exa01celadm01: CD_06_exa01celadm01 276.0625G
    exa01celadm01: CD_07_exa01celadm01 276.0625G
    exa01celadm01: CD_08_exa01celadm01 276.0625G
    exa01celadm01: CD_09_exa01celadm01 276.0625G
    exa01celadm01: CD_10_exa01celadm01 276.0625G
    exa01celadm01: CD_11_exa01celadm01 276.0625G 
    ...
  2. ストレージ・セルごとに、DATAグリッド・ディスクのサイズを新しいサイズまで増やします。

    「使用可能な領域量の確認」で計算したサイズを使用します。

    dcli -c exa01celadm01 -l root "cellcli -e alter griddisk DATAC1_CD_00_exa01celadm01 \
    ,DATAC1_CD_01_exa01celadm01 \
    ,DATAC1_CD_02_exa01celadm01 \
    ,DATAC1_CD_03_exa01celadm01 \
    ,DATAC1_CD_04_exa01celadm01 \
    ,DATAC1_CD_05_exa01celadm01 \
    ,DATAC1_CD_06_exa01celadm01 \
    ,DATAC1_CD_07_exa01celadm01 \
    ,DATAC1_CD_08_exa01celadm01 \
    ,DATAC1_CD_09_exa01celadm01 \
    ,DATAC1_CD_10_exa01celadm01 \
    ,DATAC1_CD_11_exa01celadm01 \
    size=692288M "
    ...
    dcli -c exa01celadm14 -l root "cellcli -e alter griddisk DATAC1_CD_00_exa01celadm14 \
    ,DATAC1_CD_01_exa01celadm14 \
    ,DATAC1_CD_02_exa01celadm14 \
    ,DATAC1_CD_03_exa01celadm14 \
    ,DATAC1_CD_04_exa01celadm14 \
    ,DATAC1_CD_05_exa01celadm14 \
    ,DATAC1_CD_06_exa01celadm14 \
    ,DATAC1_CD_07_exa01celadm14 \
    ,DATAC1_CD_08_exa01celadm14 \
    ,DATAC1_CD_09_exa01celadm14 \
    ,DATAC1_CD_10_exa01celadm14 \
    ,DATAC1_CD_11_exa01celadm14 \
    size=692288M "
  3. 次の問合せを使用して、DATAC1ディスク・グループに関連付けられているグリッド・ディスクの新しいサイズを確認します。
    dcli -g cell_group -l root "cellcli -e list griddisk attributes name,size \ 
    where name like \'DATAC1.*\' "
    
    exa01celadm01: DATAC1_CD_00_exa01celadm01 676.0625G
    exa01celadm01: DATAC1_CD_01_exa01celadm01 676.0625G
    exa01celadm01: DATAC1_CD_02_exa01celadm01 676.0625G
    exa01celadm01: DATAC1_CD_03_exa01celadm01 676.0625G
    exa01celadm01: DATAC1_CD_04_exa01celadm01 676.0625G
    exa01celadm01: DATAC1_CD_05_exa01celadm01 676.0625G
    exa01celadm01: DATAC1_CD_06_exa01celadm01 676.0625G
    exa01celadm01: DATAC1_CD_07_exa01celadm01 676.0625G
    exa01celadm01: DATAC1_CD_08_exa01celadm01 676.0625G
    exa01celadm01: DATAC1_CD_09_exa01celadm01 676.0625G
    exa01celadm01: DATAC1_CD_10_exa01celadm01 676.0625G
    exa01celadm01: DATAC1_CD_11_exa01celadm01 676.0625G

DATAディスク・グループのサイズを増やすかわりに、新しく解放された空き領域を使用して新しいディスク・グループを作成したり、将来使用するために確保したりすることができます。一般的には、必要な最小数のディスク・グループ(通常はDATA、RECOおよびDBFS_DG)を使用して、管理の柔軟性と容易さを最大限にすることをお薦めします。ただし、仮想マシンを使用したり、多くのデータベースを統合する場合、将来使用するために追加のディスク・グループまたは使用可能な空き領域が必要になることがあります。

将来使用するためにグリッド・ディスクの空き領域を残しておく場合は、後で空き領域を既存のディスク・グループに割り当てる手順について、My Oracle Supportノート1684112.1を参照してください。

3.2.3.5 Oracle ASMディスクのサイズの拡大

関連するグリッド・ディスクに割り当てられた領域を増やした後で、Oracle ASMディスクによって使用されるサイズを増やすことができます。

この作業は、RECOC1ディスク・グループの領域がDATAC1ディスク・グループに割り当てなおされる例の続きです。
Oracle ASMディスク・グループのサイズを変更するには、対応するグリッド・ディスクのサイズ変更のタスクを前もって完了しておく必要があります。
  1. DATAC1ディスク・グループのOracle ASMディスクを、ストレージ・セル上のグリッド・ディスクの新しいサイズに増やします。
    SQL> ALTER DISKGROUP datac1 RESIZE ALL;

    このコマンドによって、Oracle ASMディスクのサイズがグリッド・ディスクのサイズと一致するように変更されます。

    注意:

    指定したディスク・グループでディスク・グループ内にquorumディスクが構成されている場合、ALTER DISKGROUP ... RESIZE ALLコマンドはエラーORA-15277で失敗することがあります。『Oracle Exadata Database Machineメンテナンス・ガイド』に記載されている要件が満たされている場合は、quorumディスクが構成されます。

    回避方法として、次の例のように、SQLコマンドでストレージ・サーバーの障害グループの名前(FAILURE_TYPEが"QUORUM"ではなく"REGULAR"の障害グループの名前)を明示的に指定できます。

    SQL> ALTER DISKGROUP datac1 RESIZE DISKS IN FAILGROUP exacell01, exacell02, exacell03;
  2. リバランス操作が完了するまで待機します。
    SQL> set lines 250 pages 1000 
    SQL> col error_code form a10 
    SQL> SELECT dg.name, o.* FROM gv$asm_operation o, v$asm_diskgroup dg 
         WHERE o.group_number = dg.group_number;

    問合せで変更されたディスク・グループの行が返されなくなるまで、次の手順に進まないでください。

  3. Oracle ASMディスクとディスク・グループの新しいサイズが目標のサイズになったことを確認します。
    SQL> SELECT name, total_mb, free_mb, total_mb - free_mb used_mb, 
         ROUND(100*free_mb/total_mb,2) pct_free
         FROM v$asm_diskgroup
         ORDER BY 1;
    
    NAME                             TOTAL_MB    FREE_MB    USED_MB   PCT_FREE
    ------------------------------ ---------- ---------- ---------- ----------
    DATAC1                          116304384   57439796   58864588      49.39
    RECOC1                           47488896   34542516   12946380      72.74
    
    SQL>  SELECT dg.name, d.total_mb, d.os_mb, COUNT(1) num_disks
          FROM  v$asm_diskgroup dg, v$asm_disk d
          WHERE dg.group_number = d.group_number
          GROUP BY dg.name, d.total_mb, d.os_mb;
     
    NAME                             TOTAL_MB      OS_MB  NUM_DISKS
    ------------------------------ ---------- ---------- ----------
    DATAC1                             692288     692288        168
    RECOC1                             282672     282672        168
    
    

    問合せの結果は、RECOC1およびDATAC1ディスク・グループとディスクのサイズが変更されたことを示します。

3.2.4 Oracle ASMディスク・グループに含まれるOracle Exadata Storage Serverのグリッド・ディスクの特定

グリッド・ディスク名がOracle ASMディスク名に一致しており、名前にOracle ASMディスク・グループ名が含まれている場合は、グリッド・ディスクが属するOracle ASMディスク・グループを特定できます。Oracle ASMインスタンスでSQLコマンドを使用して、特定のグリッド・ディスク名と部分一致するOracle ASMディスク・グループを検索することもできます。これにより、特定のグリッド・ディスクを含むOracle ASMディスク・グループを特定できます。

例3-7 Oracle ASMディスク・グループのグリッド・ディスクの特定

この例は、DATA0で始まるグリッド・ディスク(例: DATA0_CD_03_CELL04)を含むOracle ASMディスク・グループを見つける方法を示しています。

SQL> SELECT d.label AS asmdisk, dg.name AS diskgroup
     FROM V$ASM_DISK d, V$ASM_DISKGROUP dg 
     WHERE dg.name LIKE 'DATA0%'
           AND d.group_number = dg.group_number;

ASMDISK                DISKGROUP
---------------------- -------------
DATA0_CD_00_CELL04      DATA0
DATA0_CD_01_CELL04      DATA0
DATA0_CD_02_CELL04      DATA0
DATA0_CD_03_CELL04      DATA0

3.2.5 Oracle ASMディスク・グループに属するOracle Exadata Storage Serverのグリッド・ディスクの特定

グリッド・ディスク名にOracle ASMディスク・グループ名が含まれている場合は、Oracle ASMインスタンスでSQLコマンドを使用してOracle ASMディスク・グループ名を表示し、CellCLIユーティリティを使用して特定のグリッド・ディスク名を検索できます。

例3-8 Oracle ASMディスク・グループ名の表示

この例は、SQLコマンドを使用して、Oracle ASMインスタンス上のOracle ASMディスク・グループ名を表示する方法を示しています。

SQL> SELECT name FROM V$ASM_DISKGROUP;

NAME
------------------------------
CONTROL
DATA0
DATA1
DATA2
LOG
STANDBY

例3-9 名前によるグリッド・ディスクの検索

この例は、dcliユーティリティを使用して、セル上の同様のグリッド・ディスク・グループ名を表示する方法を示しています。

$ ./dcli "cellcli -e list griddisk where -c cell04"

data0_CD_01_cell04
data0_CD_02_cell04
data0_CD_03_cell04
...

3.2.6 ディスク交換の処理

ディスクに問題がある場合は、物理ディスクのステータスが変更されます。

物理ディスクが取り外されると、ステータスはnot presentになります。物理ディスクのグリッド・ディスクにアクセスしようとした場合に、I/Oエラーが発生すると、Oracle ASMはグリッド・ディスクをオフラインにすることがあります。物理ディスクが交換されると、Oracle Exadata System Softwareでは、それぞれのOracle ASMディスク・グループで、その物理ディスクのグリッド・ディスクを自動的にオンラインにします。グリッド・ディスクがdisk_repair_time属性で指定した時間よりも長い時間オフラインの場合、Oracle ASMはそのグリッド・ディスクを強制的に削除し、リバランスを開始してデータの冗長性をリストアします。Oracle ASMではリバランス操作を監視し、Oracle Exadata System Softwareでは操作の完了時に電子メール・メッセージを送信します。

次の表は、物理ディスクのステータスと、物理ディスクに問題が発生した場合にOracle ASMがグリッド・ディスクをどのように処理するかをまとめたものです。

表3-1 物理ディスクのステータス

物理ディスクのステータス Oracle Exadata System Softwareの処理

normal

ディスクは正常に動作しています。

処理なし。

not present

ディスクが削除されています。

Oracle Exadata System Softwareはディスクをオフラインにし、disk_repair_timeの上限を超えた場合にDROP ... FORCEコマンドを使用します。リバランス操作が開始されます。

predictive failure

ディスクに問題が発生しており、障害が発生する可能性があります。

Oracle Exadata System Softwareでは、影響を受ける物理ディスク上のグリッド・ディスクをFORCEオプションを使用せずにOracle ASMから削除し、影響を受ける物理ディスク上のデータをリバランス操作で他のディスクにコピーします。

すべてのグリッド・ディスクがそれぞれのOracle ASMディスク・グループから正常に削除されたら、管理者はディスク交換に進むことができます。

critical

ディスクで障害が発生しました。

Oracle Exadata System Softwareでは、影響を受ける物理ディスク上のグリッド・ディスクをDROP ... FORCEコマンドを使用してOracle ASMから削除し、リバランス操作でデータの冗長性をリストアします。

管理者は、ディスク交換にすぐに進むことができます。

このステータスは、リリース11.2.3.1.1以上に対してのみ使用可能です。

poor performance

ディスクのパフォーマンスが低下しています。

Oracle Exadata System Softwareでは、影響を受ける物理ディスク上のグリッド・ディスクをFORCEオプションを使用してOracle ASMから削除しようとします。

DROP ... FORCEコマンドが成功すると、リバランス操作によりデータの冗長性のリストが開始され、管理者はすぐにディスク交換に進むことができます。

オフライン・パートナによりDROP ... FORCEコマンドが失敗すると、Oracle Exadata System Softwareでは、影響を受ける物理ディスク上のグリッド・ディスクをFORCEオプションを使用せずにOracle ASMから削除し、影響を受ける物理ディスク上のデータをリバランス操作で他のディスクにコピーします。

すべてのグリッド・ディスクがそれぞれのOracle ASMディスク・グループから正常に削除されたら、管理者はディスク交換に進むことができます。

物理ディスクが交換された後、Oracle Exadata System Softwareでは、交換用ディスク上にグリッド・ディスクを自動的に作成し、それぞれのOracle ASMディスク・グループに追加します。Oracle ASMのリバランス操作により、新しく追加されたグリッド・ディスクにデータが移動されます。Oracle ASMではリバランス操作を監視し、Oracle Exadata System Softwareでは操作の完了時に電子メール・メッセージを送信します。