作者:Digital Observer(施嘉伟) Oracle ACE Pro: Database PostgreSQL ACE Partner 11年数据库行业经验,现主要从事数据库服务工作 拥有Oracle OCM、DB2 10.1 Fundamentals、MySQL 8.0 OCP、WebLogic 12c OCA、KCP、PCTP、PCSD、 PGCM、OCI、PolarDB技术专家、达梦师资认证、数据安全咨询高级等认证 ITPUB认证专家、PolarDB开源社区技术顾问、HaloDB技术顾问、TiDB社区技术布道师、青学会MOP技术社区专家顾问、国内某高校企业实践指导教师 公众号:Digital Observer;CSDN:施嘉伟;ITPUB:sjw1933;墨天轮:Digital Observer;PGFans:施嘉伟。
环境:AIX6.1 + Oracle RAC 11.2.0.3
前期准备:
1.查看DG磁盘组空间情况:
–查看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磁盘信息:
–查看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,对应信息:
512000 178001 512000 RECOVERYDG_0006 RECOVERYDG_0006 REGULAR System UNKNOWN /dev/rhdisk38
查询asm磁盘组中的asm磁盘信息:
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.
删除计划剔除的磁盘:
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; 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也会有对应的日志记录:
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:
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; 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同样也有日志记录:
Thu Apr 13 16:59:54 2017 SUCCESS: disk DATADG_0004 (4.2744176966) added to diskgroup DATADG
4.等待同步完成
等待同步完成:
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的级别:
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磁盘组空间情况: –查看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磁盘组的删盘加盘实施操作已经完成。
