Oracle RAC 故障处理(二)(+DATA磁盘组故障)

环境:测试

DB:Oracle 11.2.0.4.0

OS:Oracle Linux Server release 6.3 on Oracle VM VirtualBox

node:rac1,rac2

instance:cjcdb1,cjcdb2

问题二:DATA磁盘组损坏,导致数据库无法启动和使用

问题原因: 测试RAC环境进行过多次增加节点、删除节点、删除实例等操作,导致DATA磁盘损坏

解决方案:

本次案例为测试环境,直接删除重建DATA磁盘组,重建实例,测试数据将丢失,正式环境勿用!

---1 数据库启动失败,+DATA磁盘组故障

---参数文件,控制文件,数据文件等都存储在+DATA磁盘组

SQL> startup

ORA-01078: failure in processing system parameters

ORA-01565: error in identifying file ‘+DATA/cjcdb/spfilecjcdb.ora‘

ORA-17503: ksfdopn:2 Failed to open file +DATA/cjcdb/spfilecjcdb.ora

ORA-15056: additional error message

ORA-17503: ksfdopn:2 Failed to open file +DATA/cjcdb/spfilecjcdb.ora

ORA-15001: diskgroup "DATA" does not exist or is not mounted

ORA-06512: at line 4

[[email protected] bin]# ./srvctl start instance -d cjcdb -i cjcdb1 -o open

PRCR-1013 : Failed to start resource ora.cjcdb.db

PRCR-1064 : Failed to start resource ora.cjcdb.db on node rac1

CRS-5017: The resource action "ora.DATA.dg start" encountered the following error:

ORA-15032: not all alterations performed

ORA-15040: diskgroup is incomplete

ORA-15042: ASM disk "3" is missing from group number "1"

. For details refer to "(:CLSN00107:)" in "/u01/app/11.2.0/grid/log/rac1/agent/crsd/oraagent_grid/oraagent_grid.log".

CRS-2674: Start of ‘ora.DATA.dg‘ on ‘rac1‘ failed

---2 查看当前只有OCR磁盘组,没有DATA磁盘组

[[email protected] rac1]# su - grid

[[email protected] ~]$ asmcmd

ASMCMD> ls

OCR/

[[email protected] bin]# su - grid

[[email protected] ~]$ asmcmd

ASMCMD> ls

OCR/

---3 挂载DATA磁盘组失败

SQL> shutdown abort

ASM instance shutdown

SQL> startup

ORA-00099: warning: no parameter file specified for ASM instance

ASM instance started

Total System Global Area 1135747072 bytes

Fixed Size 2260728 bytes

Variable Size 1108320520 bytes

ASM Cache 25165824 bytes

ASM diskgroups mounted

ASM diskgroups volume enabled

SQL> set line 100

SQL> select name,group_number,state from v$asm_diskgroup;

NAME GROUP_NUMBER STATE



OCR 2 MOUNTED

DATA 0 DISMOUNTED

SQL> set line 150

SQL> col path for a30

SQL> select GROUP_NUMBER,disk_number,state,name,path from v$asm_disk;

GROUP_NUMBER DISK_NUMBER STATE NAME PATH



0 0 NORMAL /dev/asm-diske

0 1 NORMAL /dev/asm-diskg

0 2 NORMAL /dev/asm-diskf

1 1 NORMAL OCR_0001 /dev/asm-diskc

1 0 NORMAL OCR_0000 /dev/asm-diskb

1 2 NORMAL OCR_0002 /dev/asm-diskd

6 rows selected.

SQL> alter diskgroup data mount;

alter diskgroup data mount

*

ERROR at line 1:

ORA-15032: not all alterations performed

ORA-15040: diskgroup is incomplete

ORA-15042: ASM disk "3" is missing from group number "1"

SQL> drop diskgroup DATA;
drop diskgroup DATA

*

ERROR at line 1:

ORA-15039: diskgroup not dropped

ORA-15001: diskgroup "DATA" does not exist or is not mounted

