一起执行添加和删除操作
或者,我们可以在一个操作中执行 add disk & drop disk 语句,这样只会启动一个 rebalance 操作,如下所示:
语法
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 N] rebalance power N;
这比单独的命令(添加磁盘和删除磁盘语句)更有效。
然后等待重新平衡操作完成:
SQL> select * from v$asm_operation; no rows selected
SQL> select * from gv$asm_operation; no rows selected
验证新磁盘是否可见
- 使用以下命令确认 ASM 正在检测新磁盘。
SQL> select path from v$asm_disk;
- 验证所有新磁盘,如下文所述。
更多: zhilu jiaocheng
将磁盘添加到磁盘组
- 将新磁盘添加到所需的磁盘组。
向磁盘组添加新磁盘的查询语法如下:
SQL> alter diskgroup [diskgroup name] add disk '[new disk 1]', '[new disk 2]', . . . '[new disk N]' rebalance power N;
2.然后等待重新平衡操作完成:
SQL> select * from v$asm_operation; no rows selected
SQL> select * from gv$asm_operation; no rows selected
这篇文章详细解释了在不停机的情况下将 ASM 磁盘组从一个存储迁移到另一个存储(非ASMLIB设备)的步骤。
此过程也适用于托管 OCR 和 Votefile 以及 ASM spfile 的磁盘组。
注意:这些步骤适用于外部、正常和高冗余磁盘组。
如果计划是用新存储替换与磁盘组关联的当前磁盘,则可以在不停机的情况下完成此操作,因此我们可以执行以下步骤
添加新的 asm_diskstring
备份所有数据库并使备份生效(保护数据始终是必需的)。
将新路径(来自新存储的新磁盘)添加到 asm_diskstring 以供 ASM 识别:
例如:
SQL> alter system set asm_diskstring = '/dev/emcpowerc*' , '/dev/emcpowerh*';
其中:
'/dev/emcpowerc* ' 是当前磁盘。
'/dev/emcpowerh* ' 是新磁盘。
在这里,我们以 EMC 电源路径设备为例。
我们也可以拥有 Veritas VxDMP 的设备或者任何其他多路径软件。
相应地更改 asm_diskstring。
删除旧磁盘
- 最后,我们可以从磁盘组中删除旧磁盘。
删除旧磁盘的查询语法如下:
SQL> alter diskgroup [diskgroup name] drop disk [disk name A], [disk name B], . . . [disk name N] rebalance power X;
2.然后等待重新平衡操作完成:
SQL> select * from v$asm_operation; no rows selected
SQL> select * from gv$asm_operation; no rows selected
- 完成, ASM 磁盘组和数据库已迁移到新存储。
日期:2020-09-17 00:11:43 来源:oir作者:oir