快速重新平衡
ALTER DISKGROUP ... MOUNT语句允许磁盘组以限制(RESTRICTED)模式挂载:
SQL> SELECT name FROM v$asm_diskgroup;
NAME
------------------------------
DATA
SQL> ALTER DISKGROUP data DISMOUNT;
Diskgroup altered.
SQL> ALTER DISKGROUP data MOUNT RESTRICTED;
Diskgroup altered.
SQL> ALTER DISKGROUP data DISMOUNT;
Diskgroup altered.
SQL> ALTER DISKGROUP data MOUNT;
Diskgroup altered.
SQL>
NAME
------------------------------
DATA
SQL> ALTER DISKGROUP data DISMOUNT;
Diskgroup altered.
SQL> ALTER DISKGROUP data MOUNT RESTRICTED;
Diskgroup altered.
SQL> ALTER DISKGROUP data DISMOUNT;
Diskgroup altered.
SQL> ALTER DISKGROUP data MOUNT;
Diskgroup altered.
SQL>
在RAC环境中,磁盘组以RESTRICTED模式挂载时,只能有一个实例访问它,受限的磁盘组对任何ASM客户端都是不可用的,即使节点已经挂载。
使用RESTRICTED模式改善了RAC环境中重新平衡操作的性能,当重新平衡操作完成时,应该卸载磁盘组,然后以NORMAL模式挂载(默认模式)。
混合磁盘组维护增强
CREATE DISKGROUP 和 ALTER DISKGROUP包括了新的ATTRIBUTE子句(compatible, disk_repair_time, au_size)。
ALTER DISKGROUP命令的CHECK子句已经被简化,只留下了两个选项:NOREPAIR和REPAIR。默认使用NOREPAIR。这时只会显示错误概要,详细错误信息会写到警告日志中。
ALTER DISKGROUP data CHECK; -- Like NOREPAIR
ALTER DISKGROUP data CHECK NOREPAIR;
ALTER DISKGROUP data CHECK REPAIR;
ALTER DISKGROUP data CHECK NOREPAIR;
ALTER DISKGROUP data CHECK REPAIR;
磁盘组可以以限制(RESTRICTED)模式挂载了,它改善了某些维护任务的性能。
ALTER DISKGOUP命令包括了ONLINE和OFFLINE子句,在磁盘维护时可以先离线,修复好后再恢复到在线状态。
-- 个体磁盘.
ALTER DISKGROUP data OFFLINE DISK 'disk_0000', 'disk_0001';
ALTER DISKGROUP data ONLINE DISK 'disk_0000', 'disk_0001';
-- 失效组.
ALTER DISKGROUP data OFFLINE DISKS IN FAILGROUP 'fg_0000';
ALTER DISKGROUP data ONLINE DISKS IN FAILGROUP 'fg_0000';
-- 将所有磁盘以磁盘组形式恢复到在线状态.
ALTER DISKGROUP data ONLINE ALL;
ALTER DISKGROUP data OFFLINE DISK 'disk_0000', 'disk_0001';
ALTER DISKGROUP data ONLINE DISK 'disk_0000', 'disk_0001';
-- 失效组.
ALTER DISKGROUP data OFFLINE DISKS IN FAILGROUP 'fg_0000';
ALTER DISKGROUP data ONLINE DISKS IN FAILGROUP 'fg_0000';
-- 将所有磁盘以磁盘组形式恢复到在线状态.
ALTER DISKGROUP data ONLINE ALL;
ASM不能挂载的磁盘组现在可以使用DROP DISKGROUP命令加上FORCE关键字进行强制删除了。
DROP DISKGROUP data FORCE;