---4 重新初始化DATA磁盘组内磁盘

[[email protected] ~]# cat /etc/udev/rules.d/99-oracle-asmdevices.rules

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VBde6560cc-5b43c5dc", NAME="asm-diskb", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB0bc9f076-5bc9501f", NAME="asm-diskc", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB69c7e48f-359e5a75", NAME="asm-diskd", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VBf71d68a1-6c9355a0", NAME="asm-diske", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB6bae812a-c8d1bb88", NAME="asm-diskf", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB01fde635-97fae482", NAME="asm-diskg", OWNER="grid", GROUP="asmadmin", MODE="0660"

---asm-diskg 1ATA_VBOX_HARDDISK_VB01fde635-97fae482

---asm-diske 1ATA_VBOX_HARDDISK_VBf71d68a1-6c9355a0

---asm-diskf 1ATA_VBOX_HARDDISK_VB6bae812a-c8d1bb88

[[email protected] ~]# scsi_id -g /dev/sdg

1ATA VBOX HARDDISK VB01fde635-97fae482

[[email protected] ~]# scsi_id -g /dev/sde

1ATA VBOX HARDDISK VBf71d68a1-6c9355a0

[[email protected] ~]# scsi_id -g /dev/sdf

1ATA VBOX HARDDISK VB6bae812a-c8d1bb88

[[email protected] ~]# dd if=/dev/zero of=/dev/sdg bs=1024k count=10

10+0 records in

10+0 records out

10485760 bytes (10 MB) copied, 0.169501 s, 61.9 MB/s

[[email protected] ~]# dd if=/dev/zero of=/dev/sde bs=1024k count=10

10+0 records in

10+0 records out

10485760 bytes (10 MB) copied, 0.100031 s, 105 MB/s

[[email protected] ~]# dd if=/dev/zero of=/dev/sdf bs=1024k count=10

10+0 records in

10+0 records out

10485760 bytes (10 MB) copied, 0.17868 s, 58.7 MB/s

郑州不孕不育医院×××:http://wapyyk.39.net/zz3/zonghe/1d427.html

[[email protected] ~]# /sbin/start_udev

Starting udev: [ OK ]

---5 重建DATA磁盘组

[[email protected] ~]$ asmca





SQL> select group_number,disk_number,name,state,path from v$asm_disk;

GROUP_NUMBER DISK_NUMBER NAMESTATE PATH



1 0 OCR_0000NORMAL /dev/asm-diskb

1 1 OCR_0001NORMAL /dev/asm-diskc

1 2 OCR_0002NORMAL /dev/asm-diskd

2 0 DATA_0000NORMAL /dev/asm-diske

2 1 DATA_0001NORMAL /dev/asm-diskf

2 2 DATA_0002NORMAL /dev/asm-diskg

6 rows selected.

---6 DBCA工具重建数据库实例

(1)删除Database







(2)新建Database








[[email protected] bin]# ./srvctl status database -d cjcdb

Instance cjcdb1 is running on node rac1

Instance cjcdb2 is running on node rac2

原文地址:https://blog.51cto.com/14337177/2406416

时间: 2024-08-09 15:51:50

Oracle RAC 故障处理(二)(+DATA磁盘组故障)的相关文章

ORACLE 11204 GRID在CRS磁盘组损坏后的处理

