ASM 磁盘组剔盘、加盘实施过程

ASM磁盘组剔盘、加盘实施过程

Task:从一个ASM磁盘组中剔除一块盘,加入到另一个ASM磁盘组。

环境: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磁盘组中剔除一块磁盘

从 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磁盘组的删盘加盘实施操作已经完成。

AlfredZhao©版权所有「从Oracle起航,领略精彩的IT技术。」
« 上一篇: db2 fixpack
» 下一篇: Oracle 12c 迁移MGMTDB 到其他的磁盘组
 

 

Add your comment

#1楼 [楼主] AlfredZhao 2018-04-22 20:41

Oracle 10.2.0.5 RAC测试环境

1
2
3
4
5
6
7
8
9
10
11
12
--ASM删盘:
 select name, state, type , total_mb, free_mb ,usable_file_mb from v$asm_diskgroup;
 select disk_number, state, name, path, total_mb, free_mb from v$asm_disk;
 alter diskgroup ZHAOJINGYU drop disk ZHAOJINGYU_0002;
 select * from v$asm_operation;
 select disk_number, state, name, total_mb, free_mb from v$asm_disk;
  
--ASM加盘
 select disk_number, state, name, path, total_mb, free_mb from v$asm_disk;
 alter diskgroup ZHAOJINGYU add disk '/dev/asm-diske';
 select * from v$asm_operation;
 select disk_number, state, name, total_mb, free_mb from v$asm_disk; 
posted @   耀阳居士  阅读(470)  评论(0编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示