rename asm diskgroup

在11.2之后,已经可以rename asm diskgroup了,而不必再新建diskgroup之后,再做image copy。

在11.2.中的gi home中,自带了一个命令renamedg,看下面的例子:

其步骤可以分成2个phase,第一个是生成一个configure文件(renamedg_config),第二个phase是执行这个configure文件,而文档中说的phase=both,是表示生成完后直接执行。

此外,在10g和11gR1也可以修改,但其实也是利用11gR2的renamedg工具。

注意:在操作的时候,踩了几个坑,在这里和大家分享一下。

(一)有可能需要设置asm_diskstring,我第一次没加这个参数,报错了KFNDG-00407:

注,disk所在的路径,可以参考asm实例中初始化参数asm_diskstring的设置,或者直接用kfod disks=all看也可以。

(二)第二次的时候,加了asm_diskstring这个参数,但是只是操作前仅umount了node1,忘记umount node2上的diskgroup,报错了KFNDG-00305:

解决了上面的2个问题,才是正常修改成功:

看上面的log看,似乎是锁定对应diskgroup的盘之后,修改asm盘头信息(Modifying the header),从而实现rename的目的。

从这个角度讲,如果手工的kfed修改盘头信息,kfdhdb.grpname字段,再merge进去,其实也是可以做到rename diskgroup的。而从理论上讲,diskgroup name的信息,只是包含在盘头信息中,不涉及盘头信息中disk的create timestamp和disk directory中disk的create timestamp一致性的问题了。所以只需要修改盘头就可以了。

下面,我就把已经用renamedg工具改成NEW_FRA的diskgroup,再改回FRA的名字。修改过程如下:
(注:USE kfed at your own risk!)

参考:

How To Rename A Diskgroup On ASM 11gR2? (Doc ID 948040.1)
How to rename diskgroup in 10g ASM (Pre-11gR2 release) (Doc ID 948605.1)
How to rename ASM diskgroup in Oracle 12c RAC Database

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据