ORACLE 11204 GRID在CRS磁盘组损坏后的处理主要处理CRS磁盘组(ocr和votedisk所在的磁盘组)损坏的情况下,对CRS磁盘处理.1.模拟故障[[email protected] ~]$ ocrcheckStatus of Oracle Cluster Registry is as follows :Version : 3Total space (kbytes) : 262120Used space (kbytes) : 3152Available space (kbyte

Oracle 学习之RAC(五) 创建ASM磁盘组

以grid用户,运行asmcma命令 [[email protected] database]# su - grid 11grac1-> asmca 我们在安装Grid时已经建立了一个磁盘组,现在点击create按钮,建立其他的磁盘组 新建一个data组,磁盘为ORADATA,点击ok 再建立一个FRA的磁盘组,完成后结果如下

为data磁盘组删除当中一个盘(asm external data盘组中有两块盘)

删除磁盘,注意,假设删掉磁盘之后.数据在剩余磁盘中.是否有足够空间存储.假设空间不够.删除工作不会成功. 检查空间够不够: select a.GROUP_NUMBER,a.DISK_NUMBER,a.NAME ,decode(sign(a.FREE_MB-d.COLD_USED_MB/ 2),1 ,'Y',- 1,'N' ,'N') from v$asm_diskgroup d,v$asm_disk a where a.GROUP_NUMBER = d.GROUP_NUMBER and a.GR

为data磁盘组删除其中一个盘(asm external data盘组中有两块盘)

删除磁盘,注意,如果删掉磁盘之后,数据在剩余磁盘中,是否有足够空间存储.如果空间不够,删除工作不会成功. 检查空间够不够: select a.GROUP_NUMBER,a.DISK_NUMBER,a.NAME ,decode(sign(a.FREE_MB-d.COLD_USED_MB/ 2),1 ,'Y',- 1,'N' ,'N') from v$asm_diskgroup d,v$asm_disk a where a.GROUP_NUMBER = d.GROUP_NUMBER and a.GR

案例:Oracle非常规恢复 ASM磁盘组diskgroup被删除使用kfed进行完美恢复

Oracle RAC环境ASM磁盘组被强制删除,使用kfed工具完美恢复误删除磁盘组案例 在某些情况下,可能因为误操作,不小先drop diskgroup,这个时候千万别紧张,出现此类故障,可以通过kfed进行完美恢复(数据0丢失).如果进一步损坏了相关asm disk,那后续恢复就很麻烦了,可能需要使用dul扫描磁盘来进行抢救性恢复,而且可能导致数据丢失. 1.创建Oracle环境中的测试磁盘组 [[email protected] ~]$ sqlplus / as sysasm SQL*Pl

oracle rac 扩展磁盘采坑记录

oracle rac 磁盘扩展采坑记录: 系统环境:VMware esxi oracle rac 11.2.0.4 昨天扩展了asm的磁盘组,FRA磁盘组和DATA磁盘组,我添加了一块硬盘320g,200g扩展到了DATA组,120g扩展到了FRA组.因为oracle使用的是raw裸设备,扩展第一个磁盘的时候,正常进行,不用关机. 坑1:但是扩展FRA组的时候,需要关机才能找得到第二个设备.重启之后扩展正常,建议扩展磁盘一次扩展到一个组. 坑二:今天我看见系统盘空间不够了,就扩展了一下系统盘空间

ORACLE RAC 11.2.0.4 CentOS release 6.9 静默安装1.0版本

RAC11.2.0.4静默安装 1.0版本,20180613 #本文档IP地址使用X隐藏,个人可按照自己的当前环境IP进行适当修改 1. 清除原环境中的单实例软件 #清除原环境: 删除/etc/ora* 删除 /usr/local/bin/oraenv 删除 /usr/local/bin/dbhome 删除 /usr/local/bin/coraenv 删除 $ORACLE_BASE/* 删除 cd /picclife/app  rm -rf * #解释说明: /etc/oratab ?数据库实

ASM磁盘组mount一例

环境信息: oracle10gRAC  +  RHEL5.8 问题现象: db1服务器crs服务正常,ASM的data磁盘组处于dismount状态.db2集群服务正常. SQL> select name,state from v$asm_diskgroup; NAME                        STATE-------------------- ---------------------------------ARCHDG                   MOUNTED

RAC数据库迁移ASM磁盘组到其它存储

环境介绍: 一共有两个磁盘组:crs和data:crs使用normal冗余:data使用外部冗余. 添加新的asm磁盘过程(略) 1.迁移前 SQL> select group_number, failgroup ,name,path from v$asm_disk order by 1 GROUP_NUMBER FAILGROUP NAME PATH ------------ ------------------------------ ----------------------------