给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. C# GDI+编程之剖析startAngle和sweepAngle

    以DrawArc为例,它有一种形式如下的构造函数 public void DrawArc(Pen pen, Rectangle rect, float startAngle, float sweepA ...

  2. nginx作为web服务以及nginx.conf详解

    Nginx系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1.nginx简介 nginx是一个优秀的web服务程序.反向代理程序.它采用非 ...

  3. 互联网推送服务原理:长连接+心跳机制(MQTT协议)

    互联网推送消息的方式很常见,特别是移动互联网上,手机每天都能收到好多推送消息,经过研究发现,这些推送服务的原理都是维护一个长连接(要不不可能达到实时效果),但普通的socket连接对服务器的消耗太大了 ...

  4. jquery中innerwidth,outerwidth,outerwidth和width的区别

    在jQuery中,width()方法用于获得元素宽度: innerWidth()方法用于获得包括内边界(padding)的元素宽度, outerWidth()方法用于获得包括内边界(padding)和 ...

  5. mysql查询语句,通过limit来限制查询的行数。

    mysql查询语句,通过limit来限制查询的行数. 例如: select name from usertb where age > 20 limit 0, 1; //限制从第一条开始,显示1条 ...

  6. C#实现接口IHttpModule完成统一的权限验证

    测试代码如下: using System; using System.Collections.Generic; using System.Text; using System.Collections; ...

  7. java_二进制的前导的零

    题目内容: 计算机内部用二进制来表达所有的值.一个十进制的数字,比如18,在一个32位的计算机内部被表达为00000000000000000000000000011000.可以看到,从左边数过来,在第 ...

  8. Placement of class definition and prototype

    When I create a function, I can put the code for it after main if I put the prototype above main. Fo ...

  9. Android ContentProvider数据共享

    一.构造一个自己的Provider实现App之间数据共享 1.我们先来了解一下   Uri(统一资源定位符) 定义:每一个Content Provider使用一个公开的URI唯一标示其数据集,Andr ...

  10. 通过jQuery制作电子时钟表的代码

    源码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <titl ...