プライマリ・コンテンツに移動
Oracle® Exadata Storage Server Softwareユーザーズ・ガイド
12cリリース2 (12.2)
E84909-03
目次へ移動
目次

前
次

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グリッドの内容は次のとおりです。

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

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

関連項目:

  • Oracle Exadata Database Machineメンテナンス・ガイド

  • Oracle Database 2日でデータベース管理者

  • Oracle Database管理者ガイド

  • Oracle Databaseパフォーマンス・チューニング・ガイド

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

この項では、Oracle Exadata Storage Serverを使用するために必要となる基本的なOracle ASMタスクについて説明します。この項では、次の項目について説明します。

関連項目:

  • 次の詳細は、『Oracle Automatic Storage Managementストレージ管理者ガイド』 を参照してください。

    - Oracle ASMの機能および動作

    - Oracle ASMインスタンスの起動および接続

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

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

この項では、Oracle ASMディスク・グループについて説明し、CREATE DISKGROUP SQLコマンドを使用してOracle Exadata Storage Server SoftwareのOracle ASMディスク・グループを作成する方法を紹介します。Oracle ASMディスク・グループを作成する前に、Oracle ASMディスク・グループに追加するグリッド・ディスクを決定します。Oracle ASMディスク・グループおよびそのグリッド・ディスクの名前は、可能であれば同様の名前を選択することをお薦めします。

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

o/cell_IPaddress/griddisk_name

この構文において、cell_IPaddressはOracle 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コンテンツ・タイプの設定

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

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

注意:

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

  • スパース・グリッド・ディスクを使用する場合は、データベースおよびグリッド・インフラストラクチャはリリース12.1.0.2.0 BP5以上である必要があります。

次の例では、ディスク・グループの作成中にコンテンツ・タイプを追加します。リリース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';

既存のディスク・グループにcontent.type属性を設定するには、ALTER DISKGROUPコマンドを使用して、ディスク・グループをリバランスします。次は、コマンドの例です。

ALTER DISKGROUP reco SET ATTRIBUTE 'content.type'='recovery';
ALTER DISKGROUP reco REBALANCE POWER preferred_power_setting ; 

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

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.1.2 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コマンドが必要です。リリース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';
    
    

    次の例は、CREATE DISKGROUPコマンドを使用してディスク・グループを作成する例を示しています。ディスク・グループの名前は、太字で示されています。リリース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';
    
    

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

    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初期化パラメータよりも優先されます。

    • スパース・グリッド・ディスクを使用する場合は、データベースおよびグリッド・インフラストラクチャはリリース12.1.0.2.0 BP5以上である必要があります。

  6. V$ASM動的ビューでSQL問合せを実行して、Oracle 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 Storage Server Software機能を利用できるように、ディスク・グループに表領域を作成します。この表領域には、オフロード処理で問合せを実行する表を含める必要があります。この構文の例を次に示します。
    SQL> CREATE TABLESPACE tablespace_name DATAFILE '+DATA';
    

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

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

関連項目:

  • 次の詳細は、『Oracle Automatic Storage Managementストレージ管理者ガイド』 を参照してください。

    - Oracle ASMの機能および動作

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

  • CREATE DISKGROUPALTER DISKGROUPCREATE TABLESPACEなどのSQLディスク・グループ・コマンドの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

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

Oracle ASMディスク・グループにディスクを追加するには、次の手順を実行します。

  1. Oracle ASMインスタンスでV$ASM_DISKビュー問合せを実行し、使用可能なディスクを特定します。ヘッダーのステータスがCANDIDATEに設定されている場合、ディスクはディスク・グループの候補になっています。

    Oracle Exadata Storage Server ASMディスク・グループ以外にOracle Exadata Storage Serverのグリッド・ディスクを追加するのは、そのディスク・グループをOracle Exadata Storage Serverディスク・グループに移行する予定がある場合のみにしてください。

  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 Storage Server Softwareでは操作の完了時に電子メール・メッセージを送信します。リバランス操作のステータスを確認するには、V$ASM_OPERATIONビューに問い合せます。

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

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

ディスク・グループをマウントするにはMOUNTオプションを指定し、ディスマウントするにはDISMOUNTオプションを指定して、SQL ALTER DISKGROUPコマンドを使用します。

MOUNT句を指定したALTER DISKGROUPコマンドでFORCEオプションを使用すると、ディスク・グループのコンポーネントが使用できない状態で十分な冗長性が確保できない場合でも、ディスク・グループをマウントできます。

関連項目:

ディスク・グループのマウント方法の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

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

