Applies to:

Oracle Server - Enterprise Edition - Version: 10.1.0.2 to 10.2.0.1 - Release: 10.1 to 10.2
Information in this document applies to any platform.

Symptoms

When trying to add datafile to an existing DiskGroups will fail as below even if there sufficient available free space. 
in the diskgroup. 

SQL> alter tablespace testtbs add datafile '+TESTDG1' size 100M; 
alter tablespace testtbs add datafile '+TESTDG1' size 100M 

ERROR at line 1: 
ORA-1119: error in creating database file '+TESTDG1' 
ORA-17502: ksfdcre:4 Failed to create file +TESTDG1 
ORA-15041: diskgroup space exhausted

Cause

The problem occurs when there is a lot of free space in the disk group, but a file cannot be allocated because the free space is not evenly distributed.

Solution

1. Rebalance the diskgroup manually

OR

2. Use similarly size disks.

Testcase 
----------- 
1. create tablespace testtbs at DB instance (1) 

SQL> create tablespace testtbs datafile '+TESTDG1' size 500M; <== 

2. check views at ASM instance 

SQL> select path, free_mb,total_mb,state from v$asm_disk;

PATH                                        FREE_MB   TOTAL_MB  STATE 
--------------------------------- -----------   --------------  -------- 
/dev/vgs11/rrac1012s_disk01                  24                  300  NORMAL 
/dev/vgs11/rrac1012s_disk02                222                  500  NORMAL

SQL> select name,free_mb,total_mb,state from v$asm_diskgroup;

NAME      FREE_MB  TOTAL_MB  STATE 
----------- -----------   -------------  ----------- 
TESTDG1            246                800  MOUNTED

3. add datafile at DB instance (2) ==> ORA-15041 

SQL> alter tablespace testtbs add datafile '+TESTDG1' size 100M; 
alter tablespace testtbs add datafile '+TESTDG1' size 100M 

ERROR at line 1: 
ORA-1119: error in creating database file '+TESTDG1' 
ORA-17502: ksfdcre:4 Failed to create file +TESTDG1 
ORA-15041: diskgroup space exhausted 

4. execute rebalance at ASM instance 

SQL> alter diskgroup testdg1 rebalance; 

5. check views at ASM instance 

SQL> select path, free_mb,total_mb,state from v$asm_disk;

PATH                                        FREE_MB TOTAL_MB STATE
--------------------------------- ----------- -------------- --------
/dev/vgs11/rrac1012s_disk01                  85                300 NORMAL 
/dev/vgs11/rrac1012s_disk02                161                500 NORMAL

SQL> select name,free_mb,total_mb,state from v$asm_diskgroup;

NAME      FREE_MB TOTAL_MB STATE 
----------- ------------ ------------- ----------- 
TESTDG1            246                800 MOUNTED

6. add datafile at DB instance ==> succeed 

SQL> alter tablespace testtbs add datafile '+TESTDG1' size 100M; 

7. check views at ASM instance 

SQL> select path, free_mb,total_mb,state from v$asm_disk;

PATH                                    FREE_MB TOTAL_MB STATE 
------------------------------ ----------- -------------- -------- 
/dev/vgs11/rrac1012s_disk01             35                300 NORMAL 
/dev/vgs11/rrac1012s_disk02           110                500 NORMAL

SQL> select name,free_mb,total_mb,state from v$asm_diskgroup;

NAME      FREE_MB TOTAL_MB STATE 
----------- -----------  ------------- ----------- 
TESTDG1            145               800 MOUNTED 
.

Diskgroup is 800MB and when we try to create tablespace of 500M and trying to add a datafile of 100M will fail even though there is a free space of 246MB in the diskgroup but the same succeeds after rebalance.

