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. tensorflow入门指南

    TensorFlow是Google公司2015年11月开源的第二代深度学习框架,是第一代框架DistBelief的改进版本. TensorFlow支持python和c/c++语言, 可以在cpu或gp ...

  2. loggin(日志模块)

    这是一个提供日志功能的模块,它可以让你更敏捷的为你程序提供日志功能 一.常用日志记录场景及最佳解决方案: 日志记录方式 最佳记录日志方案 普通情况下,在控制台显示输出 print()报告正常程序操作过 ...

  3. Sharepoint 2010 工作流状态值

    在Sharepoint2010中,如果要使用工作流状态值进行筛选,必须使用内部值,不能使用文字,要不然是筛选不出来的. 进行中:2 已取消:4 已批准:16 拒绝:17 下边是已取消的工作流状态:

  4. C#基础知识回顾-- 反射(2)

    使用反射调用方法: 一旦知道一个类型所支持的方法,就可以对方法进行调用.调用时,需使用包含在   MethodInfo中的Invoke()方法.调用形式:   object Invoke(object ...

  5. EF 中多个数据库迁移

    Entity Framework 允许用户基于实体来创建和更新数据库,当项目中只有一个DBContext 时使用默认的参数就可以实现数据库的一些操作.当有多个DbContext 时需要制定参数才能完成 ...

  6. c# 数字之间的计算

    1.c# 65*1.0F/102=0.637254901960784 2.mysql TRUNCATE(65/102,9)  9代表的是保留几位小数 3.多张表关联,修改某张表的字段 UPDATE s ...

  7. CentOS配置VSFTP服务

    1.安装vsftpd a.查看是否安装vsftp [root@wsyjlly ~]# rpm -q vsftpd package vsftpd is not installed b.如果没有则安装vs ...

  8. OSX系统下配置Apache+PHP+MySQL+Navicat

    概述 OSX系统对于PHP运行非常友好,我们只需要进行简单的配置便可以开始进行使用,本篇文章将一步一步地介绍Apache.PHP和MySQL的安装与配置,为开始进行开发铺好路 Apache 启动Apa ...

  9. 【转】Maya Mel – Search String in String

    转自:http://schiho.com/?p=179 Hi, this is a little script which returns a 0 or 1 if the searched text ...

  10. loadrunner 脚本开发-参数化之将内容保存为参数、参数数组及参数值获取Part 2

    脚本开发-参数化之将内容保存为参数.参数数组及参数值获取 by:授客 QQ:1033553122 ----------------接 Part 1--------------- 把内容保存到参数数组 ...