零宕机时间迁移 ASM 磁盘组到另一个 SAN/磁盘阵列/DAS 的准确步骤
参考文章:Doc ID 1946664.1
增加新的路径(新存储的新磁盘)到 asm_diskstring 以供 ASM 识别:
例如:
SQL> alter system set asm_diskstring = '/dev/emcpowerc*' , '/dev/emcpowerh*';
这里: '/dev/emcpowerc*' 是当前的磁盘。
这里: '/dev/emcpowerh*' 是新的磁盘。
确认新磁盘被 ASM 识别:
SQL> select path from v$asm_disk;
增加新磁盘到目标磁盘组:
SQL> alter diskgroup <diskgroup name> add disk
‘<new disk 1>’,
‘<new disk 2>’,
‘<new disk 3>’,
‘<new disk 4>’,
.
.
.
‘<new disk N>’ rebalance power <#>;
接下来等待重平衡操作完成:
SQL> select * from v$asm_operation;
SQL> select * from gv$asm_operation;
最后,移除旧磁盘:
SQL> alter diskgroup <diskgroup name> drop disk
<disk name A>,
<disk name B>,
<disk name D>,
<disk name E>,
.
.
.
<disk name X> rebalance power <#>;
接下来等待重平衡操作完成:
SQL> select * from v$asm_operation;
SQL> select * from gv$asm_operation;
至此,你您的 ASM 磁盘组和数据库已经迁移到了新的存储上面。
注: 或者,我们也可以按照如下命令,将加盘,删盘放在一个操作里执行,这种方式只会发生一次重平衡操作:
SQL> alter diskgroup <diskgroup name>
add disk '<new device physical name 1>', .., '<new device physical name N>'
drop disk <old disk logical name 1>, <old disk logical name 2>, ..,<old disk logical name N>
rebalance power <#>;
- 点赞
- 收藏
- 关注作者
评论(0)