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

[grid@RAC1 ~]$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.4.0 Production on Thu Jan 5 00:06:04 2017

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options SQL> col path format a30
SQL> select name,path,header_status from v$asm_disk; NAME PATH HEADER_STATU
------------------------------ ------------------------------ ------------
DATA_0001 /dev/mapper/mpathc MEMBER
DATA_0004 /dev/mapper/mpathd MEMBER
DATA_0003 /dev/mapper/mpathf MEMBER
DATA_0000 /dev/mapper/mpathb MEMBER
DATA1_0001 /dev/mapper/mpathh MEMBER
DATA_0002 /dev/mapper/mpathg MEMBER
DATA1_0002 /dev/mapper/mpathi MEMBER
DATA1_0000 /dev/mapper/mpathe MEMBER 8 rows selected. SQL> drop diskgroup DATA;
drop diskgroup DATA
*
ERROR at line 1:
ORA-15039: diskgroup not dropped
ORA-15053: diskgroup "DATA" contains existing files SQL> drop diskgroup DATA including contents;
drop diskgroup DATA including contents
*
ERROR at line 1:
ORA-15039: diskgroup not dropped
ORA-15027: active use of diskgroup "DATA" precludes its dismount ------------------------------------------------------------------------------------------------------------------------

关闭数据连接:
SQL> alter diskgroup DATA dismount force; Diskgroup altered. SQL> drop diskgroup DATA force including contents;
drop diskgroup DATA force including contents
*
ERROR at line 1:
ORA-15039: diskgroup not dropped
ORA-15073: diskgroup DATA is mounted by another ASM instance
dismount 需要两边都dismount SQL> drop diskgroup DATA force including contents; Diskgroup dropped. SQL> select name,path,header_status from v$asm_disk; NAME PATH HEADER_STATU
------------------------------ ------------------------------ ------------
/dev/mapper/mpathc FORMER
/dev/mapper/mpathd FORMER
/dev/mapper/mpathf FORMER
/dev/mapper/mpathb FORMER
/dev/mapper/mpathg FORMER
DATA1_0001 /dev/mapper/mpathh MEMBER
DATA1_0002 /dev/mapper/mpathi MEMBER
DATA1_0000 /dev/mapper/mpathe MEMBER 8 rows selected. [grid@RAC1 ~]$ crs_stat -t
CRS-0184: Cannot communicate with the CRS daemon. ############################################################################################################### 使用kfed进行恢复
[grid@RAC1 ~]$ kfed read /dev/mapper/mpathc > /tmp/mpathc-meta
[root@RAC1 tmp]# vi mpathc-meta
用vi打开生成的文件,修改下面一行数据
kfdhdb.hdrsts: 4 ; 0x027: KFDHDR_FORMER
修改为:
kfdhdb.hdrsts: 3 ; 0x027: KFDHDR_MEMBER
[grid@RAC1 ~]$ kfed merge /dev/mapper/mpathc text=/tmp/mpathc-meta 将所有5块磁盘进行同样的操作。 SQL> select name,path,header_status from v$asm_disk; NAME PATH HEADER_STATU
------------------------------ ------------------------------ ------------
/dev/mapper/mpathc MEMBER
/dev/mapper/mpathd MEMBER
/dev/mapper/mpathf MEMBER
/dev/mapper/mpathb MEMBER
/dev/mapper/mpathg MEMBER
DATA1_0001 /dev/mapper/mpathh MEMBER
DATA1_0002 /dev/mapper/mpathi MEMBER
DATA1_0000 /dev/mapper/mpathe MEMBER SQL> alter diskgroup DATA mount; Diskgroup altered. 两个节点都需要进行mount。 SQL> select name,path,header_status from v$asm_disk; NAME PATH HEADER_STATU
------------------------------ ------------------------------ ------------
DATA_0001 /dev/mapper/mpathc MEMBER
DATA_0004 /dev/mapper/mpathd MEMBER
DATA_0003 /dev/mapper/mpathf MEMBER
DATA_0000 /dev/mapper/mpathb MEMBER
DATA1_0001 /dev/mapper/mpathh MEMBER
DATA_0002 /dev/mapper/mpathg MEMBER
DATA1_0002 /dev/mapper/mpathi MEMBER
DATA1_0000 /dev/mapper/mpathe MEMBER 8 rows selected. [grid@RAC1 ~]$ crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora.DATA.dg    ora....up.type ONLINE    ONLINE    rac1        
ora.DATA1.dg   ora....up.type ONLINE    ONLINE    rac1        
ora....ER.lsnr ora....er.type ONLINE    ONLINE    rac1        
ora....N1.lsnr ora....er.type ONLINE    ONLINE    rac1        
ora.asm        ora.asm.type   ONLINE    ONLINE    rac1        
ora.cvu        ora.cvu.type   ONLINE    OFFLINE               
ora.gsd        ora.gsd.type   OFFLINE   OFFLINE               
ora....network ora....rk.type ONLINE    ONLINE    rac1        
ora.oc4j       ora.oc4j.type  ONLINE    OFFLINE               
ora.ons        ora.ons.type   ONLINE    ONLINE    rac1        
ora....SM1.asm application    ONLINE    ONLINE    rac1        
ora....C1.lsnr application    ONLINE    ONLINE    rac1        
ora.rac1.gsd   application    OFFLINE   OFFLINE               
ora.rac1.ons   application    ONLINE    ONLINE    rac1        
ora.rac1.vip   ora....t1.type ONLINE    ONLINE    rac1        
ora.rac2.vip   ora....t1.type ONLINE    OFFLINE               
ora....ry.acfs ora....fs.type ONLINE    ONLINE    rac1        
ora.scan1.vip  ora....ip.type ONLINE    ONLINE    rac1

