咨询微信: dbservice1234 7 x 24 在线支持!

    你在这里

トラブルシューティング - ASM ディスクが発見/表示/検出されない問題

トラブルシューティング - ASM ディスクが発見/表示/検出されない問題

ORACLEデータベース によくあるエラ の解決策

プロのOracle Databaseの復旧サービスを提供
携帯番号: +86 13764045638 メール:service@parnassusdata.com

目的

このドキュメントはASMディスクが発見/表示/検出されない場合のトラブルシューティングに役立ちます。

通常、これは問題のあるディスクがV$ASM_DISKビューで表示されないことを意味します。

ディスクが存在していない/検出されないことを示す一般的なエラーは次の通りです。

ORA-15063: ディスク・グループ"string"に対するディスク数が不十分であることが、ASMにより検出されました 
ORA-15040: ディスク・グループが不完全です 
ORA-15042:ASMディスク"string"はグループ番号"string"にありません

トラブルシューティングの手順

ディスクは突然、既存のディスク·グループからなくなった場合... 

なくなったディスクを確認します。

非RAC環境、またはRAC環境のすべてのノードでこれらのエラーが表示される場合

    a) ASMアラートログを見つけて開きます (RAC環境にて複数のロが必要となる場合があります) 。
    b) ディスク·グループが最後に正常にマウントできた箇所を見つけます(ディスク一覧は表示されます) 。
    c) 最後の正常マウント以降に、ALTER DISKGROUP...ADD DISKの実行に成功した箇所を見つけます。
    d) 上記の b) と c) で確認できるディスクのリストを結合します。
    e) 結合したリストとV$ASM_DISKに表示されるリストを比較し、なくなったディスク(複数可能)を確定します。

RAC環境で1つ以上のノードでディスク·グループをマウントできる場合

    マウントできるノードとマウントできないノードのV$ASM_DISKのエントリを比較することで、なくなったディスク(複数可能)を特定できます。

以下はディスクが検出されない場合の問題解決に役立つ一連の手順です。

1) ASM_DISKSTRINGが正しく設定されていません

    パラメータ·ファイル、またはSHOW PARAMETERで、 ASM_DISKSTRINGの設定を確認します。
    ASM_DISKSTRING が 設定されていない場合は、次のデフォルト値は使用されます。

各OSにおけるASM_DISKSTRINGのデフォルト値

    OS                                    デフォルトの検出文字列
    =======================================
    Solaris (32/64 bit)                    /dev/rdsk/*
    Windows NT/XP                          \\.\orcldisk
    Linux (32/64 bit)                      /dev/raw/* 

    LINUX (ASMLIB)                         ORCL:*
    LINUX (ASMLIB)                        /dev/oracleasm/disks/* (予備手段)

    HPUX                                  /dev/rdsk/* 
    HP-UX(Tru 64)                         /dev/rdisk/*
    AIX                                   /dev/rhdisk*

   ASM_DISKSTRING設定されている場合、設定されているASM_DISKSTRINGに、ASMから検出する必要のあるディスクが含まれていることを確認してください。

2) オペレーティングシステムドライブの所有権

     ディスクがASMのOracleホームをインストールしたOSユーザーより所有され、かつ、適切なオーナーで正常にマウントされていることを確認してください。

3) オペレーティングシステムドライブのパーミッション

   ディスクレベルでのパーミッションが正しく設定されていることを確認してください。通常では、660となりますが、問題がある場合は、検証のために777を使用してください。

4) RACが使用されています

     RACが使用されている場合、ディスク·グループにディスクを追加する前に、ASMが動作しているまた動作予定のある全ノード上で、ディスクがすべて検出できる必要があります。

5) OSのユーティリティを使用して検出できないディスクを特定します

select * from v$asm_disk を実行していると同時に、RBALプロセスにTRUSS、またはSTRACEを実行することで、コマンドの実行結果にエラーがよく出力されます。

例: 
=========
セッション #1

strace -f -o /tmp/rbal.trc -p <OS pid of RBAL process>
  <また>
truss -ef -o /tmp/rbal.out -p <OS pid for RBAL process> 

セッション #2

select * from v$asm_disk

セッション #3

<CTRL-C>

rbal.outにエラーがあるかを確認します:

1147090: 1871929: chdir("dev/") = 0
1147090: 1871929: statx("rhdisk8, ", 0x0FFFFFFFFFFFAA80, 176, 010) Err#2 ENOENT

<< これは rhdisk8 が検出されないことを意味します >>

注意:ディスクの追加または削除の最中にクラッシュが発生した場合、問題のあるディスク(複数可能)がディスク·グループの一部として存在している可能性があります。そのため、上記のすべての手順を考慮に入れる必要があります。

OS固有問題

1) HP

HP(RISCまたはItanium)上でこの問題が発生し、上記のすべての方法が有効ではなく、かつ、お客様がHPロジカルボリュームマネージャ(LVM)を使用している場合

  Note.433770.1 Cannot Discover Disks in ASM After Upgrade on 10.2.0.3 on HP-UX  Itanium
  Note.434500.1  When Starting A Database With The 10.2.0.3 Executables, Error "ORA-15059 invalid device type for ASM disk"

2) IBM AIX

  Note.353761.1 Assigning a Physical Volume ID (PVID) To An Existing ASM Disk Corrupts the ASM Disk Header

 NOTE:1174604.1 - ASM Is Not Detecting EMC PowerPath Raw Devices Or Regular Raw Devices On AIX

3) SOLARIS 

  Note.368840.1 ASM does not discover disk on Solaris platform

4) LINUX 

  Note.457369.1 RASM is Unable to Detect ASMLIB Disks/Devices.