客戶作業系統版本為AIX 6105,Oracle crs版本為10.2.0.5,rdbms和asm版本為10.2.0.1。
    當用dbca工具建立磁碟組時,檢索不出備選磁碟。在確定rdisk許可權等沒問題之後,在啟動ASM例項之後,嘗試在1號節點手動建立磁碟組,不料建磁碟組時出現以下錯誤。

引用


$ sqlplus "/as sysdba"

    SQL*Plus: Release 10.2.0.1.0 – Production on Thu Mar 31 13:44:37 2011

    Copyright (c) 1982, 2005, Oracle.  All rights reserved.

    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – 64bit Production
    With the Partitioning, Real Application Clusters, OLAP and Data Mining options

    SQL> create diskgroup data1 external redundancy disk '/dev/rhdisk7' size 2047G;
    create diskgroup data1 external redundancy disk '/dev/rhdisk7' size 2047G
    *
    ERROR at line 1:
    ORA-15018: diskgroup cannot be created
    IBM AIX RISC System/6000 Error: 6:  No such device or address
    Additional information: -1
    Additional information: 655360
    IBM AIX RISC System/6000 Error: 6: No such device or address
    Additional information: -1
    Additional information: 655360
    IBM AIX RISC System/6000 Error: 6: No such device or address
    Additional information: -1
    Additional information: 655360
    IBM AIX RISC System/6000 Error: 6: No such device or address
    Additional information: -1
    Additional information: 655360
    IBM AIX RISC System/6000 Error: 6: No such device or address
    Additional information: -1
    Additional information: 655360
    IBM AIX RISC System/6000 Error: 6: No such device or address
    Additional information: -1
    Additional information: 655360
    IBM AIX RISC System/6000 Error: 6: No such device or address
    Additional information: -1
    Additional information: 655360
    IBM AIX RISC System/6000 Error: 6: No such device or address
    Additional information: -1
    Additional information: 655360
    IBM AIX RISC System/6000 Error:


    紅色標註可以看到,Oracle識別不了磁碟rhdisk7,但實際上rhdisk7確實存在。由於時間緊張,上google搜尋,在一份otn的帖子中,一老外同行也碰到過類似問題,後來在解決問題描述時指出:

引用


Hi All,
    I have resolved the issue now.
    Since we are using SAN disks with raid 5. The disks size visible to ASm was not correct one.
    So what i did is that I added SIZE clause during asm diskgroup creation.
    create diskgroup oradata external redundany disk '/dev/rhdisk4' size 1000G;
    by issuing this statement now I can create diskgroups.
    Remember max size of a SAN disk for ASM is 2TB. We can't go beyond 2TB


    詢問客戶之後,發現本案例中也是raid5 而且rdisk也超過了2T,於是按照網友指出的方法進行創磁碟組嘗試。幸好建立成功!

引用


SQL> create diskgroup data external redundancy disk '/dev/rhdisk7' size 1990G;

    Diskgroup created.


    建立成功之後,碰到了ASM重啟之後,識別不了磁碟組錯誤:

引用


SQL> startup
    ASM instance started

    Total System Global Area  130023424 bytes
    Fixed Size                  2019136 bytes
    Variable Size             102838464 bytes
    ASM Cache                  25165824 bytes
    ORA-15110: no diskgroups mounted


    或者

引用


SQL> startup
    ASM instance started

    Total System Global Area  130023424 bytes
    Fixed Size                  2019136 bytes
    Variable Size             102838464 bytes
    ASM Cache                  25165824 bytes
    ORA-15032: not all alterations performed
    ORA-15063: ASM discovered an insufficient number of disks for diskgroup
    "DATA,DATA1"


    解決辦法為:
    在asm引數檔案中顯示指明該asm需要mount的磁碟組

引用


asm_diskgroups='DATA','ARCH'
    ASM_DISKSTRING ='/dev/rhdisk7','/dev/rhdisk8'


    為什麼ASM不能建立超過2T的硬碟呢?上metalink一查,Oracle針對這一現象,解釋為bug:Bug 6453944 – ORA-15196 with ASM disks larger than 2TB [ID 6453944.8]

引用


ORA-15196 (ASM block corruption) can occur, if LUNs larger than 2TB are
    presented to an ASM diskgroup.

    As a result of the fix, ORA-15099 will be raised if larger than 2TB size
    disk is specified. This is irrespective of the presence of asmlib.

    In the future, this limitation will be removed.

    Workaround:
      Do not add more than 2 TB size disk to a diskgroup.


    此外metalink 736891.1對此bug引起的後果有較為詳細的描述,其中最直接的後果就是損壞ASM後設資料(metadata):

引用


There are no clear indications of what can go wrong with ASM LUNs larger than 2TB – but one example is wrapping: when Oracle gets to the end of 2TB, it may wrap back to the start of the LUN and  overwrite the ASM metadata


,並導致如下錯誤發生:

引用


ORA-15196 : invalid ASM block header [kfc.c:7997] [hard_kfbh] [4] [4] [34 != 130]


    當然這一bug已經在以下版本修復:

引用


    11.2
        10.2.0.4 (Server Patch Set)
        11.1.0.7 (Server Patch Set)


    那麼除此之外,ASM還有什麼限制呢?(metalink:ID 370921.1).我想除了2TB限制,其他限制達到的可能性還是比較低的。
    

引用


63 disk groups in a storage system
    10,000 ASM disks in a storage system
     2 terabyte maximum storage for each ASM disk (the Bug 6453944 allowed larger sizes, but that led to problems, see Note 736891.1 "ORA-15196 WITH ASM DISKS LARGER THAN 2TB")
    40 exabyte maximum storage for each storage system
    1 million files for each disk group
    2.4 terabyte maximum storage for each file