1.原理
rebalance过程主要基于asm磁盘组进行的,磁盘组是asm中的一个存储单位,由多个磁盘构成,asm可以在这些磁盘之间自动管理数据文件分布。当磁盘组中的磁盘出现故障或维护时,asm自动将存储在这个磁盘上的数据迁移到其他硬盘,保证数据的可用性,这个过程就是reblance。
reblance执行是基于asm元数据,元数据记录了asm管理的所有文件和磁盘的信息,包括文件位置、大小、创建时间,asm会定期扫描这些元数据,并根据算法计算出最佳的数据分布方式,然后执行rebalance操作。
2.作用
帮助dba自动化存储管理任务,提高存储效率,保证数据安全性;需要在负载较低时执行,并备份数据库。
3.查询及调整平衡能力
查询当前平衡能力:默认1,最高11,数值越高平衡越强,消耗资源越多。
show parameter asm_power_limit;
修改平衡能力,也可以alter diskgroup 修改
alter system set asm_power_limit =6;
执行重新平衡
alter diskgroup xx rebalance ;
查询平衡状态
set lines 300 pages 300
col ERROR_CODE for a30
select * from v$asm_operation;
group_number:asm磁盘组编号
operation:操作类型,如rebalance
REBAL REBALANCE:核心数据迁移阶段。
REBAL COMPACT:碎片整理或数据压缩阶段。
REBAL REBUILD/RESILVER/RESYNC:冗余修复或镜像同步阶段。
state:操作状态,如wait、running
power:重平衡操作级别(0-11)
sofar:目前为止挪动的au数量
est_work:估计要挪动的au总数量
est_rate:预计的完成速率
est_minutes:预计的剩余时间分钟
au:asm分配空间时,以au为单位进行,allocation units时组成asm disk的基本单位。4.处理操作等待的方法步骤
1)查询当前状态lsop,这个一直wait很长时间了。
2)手动暂停平衡操作
sqlplus / as sysasm
ALTER DISKGROUP CATALOG REBALANCE POWER 0;

3)重新启动再平衡,默认情况使用asm_power_limit参数值
ALTER DISKGROUP CATALOG REBALANCE power 6;
arb0进程已经启动了

操作已经开始跑了


4)rebalance结束,查询视图没有结果
select * from v$asm_operation;
5)恢复默认值
ALTER DISKGROUP CATALOG REBALANCE power 1;