Oracle ASMディスクのINACTIVEACTIVEを切り替えるには、次の手順を実行します。

  1. Oracle ASMインスタンスでV$ASM_DISKビュー問合せおよびV$ASM_DISKGROUPビュー問合せを実行し、Oracle ASMディスク・グループでオフラインとオンラインを切り替えるディスクを特定します。
  2. 次のコマンドのいずれかを使用します。
    • ディスクを非アクティブにするには、次のコマンドを使用します。

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

      CellCLI> ALTER GRIDDISK gdisk_name ACTIVE
      

    ディスクがオンラインになると、ディスク・グループがリバランスされます。Oracle ASMではリバランス操作を監視し、Oracle Exadata Storage Server Softwareでは操作の完了時に電子メール・メッセージを送信します。リバランス操作のステータスを確認するには、V$ASM_OPERATIONビューに問い合せます。

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

ディスク・グループからディスクを削除するには、次の手順を実行します。

  1. Oracle ASMインスタンスでV$ASM_DISKビュー問合せおよびV$ASM_DISKGROUPビュー問合せを実行し、Oracle ASMディスク・グループから削除するディスクを特定します。

    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;
    

    Oracle ASMディスク・グループからディスクが削除されると、Oracle ASMによってディスク・グループがリバランスされます。Oracle ASMではリバランス操作を監視し、Oracle Exadata Storage Server Softwareでは操作の完了時に電子メール・メッセージを送信します。リバランス操作のステータスを確認するには、V$ASM_OPERATIONビューに問い合せます。

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

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

Oracle ASMディスク・グループを削除するには、次の手順を実行します。

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

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

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

Oracle ASMのappliance.mode属性は、1つ以上のOracle ASMディスクを削除する際のディスク・リバランスの完了時間を短縮します。これは、障害後に冗長性がより高速にリストアされることを意味します。

属性は、次の要件を満たすディスク・グループのみで有効にできます。

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

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

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

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

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

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

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

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

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

属性は、新しいディスク・グループの作成時に自動的に有効になります。既存のディスク・グループでは、ALTER DISKGROUPコマンドを使用して明示的に属性を設定する必要があります。このコマンドの例を次に示します。

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

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

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';

注意:

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

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

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

セル・ディスクに属するグリッド・ディスクを容易に判別できるように、グリッド・ディスクの名前にはセル・ディスク名を含めるようにしてください。また、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のグリッド・ディスク名の変更

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

注意:

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

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

この例は、グリッド・ディスクの名前を変更する方法を示しています。

CellCLI> ALTER GRIDDISK data011 name='data0_CD_03_cell04'

3.2.2.2 Oracle Exadata Storage Serverのグリッド・ディスクの削除

Oracle Exadata Storage Serverのグリッド・ディスクを削除するには、CellCLIのDROP 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-2 グリッド・ディスクの削除

この例は、指定したグリッド・ディスクまたは複数のグリッド・ディスクを削除する方法を示しています。

CellCLI> ALTER GRIDDISK data0_CD_03_cell04 INACTIVE
CellCLI> DROP GRIDDISK data0_CD_03_cell04

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

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 Storage Server Softwareリリース12.1.2.1.0以上を使用するか、パッチ19695225がソフトウェアに適用されている必要があります。

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

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

3.2.3.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 (EF)システムでは、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グリッド・ディスクおよび各グリッド・ディスクから縮小する領域の量を計算します。

    手順1の出力例では、RECOC1には十分な空き領域がありますが、DATAC1の空き領域は15%未満です。よって、RECOC1を縮小し、解放されたディスク領域をDATAC1に付与します。RECOC1のサイズを現在の半分に減らす場合、新しいサイズは94980480 / 2 = 47490240MBになります。

    手順2の問合せでは、14個のセルとセルごとに12個のディスクがあるため、RECOC1には168個のグリッド・ディスクがあります(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プロンプトから何も返されません。

    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-3「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-4 Oracle ASMディスク・グループ名の表示

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

SQL> SELECT name FROM V$ASM_DISKGROUP;

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

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

この例は、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 Storage Server Softwareでは、それぞれのOracle ASMディスク・グループで、その物理ディスクのグリッド・ディスクを自動的にオンラインにします。グリッド・ディスクがdisk_repair_time属性で指定した時間よりも長い時間オフラインの場合、Oracle ASMはそのグリッド・ディスクを強制的に削除し、リバランスを開始してデータの冗長性をリストアします。Oracle ASMではリバランス操作を監視し、Oracle Exadata Storage Server Softwareでは操作の完了時に電子メール・メッセージを送信します。

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

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

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

normal

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

処理なし。

not present

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

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

predictive failure

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

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

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

critical

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

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

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

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

poor performance

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

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

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

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

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

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

関連項目

  • Oracle Exadata Database Machineメンテナンス・ガイド