ORACLE误删除ASM磁盘修复的更多相关文章

  1. Oracle 下ASM磁盘总结

    Oracle 下ASM磁盘总结 文章转载: Oracle下创建ASM磁盘总结https://blog.csdn.net/okhymok/article/details/78791841?utm_sou ...

  2. 转://Oracle 11gR2 ASM磁盘组管理

    一.环境.[grid@rhel2 ~]$ cat /etc/issueRed Hat Enterprise Linux Server release 5.5 (Tikanga) Kernel \r o ...

  3. 11G ORACLE RAC DBCA 无法识别asm磁盘组

    ASM磁盘无法识别几种现象: 1) gi家目录或者其子目录权限错误 2)asm磁盘的权限错误 3)asm实例未启动或者asm磁盘组没有mount上 4)asm磁盘组资源没有在线 5)oracle用户的 ...

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

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

  5. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.2.Oracleasm Createdisk ASM磁盘失败:Instantiating disk: failed

    1.错误信息:Instantiating disk: failed [root@linuxrac1 /]# /usr/sbin/oracleasm createdisk OCR_VOTE /dev/s ...

  6. 案例:Oracle报错ASM磁盘组不存在或没有mount

    案例:Oracle报错ASM磁盘组不存在或没有mount 环境:RHEL 6.5 + Oracle Standby RAC 11.2.0.4 我做Standby RAC实验时,在恢复控制文件时,报错无 ...

  7. 对oracle用户创建asm磁盘

    --root用户执行vi /etc/sysctl.conf #Install oracle settingfs.aio-max-nr = 1048576fs.file-max = 6815744#ke ...

  8. Oracle 11gR2 RAC DBCA无法识别ASM磁盘组(ORA-19504,ORA-15045,ORA-17502,ORA-15081)

    ORA-19504: failed to create file "+DATA" ORA-15045: ASM file name '+DATA' is not in refere ...

  9. Oracle RAC环境下ASM磁盘组扩容

    生产环境注意调整以下参数: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...

随机推荐

  1. 【KeyCode 键码】

    Key codes returned by Event.keyCode. These map directly to a physical key on the keyboard. KeyCode是由 ...

  2. Java线程:线程的同步与锁

    一.同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏. 例如:两个线程ThreadA.ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据. public ...

  3. String空值判定

    不能用 str.equalsIgnoreCase(null). 写了个判定的方法,供以后直接调用: public static boolean isEmpty(String str) { if (st ...

  4. 如何清除WebBrowser的Cookies

    var document = webBrowser1.Document; document.ExecCommand("ClearAuthenticationCache", fals ...

  5. python27 + windows7 报错 No module named requests

    1.下载插件包 地址: http://www.lfd.uci.edu/~gohlke/pythonlibs/#distribute 包名: requests-2.12.4-py2.py3-none-a ...

  6. [已解决] github merge指定commit

    比如说有两个branch,分别是master和m1,我们在m1上修改的bug怎么merge到master上呢, 怎么merge我不知道,但是有另外一个命令可以做到,比如m1做commit,sha-1为 ...

  7. sqlite嵌入式数据库C语言基本操作(1)

    sqlite嵌入式数据库C语言基本操作(1) :first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0, ...

  8. android 弹出对话框之四周变暗处理方式

    设置对话框的dim值即可 WindowManager.LayoutParams lp=popDlg.getWindow().getAttributes(); lp.dimAmount = 0.0f; ...

  9. 给定时器settimeout、setInterval调用传递参数

    无论是window.setTimeout还是window.setInterval,在使用函数名作为调用句柄时都不能带参数,而在 许多场合必须要带参数,这就需要想方法解决.例如对于函数hello(_na ...

  10. cocos IDE 编译lua 游戏程序的环境配置

    因为毕业设计需要用cocosIDE编译一个apk在手机上跑,所以搭建这个环境还是需要的. ps:是针对win系统的. 需要的工具: 1.cocosIDE:点击链接 (ps:据说这个软件设计有点反人类, ...