Note 387206.1 ORA-15041: ASM diskgroup with unlike disks sizes的更多相关文章

  1. Oracle ASM diskgroup在主机重启后启动失败

    环境:RHEL 6.4 + Oracle 11.2.0.3 + ASM单实例 1.重启主机后,+DATA diskgroup启动不成功,现象如下: [grid@JY-DB ~]$ crsctl sta ...

  2. ASM 磁盘组的的scrip

    之前经常用如下方式进行查询:步骤 1 以oracle用户登录系统.步骤 2 执行如下命令改变ORACLE_SID环境变量.$ export ORACLE_SID=+ASM1[1或者2]需要通过ps - ...

  3. ASM丢失disk header导致ORA-15032、ORA-15040、ORA-15042 Diskgroup无法mount

    SQL> select * from v$version; BANNER --------------------------– Oracle Database 11g Enterprise E ...

  4. 单机静默安装GI软件并创建ASM实例和ASM磁盘组

    环境:RHEL 6.4 + Oracle 11.2.0.4 需求:单机静默安装GI软件并创建ASM实例和ASM磁盘组,为后续迁移数据库文件到ASM做准备 1. 安装配置GI软件 2. 创建ASM实例 ...

  5. 创建Oracle10g ASM数据库

    概述      在真正的海量数据库环境中,DBA可能会花费很多的时间来作磁盘管理,比如一个表空间将占满整个磁盘,DBA就需要再添加一块磁盘到操作系统中,然后再在新的磁盘上创建新的数据文件,如果是单个磁 ...

  6. Oracle ASM 相关的 视图(V$) 和 数据字典(X$)

    本文转自: http://blog.csdn.net/tianlesoftware/article/details/6733039 ASM由于其高度的封装性,使得我们很难知道窥探其内部的原理.可以通过 ...

  7. Oracle 11g R2 RAC with ASM存储迁移--Rman copy&ASM Rebalance(一)

    ASM GROUP-Rman copy迁移 0x00--环境介绍 VMware版本:VMware12pro 主机操作系统:RHEL6.5_64 共享存储使用VMWARE创建共享磁盘文件 数据库版本:O ...

  8. Step by Step Process of Migrating non-CDBs and PDBs Using ASM for File Storage (Doc ID 1576755.1)

    Step by Step Process of Migrating non-CDBs and PDBs Using ASM for File Storage (Doc ID 1576755.1) AP ...

  9. ORACLE误删除ASM磁盘修复

    在数据库运维中,总会遇到一些粗心大意的DBA,一不小心删除一些东西,这里举例讲解在误删除ASM磁盘之后,如果用KFED工具进行恢复: [grid@RAC1 ~]$ sqlplus / as sysas ...

随机推荐

  1. this引用逃逸

    1.什么是This逃逸? 在构造器构造还未彻底完成前(即实例初始化阶段还未完成),将自身this引用向外抛出并被其他线程复制(访问)了该引用,可能会问到该还未被初始化的变量,甚至可能会造成更大严重的问 ...

  2. js判断字符串是否在数组中

    先加一个扩展函数: Array.prototype.contains = function (obj) {  var index = this.length;  while (index–) {   ...

  3. LINQ 【高级查询】

    using (Data0216DataContext con = new Data0216DataContext()) {      List<Users> ulist = con.Use ...

  4. 大数据之 Spark

    1 渊源 于2009由Matei Zaharia创立了spark大数据处理和计算框架,基于内存,用scala编写. 2 部署 2.1 需要软件包 下载路径见已有博文 Jdk ——因为运行环境为jvm ...

  5. ssr 之Nuxt.js

    ssr:server side rendering(服务端渲染),目的是为了解决单页面应用的 SEO 的问题,对于一般网站影响不大,但是对于论坛类,内容类网站来说是致命的,搜索引擎无法抓取页面相关内容 ...

  6. 使用 json-server 模拟数据

    1. 先安装 npm install json-server -g 2.查看是否安装成功 json-server -h 3.准备数据,新建一个文件夹 mock,cd mock,在mock下 新建tes ...

  7. [总结]jQuery之选择器集合

    jQuery 的选择器可谓之强大无比,常用的元素查找方法: $("#myELement") //选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是my ...

  8. 【读书笔记】iOS-Settings Bundle

    一,打开工程--->右键--->Add File--->iOS-->Resource-->Settings Bundle. 二,会弹出如下对话框---->Creat ...

  9. 开发Hexo主题(一)

    Hexo是一款静态博客工具,由Node.js编写 在博客根目录的themes下,新建文件夹(文件夹名为主题名) 主题目录结构如图 这里使用模版引擎为Ejs 在Layout目录下新建index.ejs文 ...

  10. Salesforce Live Agent 简介

    Live Agent Salesforce 内置了即时聊天功能--Live Agent,可以用来作为客服工具. 本文简单介绍了使用 Live Agent 的步骤,主要包含: 启用 Live Agent ...