无法MOUNT或删除磁盘组,报错ORA-15032和ORA-15063

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638    QQ号:47079569    邮箱:[email protected]

症状

无法MOUNT或删除磁盘组
SQL> ALTER DISKGROUP CIF_RECO_01 mount;
ALTER DISKGROUP CIF_RECO_01 mount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15063: diskgroup “CIF_RECO_01” lacks quorum of 1 PST disks; 0 found
主要问题是,需要删除该磁盘组,从而在另一个磁盘组中使用磁盘。

原因

删除磁盘组要求MOUNT磁盘组。如果磁盘组无法MOUNT,那你需要覆盖磁盘的第一个块,使之看起来不像个位于你想删除的磁盘组中的磁盘。有几种方法可以做到这一点。这些方法都很危险,因为如果你打出错误的设备名称,可能会毁掉运行中的磁盘组。

1. 你可以用’dd’ Unix 命令在块0磁盘头上写一个零块。
2. 你可以使用FORCE选项将该磁盘添加到新的磁盘组。
3. 你可以使用FOECE选项,以及旧磁盘中的所有磁盘来创建一个新的磁盘组。那么新的磁盘组可以MOUNT也可以删除。相比于选择2的唯一好处就是FOECE添加可以一次完成,这样新磁盘的添加可以在一段时间内完成,无需一直使用FOECE选项。

解决方案

下列步骤也是一种方法,可以实现这一目的。

1. 创建一个新的磁盘组,强制添加磁盘到新的磁盘组上。一旦磁盘被强制添加到新的磁盘组,原来的磁盘组(此例中即CIF_RECO_01)不复存在。

SQL> create diskgroup TEST_DG external redundancy
disk ‘/dev/raw/raw1’ FORCE, ‘/dev/raw/raw3’ FORCE;

注:之前的表述是个破坏性操作,因为“FORCE”选项将清除之前所有的ASM元数据,并初始化拥有新磁盘组相关的新ASM元数据的磁盘,因此之前所有分配到关联磁盘的数据结构(CREATE DISKGROUP语句指定的)都会被清除。因此,如果你不能确定磁盘列表,那么请打开服务请求(SR)与Oracle Support,我们将很乐意帮助您完成该任务。
2. 验证MOUNT.
SQL> select name, state from v$asm_diskgroup;
删除新的磁盘组以释放磁盘。
SQL> drop diskgroup TEST_DG;

验证磁盘头
SQL> select name,path,header_status from v$asm_disk;

磁盘上的header_status应为FORMER,这表明磁盘曾经是磁盘组的一部分,并且通过ALTER DISKGROUP语句可以被添加到新的磁盘组。

然后将磁盘添加到CIF_DATA_02, 预期的磁盘组.
SQL> alter diskgroup CIF_DATA_02 add disk ‘/dev/raw/raw1’, ‘/dev/raw/raw3’;


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *