结论:
如果一个diskgroup有一个failgroup offline,超出disk_repair_time定义的时间后,asm会对该failgroup做drop操作。
如果drop之后剩余的failgroup少于冗余策略的最低要求(normal为2,high为3)或者剩余空间不足以满足冗余的空间
需求,也就是rebalance无法正常进行,就会出现forcing状态的磁盘。

如果有forcing状态的盘,使用alter添加磁盘时要指定name, name是forcing状态的盘原先的name。

例如ssddg的磁盘ssddg_0001盘被drop掉了,state为forcing,用下面命令恢复磁盘组之后,SSDDG_0001状态变为normal:

alter diskgroup ssddg add failgroup rac2 disk '/dev/raw/raw3' name SSDDG_0001 force;
实验过程:

实验对象为一个有3个failgroup的磁盘组,实验需要,把disk_repair_time设置为5min:

SQL>  select name,failgroup,path from v$asm_disk where group_number=(select group_number from v$asm_diskgroup where  name='SSDDG');
NAME        FAILG PATH
--------------- ----- --------------------------------------------------------------------------------
SSDDG_0001    RAC2  /dev/raw/raw3
SSDDG_0000    RAC1  /dev/raw/raw2
SSDDG_0001_0    RAC3  /dev/raw/raw5
ASMCMD> lsattr -G ssddg -lm
Group_Name  Name                     Value       RO  Sys
SSDDG       access_control.enabled   FALSE       N   Y
SSDDG       access_control.umask     066         N   Y
SSDDG       au_size                  1048576     Y   Y
SSDDG       cell.smart_scan_capable  FALSE       N   N
SSDDG       compatible.asm           11.2.0.3.0  N   Y
SSDDG       compatible.rdbms         11.2.0.3    N   Y
SSDDG       content.type             data        N   Y
SSDDG       disk_repair_time         5m          N   Y
SSDDG       idp.boundary             auto        N   Y
SSDDG       idp.type                 dynamic     N   Y
SSDDG       sector_size              512         Y   Y

磁盘组里只有很少的数据:

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  EXTERN  N         512   4096  1048576     20480    18245                0           18245              0             N  DATADG/
MOUNTED  EXTERN  N         512   4096  1048576      2048     1653                0            1653              0             Y  OCRVOTE/
MOUNTED  NORMAL  N         512   4096  1048576     24576    24237             8192            8022              0             N  SSDDG/

实验一、
手动把SSDDG_0001_0这块盘offline:

SQL> select name,failgroup,path,mode_status,state from v$asm_disk where group_number=(select group_number from v$asm_diskgroup where  name='SSDDG');
NAME        FAILG PATH                                           MODE_STATUS    STATE
--------------- ----- -------------------------------------------------------------------------------- -------------- ----------------
SSDDG_0001_0    RAC3                                               OFFLINE          NORMAL
SSDDG_0001    RAC2  /dev/raw/raw3                                       ONLINE          NORMAL
SSDDG_0000    RAC1  /dev/raw/raw2                                       ONLINE          NORMAL

5分钟之后盘被drop

NAME        FAILG PATH                                           MODE_STATUS    STATE
--------------- ----- -------------------------------------------------------------------------------- -------------- ----------------
_DROPPED_0001_S RAC3                                               OFFLINE          FORCING
SDDG
SSDDG_0001    RAC2  /dev/raw/raw3                                       ONLINE          NORMAL
SSDDG_0000    RAC1  /dev/raw/raw2                                       ONLINE          NORMAL

drop之后的最终结果:

NAME        FAILG PATH                                           MODE_STATUS    STATE
--------------- ----- -------------------------------------------------------------------------------- -------------- ----------------
SSDDG_0001    RAC2  /dev/raw/raw3                                       ONLINE          NORMAL
SSDDG_0000    RAC1  /dev/raw/raw2                                       ONLINE          NORMAL

结论:offline的盘被drop之后,磁盘组还能保持2个failgroup,空间也足够normal冗余,则盘的信息不再有记录。

实验二、在实验一基础上继续offline一个failgroup,drop之后的最终结果:

NAME        FAILG PATH                                           MODE_STATUS    STATE
--------------- ----- -------------------------------------------------------------------------------- -------------- ----------------
_DROPPED_0002_S RAC2                                               OFFLINE          FORCING
SDDG
SSDDG_0000    RAC1  /dev/raw/raw2                                       ONLINE          NORMAL

实验三、环境同实验一,在ssddg上创建10G的数据文件,如果drop掉一个failgroup,diskgroup的空间不能满足normal冗余。将一个failgroup offline ,drop之后的最终结果:

NAME        FAILG PATH                                           MODE_STATUS    STATE
--------------- ----- -------------------------------------------------------------------------------- -------------- ----------------
_DROPPED_0002_S RAC3                                               OFFLINE          FORCING
SDDG
SSDDG_0000    RAC1  /dev/raw/raw2                                       ONLINE          NORMAL
SSDDG_0001    RAC2  /dev/raw/raw3                                       ONLINE          NORMAL

asmcmd lsop的结果:

[grid@node1 ~]$ asmcmd lsop
Group_Name  Dsk_Num  State  Power  EST_WORK  EST_RATE  EST_TIME
SSDDG       REBAL    ERRS   1

alert日志内容:

Thu Mar 31 15:31:00 2016
ERROR: ORA-15041 thrown in ARB0 for group number 3
Errors in file /oracle/11.2.0/grid/log/diag/asm/+asm/+ASM1/trace/+ASM1_arb0_22412.trc:
ORA-15041: diskgroup "SSDDG" space exhausted
Thu Mar 31 15:31:00 2016
NOTE: stopping process ARB0
NOTE: rebalance interrupted for group 3/0xf7e87524 (SSDDG)

ASM磁盘状态为forcing相关推荐

  1. ASM磁盘超过disk_repair_time导致磁盘状态为forcing

    今天一大早来单位一看,两个asm磁盘超过disk_repair_time被干掉了 SQL> select group_number,disk_number,STATE,PATH,NAME,fai ...

  2. oracle asm 状态,ASM 规划ASM DISK GROUP、查看asm 磁盘当前状态等

    规划ASM DISK GROUP.查看asm 磁盘当前状态.mount or dismount 磁盘组.检查磁盘组 metadata 的内部一致性 规划ASM DISK GROUP: 1. 每个磁盘组 ...

  3. ASM 磁盘、目录的管理

    --======================== -- ASM 磁盘.目录的管理 --======================== ASM磁盘是ASM体系结构的重要组成部分,ASM磁盘由ASM ...

  4. oracle asm spfile丢失,Oracle 11g RAC ASM磁盘全部丢失后的恢复

    Oracle 11g RAC ASM磁盘全部丢失后的恢复,Oracle 11.2.0.3 RAC ON Oracle Linux 6 x86_64,只有一个ASM外部冗余磁盘组mdash;m 一.环境 ...

  5. ORACLE 11G RAC ASM磁盘全部丢失后的恢复

    故障描述 (1)存储故障导致ASM磁盘丢失. (2)CRS因为OCR和VOTEDISK的丢失,除了OHAS还联机外,CLUSTERWARE服务都已经停止 操作步骤 一.恢复OCR和VOTEDISK ( ...

  6. oracle asm之添加和修改asm磁盘组

    1.添加磁盘组: 相信很多人都会使用dbca创建磁盘组了,这里介绍使用SQL*PLUS创建磁盘组.主要是使用CREATE DISKGROUP语句,该语句的语法如下: CREATE DISKGROUP ...

  7. mysql 磁盘组_AIX使用LV创建ASM磁盘组

    AIX使用LV创建ASM磁盘组 来源:互联网 作者:佚名 时间:2015-06-19 05:07 CREATE ASM ON AIX LV DEVICE OS:AIX 6100-03 ASM版本 10 ...

  8. oracle 复制组删除,利用copy在ASM磁盘组之间迁移

    从+DISK迁移到+DG1磁盘组 一.复制数据库文件到ASM磁盘组 1.启动到mount状态(启动第一节点数据库到mount,其它节点数据库实例关闭) SQL> startup mount; 2 ...

  9. DBCA建库找不到ASM磁盘一例

    环境信息  red hat linux64  gi 11.2.0.4  oracle 11.2.0.4 问题现象  安装完gi软件及oralce database软件之后,通过dbca用户界面建立数据 ...

最新文章

  1. 硬核!一套基于SpringBoot + Vue 的开源物联网智能家居系统!
  2. Linux内核defconfig在哪,Linux内核根目录中的配置文件.config中包含了许多宏定义,...
  3. C++ 网络开发工具
  4. 中关村win11 32位全新官方版镜像v2021.07
  5. Winform 的一个多线程绑定DataGrid数据源的例子
  6. virtual.lab motion用表达式控制载荷
  7. Unity3DAI:寻路(1):A星寻路,在Unity上用C#代码实现。
  8. AndroidStudio安卓原生开发_SwipeRefreshLayout_下拉刷新控件---Android原生开发工作笔记119
  9. vue 使用百度地图api_高水准 Vue 百度地图组件Vue-BaiduMap
  10. java实现天气预报
  11. SOP:Ubuntu20安装微信
  12. Qt多线程使用 和 信号与槽传参 需要注意的问题
  13. 网络地址转换----NAT
  14. 2021英国硕士计算机专业排名,2020年伦敦国王学院先进的计算机专业硕士申请条件-学费-世界排名...
  15. http://strong0511.blog.163.com/blog/static/15115379520124510362211/
  16. USACO-The Castle
  17. 代理/ssh端口转发
  18. Self6D: Self-Supervised Monocular 6D Object Pose Estimation论文翻译
  19. Android 使用MediaProjection+ImageReader捕捉屏幕画面
  20. Yii2日志使用方法

热门文章

  1. ios-Ineligible Devices 不被识别的设备
  2. Kubernetes学习之路(一)之概念和架构解析和证书创建和分发
  3. android 支付宝 40247,iOS——集成支付宝 系统繁忙,请稍后再试ALI40247
  4. git错误:error: failed to push some refs to
  5. 九种linux查询日志命令总结
  6. angularjs2大漠穷秋视频笔记整理
  7. 苏州大学转专业计算机2019汇总,关于2019-2020学年第一学期普通本科生转专业名单的公示...
  8. php sybase存储过,SYBASE存储过程详解
  9. COG注释[Ubuntu 15.10系统]
  10. C语言海鲜拼盘-01