Chinaunix首页 | 论坛 | 博客
  • 博客访问: 282571
  • 博文数量: 107
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 74
  • 用 户 组: 普通用户
  • 注册时间: 2016-11-18 09:57
文章分类

全部博文(107)

文章存档

2023年(2)

2021年(1)

2017年(1)

2015年(4)

2014年(9)

2013年(4)

2012年(14)

2011年(49)

2010年(23)

分类:

2010-12-06 17:25:50

XXXXoracle启动故障分析(2010.11.19

 

接到故障时间:

20101129星期一 20:00

 

故障现象:

XXXXoracle数据库无法启动

 

故障原因:

该故障是由于系统重启后,系统中的PV设备号发生变化引起的。PV设备号发生变化导致VG中的LV丢失,oracle数据库启动时无法找到该LV,因此无法正常启动。以下是oracle启动时的故障日志:

11 29 22:03:18 - Node "nmdsdb1": Activating volume group vg07 with exclusive option.

vgchange: Warning: Couldn't attach to the volume group physical volume "/dev/dsk/c16t6d0":

Invalid argument

Activated volume group in Exclusive Mode.

Nov 29 22:04:50 nmdsdb1 cmcld: (nmdsdb2) Started package odspkg on node nmdsdb2.

Nov 29 22:04:52 nmdsdb1 cmcld: Service PKG*15873 terminated due to an exit(0).

Nov 29 22:04:52 nmdsdb1 cmcld: Started package oraclepkg on node nmdsdb1.

 

故障定位方法:

ioscan –fnC disk 对系统中的现有磁盘进行了扫描,并且把扫描结果与以前保留的日志相比较,结果发现在nmdsdb1上原磁盘设备/dev/dsk/c16t6d0的设备名变成了/dev/dsk/c16t6d3 ;在nmdsdb2上原原磁盘设备/dev/dsk/c16t6d0的设备名变成了/dev/dsk/c16t6d2因该设备是卷组vg07中的PV,所以该设备的丢失导致oracle无法找到逻辑卷/dev/vg01/lvol18,以下是oracle的报错日志:

Activated volume group in Exclusive Mode.

Volume group "vg07" has been successfully changed.

11 29 22:03:22 - Node "nmdsdb1": Checking filesystems:

   /dev/vg01/lvol18

 

故障解决思路:

1. 因为两台机器上的磁盘设备号发生了变化,设备号是由系统内核识别硬件时自动分配的,无法认为更改,所以考虑更新VG信息。

2. 将两台机器上的VG信息重新导出并导入。重导入时需要重新指定变更过的磁盘设备号。

3. 导入成功后重启数据库,确认导入PV中的数据是否正确恢复。

 

故障解决步骤:

1. 停止数据库

#cmhaltpkg odspkg

#cmhaltpkg orclpkg

2.停止各个VG

# vgchange -a n vg01

# vgchange -a n vg02

# vgchange -a n vg03

# vgchange -a n vg04

# vgchange -a n vg05

# vgchange -a n vg06

# vgchange -a n vg07

3.VG07的配置信息导出

#vgexport -p -v -s -m /tmp/vg07.20101130.map /dev/vg07

#vgexport /dev/vg07

#mkdir /dev/vg07; mknod /dev/vg07/group c 64 0x01000000

4. VG07的配置信息重新导入并指定更新设备号

#vgimport -v -s -m /tmp/vg07.20101130.map /dev/vg07 /dev/dsk/c16t5d1 /dev/dsk/c16t5d2 /dev/dsk/c16t5d3 /dev/dsk/c16t5d4 /dev/dsk/c16t5d5 /dev/dsk/c16t6d3

4. 测试各个VG是否能脱离双机、被系统激活,然后恢复在加入双机

#vgchange -c n /dev/vg07

#vgchange -a y /dev/vg07

# vgchange -a n /dev/vg07

# vgchange -c y /dev/vg07

# vgchange -c n /dev/vg06

#vgchange -a y /dev/vg06

# vgchange -a n /dev/vg06

# vgchange -c y /dev/vg06

#vgchange -c n /dev/vg05

# vgchange -a y /dev/vg05

# vgchange -a n /dev/vg05

# vgchange -c y /dev/vg05

# vgchange -c n /dev/vg04

#vgchange -a y /dev/vg04

#vgchange -a n /dev/vg04

#vgchange -c y /dev/vg04

# vgchange -c n /dev/vg03

# vgchange -a y /dev/vg03

#vgchange -a n /dev/vg03

#vgchange -c y /dev/vg03

#vgchange -c n /dev/vg02

#vgchange -a y /dev/vg02

#vgchange -a n /dev/vg02

#vgchange -c y /dev/vg02

# vgchange -c n /dev/vg01

# vgchange -a y /dev/vg01

# vgchange -a n /dev/vg01

#vgchange -c y /dev/vg01

5.在nmdsdb2机器上:

#vgexport -v -p -s -m /tmp/vg07.20101129.map /dev/vg07

#vgexport vg07

#mkdir /dev/vg07; mknod /dev/vg07/group c 64 0x01000000

6. 将VG07的配置信息重新导入并指定更新设备号

#vgimport -v -s -m /tmp/vg07.20101129.map /dev/vg07 /dev/dsk/c16t5d0 /dev/dsk/c16t5d2 /dev/dsk/c16t5d4 /dev/dsk/c16t5d5 /dev/dsk/c16t6d2

7.重复第4步的操作进行测试

8.启动双机和oracle进行测试

#cmrunctl –v

#cmrunpkg -n nmdsdb1 oraclepkg

9.确认数据库启动正常,数据无丢失

 

避免类似故障的建议:

为了避免重启系统后,SecurePath中记录的EVA 5000的设备号发生改变,将EVA 5000上的LUN映射给主机后,务必在主机上执行以下步骤:

# ioscan -fCdisk

# spmgr update

Run kmadmin -L swspData

config -M swspData -u

for changes to persist across reboots.

# kmadmin -L swspData

kmadmin: Module swspData loaded, ID = 2

# config -M swspData -u

Generating module: swspData...

Requesting loadable module update...

Specified module(s) below is(are) activated successfully.

swspData

 

 

 

                                                                                                                              2010-12-6

阅读(1962) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-12-07 15:49:34

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com