- 最后登录
- 2015-3-6
- 在线时间
- 80 小时
- 威望
- 75
- 金钱
- 557
- 注册时间
- 2012-4-11
- 阅读权限
- 50
- 帖子
- 74
- 精华
- 0
- 积分
- 75
- UID
- 338
|
1#
发表于 2012-7-26 09:19:18
|
查看: 3592 |
回复: 0
刘大你好!我做了个关于ASM磁盘替换(数据迁移)的实验,并对比操作前后的变化,如下:
测试环境:
操作系统版本:
Linux linux1 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
数据环境:RAC single-node 11.2.0.3
SQL> select * from v$version where rownum<2;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
以下为测试过程:
磁盘组DATA1在迁移前的数据数据分布及空间使用情况
[code]
SQL> select a.name,a.type,b.path,b.name,b.total_mb,b.free_mb,b.state from v$asm_diskgroup a,v$asm_disk b where a.group_number=b.group_number and a.name='DATA1';
NAME TYPE PATH TOTAL_MB FREE_MB STATE
---------- ------------ -------------------- ---------- ---------- ----------------
DATA1 EXTERN ORCL:DATA4 2047 750 NORMAL
DATA1 EXTERN ORCL:DATA2 2047 751 NORMAL
磁盘组DATA1总共大小:4094mb
剩余:1501mb
USED:2593mb
接着往磁盘组DATA1中添加了2个磁盘,大小分别为2Gb和10Gb;
SQL> alter diskgroup data1 add disk 'ORCL:DATA5';
Diskgroup altered.
SQL> alter diskgroup data1 add disk 'ORCL:DATA1';
Diskgroup altered.
将平衡级别设置为11,加快平衡速度
SQL>alter diskgroup DATA1 rebalance power 11;
Diskgroup altered.
完成平衡后再次查看数据的分布和空间使用情况
SQL> select a.name,a.type,b.path,b.name,b.total_mb,b.free_mb,b.state from v$asm_diskgroup a,v$asm_disk b where a.group_number=b.group_number and a.name='DATA1';
NAME TYPE PATH NAME TOTAL_MB FREE_MB STATE
---------- ------------ -------------------- ---------- ---------- ---------- ----------------
DATA1 EXTERN ORCL:DATA1 DATA1 10236 9696 NORMAL
DATA1 EXTERN ORCL:DATA4 DATA4 2047 1361 NORMAL
DATA1 EXTERN ORCL:DATA2 DATA2 2047 1359 NORMAL
DATA1 EXTERN ORCL:DATA5 DATA5 2047 1364 NORMAL
磁盘组DATA1总共大小:16377mb
剩余:13780mb
USED:2597mb
最后将3块2G盘全部踢出DATA1磁盘组
SQL> alter diskgroup data1 drop disk data5;
Diskgroup altered.
……
SQL> alter diskgroup data1 drop disk data4;
Diskgroup altered.
……
SQL> alter diskgroup data1 drop disk data2;
Diskgroup altered.
平衡完成后再次查看磁盘组DATA1空间使用情况:
SQL> select a.name,a.type,b.path,b.name,b.total_mb,b.free_mb,b.state from v$asm_diskgroup a,v$asm_disk b where a.group_number=b.group_number and a.name='DATA1';
NAME TYPE PATH NAME TOTAL_MB FREE_MB STATE
---------- ------------ -------------------- ---------- ---------- ---------- ----------------
DATA1 EXTERN ORCL:DATA1 DATA1 10236 7645 NORMAL
磁盘组DATA1总共大小:10236mb
剩余:7654mb
USED:2951mb
问题:
对比使用空间为什么会发生变化,虽然变化不大,只要几兆,但是实际生产环境中如果几个T的数据,在做类似操作时是否会发生更大的变化。
ASM rebalance操作自身是否会整理磁盘组中的数据分布(是否类似于windows中的磁盘整理功能)。 |
|