Task:从一个ASM磁盘组中剔除一块盘,加入到另一个ASM磁盘组。
环境:AIX6.1 Oracle RAC 11.2.0.3 前期准备: 1.查看DG磁盘组空间情况:
代码语言:javascript复制--查看DG磁盘组空间情况:
ASMCMD> lsdg
State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 4096 1048576 9728000 19046 0 19046 0 N DATADG/
MOUNTED EXTERN N 512 4096 1048576 3584000 1261514 0 1261514 0 N RECOVERYDG/
2.查看ASM磁盘信息:
代码语言:javascript复制--查看ASM磁盘信息
ASMCMD> lsdsk -k
Total_MB Free_MB OS_MB Name Failgroup Failgroup_Type Library Label UDID Product Redund Path
512000 950 512000 DATADG_0007 DATADG_0007 REGULAR System UNKNOWN /dev/rhdisk23
512000 945 512000 DATADG_0008 DATADG_0008 REGULAR System UNKNOWN /dev/rhdisk24
512000 953 512000 DATADG_0009 DATADG_0009 REGULAR System UNKNOWN /dev/rhdisk25
512000 948 512000 DATADG_0011 DATADG_0011 REGULAR System UNKNOWN /dev/rhdisk26
512000 948 512000 DATADG_0012 DATADG_0012 REGULAR System UNKNOWN /dev/rhdisk27
512000 953 512000 DATADG_0020 DATADG_0020 REGULAR System UNKNOWN /dev/rhdisk28
512000 949 512000 DATADG_0021 DATADG_0021 REGULAR System UNKNOWN /dev/rhdisk29
512000 948 512000 DATADG_0022 DATADG_0022 REGULAR System UNKNOWN /dev/rhdisk30
512000 947 512000 DATADG_0023 DATADG_0023 REGULAR System UNKNOWN /dev/rhdisk31
512000 946 512000 DATADG_0024 DATADG_0024 REGULAR System UNKNOWN /dev/rhdisk32
512000 957 512000 DATADG_0025 DATADG_0025 REGULAR System UNKNOWN /dev/rhdisk33
512000 950 512000 DATADG_0026 DATADG_0026 REGULAR System UNKNOWN /dev/rhdisk34
512000 956 512000 DATADG_0027 DATADG_0027 REGULAR System UNKNOWN /dev/rhdisk35
512000 946 512000 DATADG_0028 DATADG_0028 REGULAR System UNKNOWN /dev/rhdisk36
512000 950 512000 DATADG_0029 DATADG_0029 REGULAR System UNKNOWN /dev/rhdisk37
512000 178001 512000 RECOVERYDG_0006 RECOVERYDG_0006 REGULAR System UNKNOWN /dev/rhdisk38
512000 177979 512000 RECOVERYDG_0007 RECOVERYDG_0007 REGULAR System UNKNOWN /dev/rhdisk39
512000 177968 512000 RECOVERYDG_0008 RECOVERYDG_0008 REGULAR System UNKNOWN /dev/rhdisk40
512000 177984 512000 RECOVERYDG_0009 RECOVERYDG_0009 REGULAR System UNKNOWN /dev/rhdisk41
512000 177983 512000 RECOVERYDG_0010 RECOVERYDG_0010 REGULAR System UNKNOWN /dev/rhdisk42
512000 177984 512000 RECOVERYDG_0011 RECOVERYDG_0011 REGULAR System UNKNOWN /dev/rhdisk43
512000 939 512000 DATADG_0000 DATADG_0000 REGULAR System UNKNOWN /dev/rhdisk44
512000 1288 512000 DATADG_0001 DATADG_0001 REGULAR System UNKNOWN /dev/rhdisk45
512000 1286 512000 DATADG_0002 DATADG_0002 REGULAR System UNKNOWN /dev/rhdisk46
512000 1287 512000 DATADG_0003 DATADG_0003 REGULAR System UNKNOWN /dev/rhdisk47
512000 177965 512000 RECOVERYDG_0000 RECOVERYDG_0000 REGULAR System UNKNOWN /dev/rhdisk48
实施步骤:
- 1.从RECOVERYDG磁盘组中剔除一块磁盘
- 2.等待同步完成
- 3.将磁盘加入到DATADG磁盘组
- 4.等待同步完成
1.从RECOVERYDG磁盘组中剔除一块磁盘
从 RECOVERYDG 剔除/dev/rhdisk38,对应信息:
代码语言:javascript复制 512000 178001 512000 RECOVERYDG_0006 RECOVERYDG_0006 REGULAR System UNKNOWN /dev/rhdisk38
查询asm磁盘组中的asm磁盘信息:
代码语言:javascript复制SQL> select disk_number, state, name, total_mb, free_mb from v$asm_disk where group_number = 2;
DISK_NUMBER STATE NAME TOTAL_MB FREE_MB
----------- ------------------------ ------------------------------------------------------------------------------------------ ---------- ----------
6 NORMAL RECOVERYDG_0006 512000 177536
7 NORMAL RECOVERYDG_0007 512000 177514
8 NORMAL RECOVERYDG_0008 512000 177503
9 NORMAL RECOVERYDG_0009 512000 177520
10 NORMAL RECOVERYDG_0010 512000 177520
11 NORMAL RECOVERYDG_0011 512000 177521
0 NORMAL RECOVERYDG_0000 512000 177501
7 rows selected.
删除计划剔除的磁盘:
代码语言:javascript复制sqlplus / as sysasm
SQL> alter diskgroup RECOVERYDG drop disk RECOVERYDG_0006;
2.等待同步完成
等待同步完成
select * from v$asm_operation; select disk_number, state, name, total_mb, free_mb from v$asm_disk where group_number = 2;
代码语言:javascript复制16:31:05 SQL> select disk_number, state, name, total_mb, free_mb from v$asm_disk where group_number = 2;
DISK_NUMBER STATE NAME TOTAL_MB FREE_MB
----------- -------- ------------------------------ ---------- ----------
6 DROPPING RECOVERYDG_0006 512000 180387
7 NORMAL RECOVERYDG_0007 512000 176893
8 NORMAL RECOVERYDG_0008 512000 176879
9 NORMAL RECOVERYDG_0009 512000 176899
10 NORMAL RECOVERYDG_0010 512000 176897
11 NORMAL RECOVERYDG_0011 512000 176896
0 NORMAL RECOVERYDG_0000 512000 176874
16:56:44 SQL> /
DISK_NUMBER STATE NAME TOTAL_MB FREE_MB
----------- -------- ------------------------------ ---------- ----------
7 NORMAL RECOVERYDG_0007 512000 120678
8 NORMAL RECOVERYDG_0008 512000 120684
9 NORMAL RECOVERYDG_0009 512000 120689
10 NORMAL RECOVERYDG_0010 512000 120681
11 NORMAL RECOVERYDG_0011 512000 120691
0 NORMAL RECOVERYDG_0000 512000 120690
6 rows selected.
alert.log也会有对应的日志记录:
代码语言:javascript复制Thu Apr 13 16:57:02 2017
NOTE: disk 6 (RECOVERYDG_0006) in group 2 (RECOVERYDG) is offline for reads
NOTE: disk 6 (RECOVERYDG_0006) in group 2 (RECOVERYDG) is offline for writes
SUCCESS: disk RECOVERYDG_0006 (6.2744176951) dropped from diskgroup RECOVERYDG
3.将磁盘加入到DATADG磁盘组
将/dev/rhdisk38 加入到 DATADG:
代码语言:javascript复制alter diskgroup DATADG add disk '/dev/rhdisk38' rebalance power 7;
查看rebalance情况: select disk_number, state, name, total_mb, free_mb from v$asm_disk where group_number = 1;
代码语言:javascript复制16:59:56 SQL> select disk_number, state, name, total_mb, free_mb from v$asm_disk where group_number = 1;
DISK_NUMBER STATE NAME TOTAL_MB FREE_MB
----------- -------- ------------------------------ ---------- ----------
7 NORMAL DATADG_0007 512000 1021
8 NORMAL DATADG_0008 512000 1016
9 NORMAL DATADG_0009 512000 1024
11 NORMAL DATADG_0011 512000 1019
12 NORMAL DATADG_0012 512000 1020
20 NORMAL DATADG_0020 512000 1025
21 NORMAL DATADG_0021 512000 1020
22 NORMAL DATADG_0022 512000 1020
23 NORMAL DATADG_0023 512000 1018
24 NORMAL DATADG_0024 512000 1017
25 NORMAL DATADG_0025 512000 1029
DISK_NUMBER STATE NAME TOTAL_MB FREE_MB
----------- -------- ------------------------------ ---------- ----------
26 NORMAL DATADG_0026 512000 1021
27 NORMAL DATADG_0027 512000 1028
28 NORMAL DATADG_0028 512000 1018
29 NORMAL DATADG_0029 512000 1021
4 NORMAL DATADG_0004 512000 510647
0 NORMAL DATADG_0000 512000 1011
1 NORMAL DATADG_0001 512000 1356
2 NORMAL DATADG_0002 512000 1354
3 NORMAL DATADG_0003 512000 1355
20 rows selected.
alert.log同样也有日志记录:
代码语言:javascript复制Thu Apr 13 16:59:54 2017
SUCCESS: disk DATADG_0004 (4.2744176966) added to diskgroup DATADG
4.等待同步完成
等待同步完成:
代码语言:javascript复制select * from v$asm_operation;
GROUP_NUMBER OPERA STAT POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES ERROR_CODE
------------ ----- ---- ---------- ---------- ---------- ---------- ---------- ----------- --------------------------------------------
1 REBAL RUN 7 7 10833 492997 7195 67
Elapsed: 00:00:00.46
17:00:49 SQL>
可以在同步的期间根据实际业务需求调整rebalance的级别:
代码语言:javascript复制17:04:59 SQL> alter diskgroup datadg rebalance power 5;
Diskgroup altered.
17:06:34 SQL> select * from v$asm_operation;
GROUP_NUMBER OPERA STAT POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES ERROR_CODE
------------ ----- ---- ---------- ---------- ---------- ---------- ---------- ----------- --------------------------------------------
1 REBAL RUN 5 5 11106 240895 6817 33
Elapsed: 00:00:00.46
最后同步完成,上述查询将不会有结果输出。
最后可以查看下DG磁盘组空间情况:
代码语言:javascript复制--查看DG磁盘组空间情况
ASMCMD> lsdg
State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN Y 512 4096 1048576 10240000 531040 0 531040 0 N DATADG/
MOUNTED EXTERN N 512 4096 1048576 3072000 713616 0 713616 0 N RECOVERYDG/
ASMCMD>
至此,整个ASM磁盘组的删盘加盘实施操作已经完成。