Oracle Linux 6.4不小心删除VG的解决方法

在Oracle Linux系统进行操作的时候 , 不小心将VG给删除了 , 相信不少朋友有遇到这种情况 , 误删的VG其实是可以恢复的 , 下面小编就给大家介绍下Oracle Linux 6.4删除VG的解决方法 , 一起来了解下吧 。

Oracle Linux 6.4不小心删除VG的解决方法


一、项目背景描述
1、OSS现网测试数据库因大量小事物频繁提交运行非常缓慢 。经分析为DS3950存储所在磁盘I/O存在瓶颈 , 大量等待事件 , 性能受限 。另外 , 开发同事没有优化意识 , 没将小事物做成批量提交方式 。
2、在DS3950上 , 9块600G硬盘(8块+1块热备)做了RAID5阵列 , lun01 , lun02 , lun03 , lun04 , 均为200G , 映射给OSS数据库服务器使用 。
3、在操作系统上 , lun01 , lun02构成了vg_ossdb卷组 , vg_ossdb下只有一个LV--lvoradata挂载在/oradata上 。最近因数据增长过快 , 又将lun03 , lun04以vgextend方式扩到了vg_ossdb卷组中去 , 但尚未扩大lvoradata 。
4、在数据库上 , Oracle软件安装在本地磁盘/oracle上 , 数据库安装在/oradata上 。
二、项目改造计划及步骤
1、停掉数据库 , 将/oradata目录全备份到另一台备用PC机器上 。
2、由于DS3950存储空闲空很大 , 可修改其阵列级别从RAID5变为RAID10 。
3、由于lun03 , lun04尚未使用 , 领导要求先从vg_ossdb中移除lun03 , lun04 , 并在存储上unmap掉 , 便于阵列级别变更 。
4、由DBA优化SQL , 将小事物尽量做到批量提交方式 。
三、系统环境及数据版本说明
[root@ol64 /]# cat /etc/issue
Oracle Linux Server release 6.4
Kernel \r on an \m
[root@ol64 /]# uname -a
Linux ol64.com 2.6.39-400.17.1.el6uek.x86_64 #1 SMP Fri Feb 22 18:16:18 PST 2013 x86_64 x86_64 x86_64 GNU/Linux
SQL》 select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
四、改造过程中因误用vgremove将vg_ossdb卷组删除 , 而其本意是想用vgreduce移除/dev/sdd , /dev/sde的 。
[root@ol64 /]# umount /oradata/ #卸载文件系统
[root@ol64 /]# vgchange -an /dev/vg_ossdb #将卷组置于非激活状态
0 logical volume(s) in volume group “vg_ossdb” now active
[root@ol64 /]# vgremove vg_ossdb /dev/sdb /dev/sdc /dev/sdd /dev/sde #误用vgremove命令删除了vg_ossdb
Do you really want to remove volume group “vg_ossdb” containing 1 logical volumes? [y/n]: y
Do you really want to remove active logical volume lvoradata? [y/n]: y
Logical volume “lvoradata” successfully removed
Volume group “vg_ossdb” successfully removed
Volume group “sdb” not found
Volume group “sdc” not found
Volume group “sdd” not found
Volume group “sde” not found
##################################################################
正确的操作应该是用vgreduce命令从vg_ossdb中移除/dev/sdd和/dev/sde
[root@ol64 /]# vgreduce vg_ossdb /dev/sdd
Removed “/dev/sdd” from volume group “vg_ossdb”
[root@ol64 /]# vgreduce vg_ossdb /dev/sde

推荐阅读