一次ASM磁盤空間假裝耗盡 ORA-15041: DISKGROUP SPACE EXHAUSTED


給ASM磁盤新增一塊盤進去,ASM_DISK2剩余空間四百多G:
SQL> select * from v$asm_diskgroup;
 
GROUP_NUMBER NAME                                                         SECTOR_SIZE BLOCK_SIZE ALLOCATION_UNIT_SIZE STATE                  TYPE           TOTAL_MB  FREE_MB REQUIRED_MIRROR_FREE_MB
------------ ------------------------------------------------------------ ----------- ---------- -------------------- ---------------------- ------------ ---------- ---------- -----------------------
USABLE_FILE_MB OFFLINE_DISKS UN COMPATIBILITY
-------------- ------------- -- ------------------------------------------------------------------------------------------------------------------------
DATABASE_COMPATIBILITY
------------------------------------------------------------------------------------------------------------------------
           1 ASM_DISK1                                                            512       4096              1048576 MOUNTED                NORMAL           408613    44641                0
         22320             0 N  10.1.0.0.0
10.1.0.0.0
 
           2 ASM_DISK2                                                            512       4096              1048576 MOUNTED                EXTERN          2890752   421045                0
        421045             0 N  10.1.0.0.0
10.1.0.0.0
 
SQL> 
但是發現在建表空間的時候提示空間不夠:
create tablespace HIS_DATA
*
ERROR at line 1:
ORA-01119: error in creating database file
'+ASM_DISK2/orcl/datafile/hisdata017.dbf'
ORA-17502: ksfdcre:4 Failed to create file
+ASM_DISK2/orcl/datafile/hisdata017.dbf
ORA-15041: diskgroup space exhausted
 
這種是典型的ASM磁盤空間假耗盡
 
檢查該ASM卷組中每個盤的大小:
SQL> select path,total_mb,free_mb from v$asm_disk_stat;
 
PATH                                                 TOTAL_MB    FREE_MB
-------------------------------------------------- ---------- ----------
/dev/raw/raw5                                             196          0
/dev/raw/raw4                                             196          0
/dev/raw/raw3                                             196          0
/dev/raw/raw2                                             196          0
/dev/raw/raw1                                             196          0
ORCL:VOL1                                              203322      21336
ORCL:VOL2                                              205291      23305
ORCL:VOL3                                             1228800        555
ORCL:VOL4                                             1228800        553
ORCL:VOL5                                              433152     419937
 
10 rows selected.
 
其中3,4,5屬於ASM_DISK2 ,可以發現 3 ,4 的空間不夠,所以新建數據文件的時候提示空間不夠,ASM默認會自動對每個卷組中的盤進行reblance ,使數據平均分布
這時候需要檢查參數 ASM_POWER_LIMIT 
 
NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
asm_power_limit                      integer
1
SQL> 
 
檢查發現該參數為1,繼續檢查ASM后台是否在做reblance的操作:
 
SQL> select * from v$asm_operation;
 
no rows selected
 
SQL> 
發現並沒有在進行reblance,所以導致該ASM卷組空間假裝耗盡,調整power值:
 
SQL> alter diskgroup ASM_DISK2 rebalance power 5;
 
Diskgroup altered.
 
SQL> 
調整之后檢查發現,還是沒有反映:
SQL> select * from v$asm_operation;
 
no rows selected
 
SQL> 
繼續調整,使用最大值進行:
alter diskgroup ASM_DISK2 rebalance power 11 wait;
此時發現ASM已經在進程reblance操作:
SQL> select * from v$asm_operation;
 
GROUP_NUMBER OPERATION  STATE         POWER     ACTUAL      SOFAR   EST_WORK
------------ ---------- -------- ---------- ---------- ---------- ----------
  EST_RATE EST_MINUTES
---------- -----------
           2 REBAL      RUN              11         11      20350     350483
      2677         123
 
SQL> 
再檢查每個盤的空間情況,可以發現已經在進程reblance操作:
SQL> select path,total_mb,free_mb from v$asm_disk_stat;
 
PATH                                                 TOTAL_MB    FREE_MB
-------------------------------------------------- ---------- ----------
/dev/raw/raw5                                             196          0
/dev/raw/raw4                                             196          0
/dev/raw/raw3                                             196          0
/dev/raw/raw2                                             196          0
/dev/raw/raw1                                             196          0
ORCL:VOL1                                              203322      21336
ORCL:VOL2                                              205291      23305
ORCL:VOL3                                             1228800      13903
ORCL:VOL4                                             1228800      13905
ORCL:VOL5                                              433152     393237
 
10 rows selected.
 
SQL> 
至此,后續的新建數據文件操作一切正常。
 
asm_power_limit參數詳解以及ASM其他參數詳解 請查看:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM