ORA-15041: diskgroup "DATAVG" space exhausted ASM空间假装耗尽不足,resize数据文件和增加数据文件失败

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Martin201609/article/details/52796964

ORA-15041: diskgroup “DATAVG” space exhausted ASM空间假装耗尽不足,resize数据文件和增加数据文件失败

查看asm磁盘组的使用

su - grid
asmcmd
lsdg
ASMCMD> lsdg
State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  NORMAL  N         512   4096  1048576   2048000   108468           409600         -150566              0             N  DATAVG/
MOUNTED  EXTERN  N         512   4096  1048576    204800   200536                0          200536              0             N  RECVG/
MOUNTED  NORMAL  N         512   4096  1048576     12288    11362             4096            3633              0             Y  SYSVG/

Free_MB的大小还剩余100GB,但是resize数据文件的时候,提示磁盘组空间不足了

增加数据文件报错:

SQL> ALTER DATABASE DATAFILE '+DATAVG/xxxx/datafile/xxxdata22.dbf' RESIZE 25000M;

Database altered.

SQL> ALTER DATABASE DATAFILE '+DATAVG/xxxx/datafile/xxxdata22.dbf' RESIZE 30000M;
ALTER DATABASE DATAFILE '+DATAVG/xxxx/datafile/xxxdata22.dbf' RESIZE 30000M
*
ERROR at line 1:
ORA-01237: cannot extend datafile 33
ORA-01110: data file 33: '+DATAVG/xxxx/datafile/xxxdata22.dbf'
ORA-17505: ksfdrsz:1 Failed to resize file to size 3840000 blocks
ORA-15041: diskgroup "DATAVG" space exhausted

检查该ASM卷组中每个盘的大小:

select path,total_mb,free_mb from v$asm_disk_stat t where t.group_nubmer = 1;
    PATH    TOTAL_MB    FREE_MB
12  /dev/rhdisk9    204800  1169
13  /dev/rhdisk16   204800  1174
4   /dev/rhdisk14   204800  2787
14  /dev/rhdisk17   204800  2792
8   /dev/rhdisk4    4096    3786
6   /dev/rhdisk2    4096    3788
9   /dev/rhdisk5    4096    3788
10  /dev/rhdisk6    204800  15682
5   /dev/rhdisk15   204800  15691
3   /dev/rhdisk13   204800  17280
7   /dev/rhdisk3    204800  17288
1   /dev/rhdisk10   204800  17298
2   /dev/rhdisk12   204800  17305
11  /dev/rhdisk8    204800  172622

发现并没有在进行reblance,所以导致该ASM卷组空间假装耗尽,可以看到一些disk的并没有rebalance正常。

查看rebalance参数

sqlplus / as sysasm
show parameter limit
SQL> show parameter limit
NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
asm_power_limit                      integer                6

grid用户下键入命令,将磁盘组DATAVG进行重新rebalance处理

alter diskgroup DATAVG rebalance power 11;

select * from v$asm_operation 
GROUP_NUMBER OPERATION  STATE         POWER     ACTUAL      SOFAR   EST_WORK   EST_RATE EST_MINUTES ERROR_CODE
------------ ---------- -------- ---------- ---------- ---------- ---------- ---------- ----------- ----------------------------------------------------------------------------------------
           1 REBAL      RUN              11         11       3656     112360       4236          25

select path,total_mb,free_mb from v$asm_disk_stat;

当v$asm_operation完成之后,则重新查看磁盘组使用情况,并再次resize数据文件,则成功

    PATH    TOTAL_MB    FREE_MB
8   /dev/rhdisk4    4096    3786
6   /dev/rhdisk2    4096    3788
9   /dev/rhdisk5    4096    3788
13  /dev/rhdisk16   204800  10841
12  /dev/rhdisk9    204800  10843
1   /dev/rhdisk10   204800  10845
3   /dev/rhdisk13   204800  10845
2   /dev/rhdisk12   204800  10847
4   /dev/rhdisk14   204800  10847
14  /dev/rhdisk17   204800  10848
10  /dev/rhdisk6    204800  10849
5   /dev/rhdisk15   204800  10850
7   /dev/rhdisk3    204800  10853
11  /dev/rhdisk8    204800  200536

猜你喜欢

转载自blog.csdn.net/Martin201609/article/details/52796964