给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其他参数详解 请查看:

一次ASM磁盘空间假装耗尽 ORA-15041: DISKGROUP SPACE EXHAUSTED的更多相关文章

  1. 【翻译自mos文章】回收 asm磁盘空间的方法

    回收 asm磁盘空间的方法 參考原文: How To Reclaim Asm Disk Space? (Doc ID 351866.1) 适用于: Oracle Database - Enterpri ...

  2. ASM磁盘组空间不足--ORA-15041:DISGROUP DATA space exhausted (生产库案例)

    原创作品,出自 "深蓝的blog" 博客,深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/47277715 近日 ...

  3. Android Studio模拟器磁盘空间不足(Not enough disk space to run AVD)

    在Android Studio中运行模拟器时,提示Error: Not enough disk space to run AVD '....'. Exiting.是说安装模拟的磁盘空间不足,导致无法运 ...

  4. Linux磁盘空间不足处理方法

    维护Linux服务器正常使用需要经常删除Linux系统运行产生的系统日志和业务环境产生的debug日志文件.安装包等.本文主要描述如何通过脚本实现清理业务环境产生的 debug日志文件和上传或备份的打 ...

  5. Linux磁盘空间被未知资源耗尽【转】

    Linux磁盘空间被未知资源耗尽 在linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间, ...

  6. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.5.安装Grid,创建ASM磁盘组空间不足

    因之前分区时,分区的Last cylinder的值选了“1”,导致创建磁盘组空间不足.解决办法是先删除分区,重新创建分区并删除ASM磁盘,然后重建ASM磁盘 1. 先删除分区,重新创建分区: 1)查询 ...

  7. Linux学习之CentOS(十七)-----释放 Linux 系统预留的硬盘空间 与Linux磁盘空间被未知资源耗尽 (转)

    释放 Linux 系统预留的硬盘空间  大多数文件系统都会保留一部分空间留作紧急情况时用(比如硬盘空间满了),这样能保证有些关键应用(比如数据库)在硬盘满的时候有点余地,不致于马上就 crash,给监 ...

  8. Linux磁盘空间被未知资源耗尽

      在linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间,最后造成磁盘空间占用100%, ...

  9. Linux磁盘空间查看、磁盘被未知资源耗尽

    Linux系统中,当我们使用rm在Linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄, 那么Linux内核还是不会释放这个文件的磁盘空间,最后造成磁盘空间占用100%, ...

随机推荐

  1. 分布式版本控制系统GIT的使用

    一.什么是Git Git是一个分布式版本控制系统,Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异(如CVS.Subver ...

  2. MVC中 jquery.validate取消忽略对hidden的验证

    <script type="text/javascript"> $.validator.setDefaults({ //取消 忽略对hidden的验证 ignore: ...

  3. spring boot 随手记

    1.当加入security 起步依赖后,如果不做任何手动配置的话,默认会跳转到一个登录页面,不管你喜不喜欢,所有的请求都必须登录,用户名和密码是保存在内存中的, 默认用户名是user  密码在控制台里 ...

  4. 进程&线程&协程

    进程  一.基本概念 进程是系统资源分配的最小单位, 程序隔离的边界系统由一个个进程(程序)组成.一般情况下,包括文本区域(text region).数据区域(data region)和堆栈(stac ...

  5. ionic3 细节注意

    一.图标和splash大小不一样 icon图标的大小尽量为1024*1024,并且不能为圆角. splash图片的大小尽量为2732*2732,ionic1的大小为2208*2208

  6. 用PHP去掉文件头的Unicode签名(BOM)

    <?php //此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除 //By Bob Shen $basedir="."; //修改此行为需要检测的目录,点表 ...

  7. [VUE ERROR] Invalid prop: type check failed for prop "list". Expected Array, got Undefined

    错误原因: 子组件 props -> list 要求接收的数据类型是 Array, 然而实际接收到的是 Undefined. 子组件代码: props: { list: { type: Arra ...

  8. Mobile first! Wijmo 5 + Ionic Framework之:费用跟踪 App

    费用跟踪应用采用了Wijmo5和Ionic Framework创建,目的是构建一个hybird app. 我们基于<Mobile first! Wijmo 5 + Ionic Framework ...

  9. ​《数据库系统概念》1-数据抽象、模型及SQL

    ​DBMS(database-management system)包括数据库和用于存取数据的程序,DBMS的基本目标是为数据的存取提供方便.高效的方式,此外对大多数企业来说,数据是非常重要的,所以DB ...

  10. (后端)NoSuchMethodError

    这个错误是说编译时有这个方法,但运行时没有了 请使用:mvn clean install