Oracle 更换asm磁盘

背景介绍

公司的数据库存储老化,需要新的存储进行替换,为了减少对业务的影响,采用添加、删除磁盘的方式进行替换,这个方式可以参考我的另一篇uuid方式替换数据库存储;
本文是在存储替换的时候,发现很久之前使用afd安装的磁盘组有些问题,就想将afd格式的挂载方式改成普通的裸磁盘方式,才有了本文测试步骤:

卸载afd磁盘的准备工作

  1. 查看磁盘组中磁盘的状态,以及确认我要卸载AFD格式的盘,现在有一个标签为arch的磁盘在ocr的磁盘组(根据group_number对应到asm_diskgroup 从而确认磁盘组的名字)
    col failgroup for a20;
    col path for a30;
    set linesize 200;
    col total_size for a20;
    col free_size for a20;
    col name for a20;
    set pagesize 800;
    select group_number,name,mode_status,state,header_status,path,disk_number,round(total_mb/1024,2) || ‘G’ as total_size ,
    round(free_mb/1024,2) || ‘G’ as free_size from v$asm_disk order by 1,2;

GROUP_NUMBER NAME MODE_ST STATE HEADER_STATU PATH DISK_NUMBER TOTAL_SIZE FREE_SIZE


1 ARCH ONLINE NORMAL MEMBER AFD:ARCH 0 300G 299.65G

select GROUP_NUMBER,name,state,type,ALLOCATION_UNIT_SIZE,round(total_mb/1024,2) || ‘G’ as total_size , round(free_mb/1024,2) || ‘G’ as free_size,
USABLE_FILE_MB/1024 usableG from v$asm_diskgroup;

GROUP_NUMBER NAME STATE TYPE ALLOCATION_UNIT_SIZE TOTAL_SIZE FREE_SIZE USABLEG


   1     OCR         MOUNTED     EXTERN          4194304 300G               299.65G            299.648438
  1. 添加新磁盘为裸磁盘模式,要从AFD挂载磁盘方式转移到普通的裸磁盘方式:
    SQL> alter diskgroup OCR add disk ‘/dev/raw/raw12’ rebalance power 8;

Diskgroup altered.

查看rebalance进度,测试环境还挺快的,一下子就rebalance完了
SQL> select * from v$asm_operation;

no rows selected

  1. 查看添加磁盘后的状态
    SQL> select failgroup,group_number,name,mode_status,state,header_status,path,disk_number,round(total_mb/1024,2) || ‘G’ as total_size ,
    round(free_mb/1024,2) || ‘G’ as free_size from v$asm_disk order by 1,2; 2

FAILGROUP GROUP_NUMBER NAME MODE_ST STATE HEADER_STATU PATH DISK_NUMBER TOTAL_SIZE FREE_SIZE


ARCH 1 ARCH ONLINE NORMAL MEMBER AFD:ARCH 0 300G 299.8G
CRS 1 CRS ONLINE NORMAL MEMBER /dev/raw/raw12 1 300G 299.84G

  1. 删除原有afd的磁盘
    SQL> alter diskgroup OCR drop disk ARCH rebalance power 8;

Diskgroup altered.

  1. 再次查看验证磁盘组的状态
    SQL> select failgroup,group_number,name,mode_status,state,header_status,path,disk_number,round(total_mb/1024,2) || ‘G’ as total_size ,
    round(free_mb/1024,2) || ‘G’ as free_size from v$asm_disk order by 1,2; 2

FAILGROUP GROUP_NUMBER NAME MODE_ST STATE HEADER_STATU PATH DISK_NUMBER TOTAL_SIZE FREE_SIZE


CRS 1 CRS ONLINE NORMAL MEMBER /dev/raw/raw12 1 300G 299.65G

  1. 查看afd加载的路径,如果没有afd_dsset添加路径
    [root@d2-dbrac21 ~]# asmcmd afd_dsget
    ASMCMD-00003: ORACLE_BASE environment variable not set
    [root@d2-dbrac21 ~]# export ORACLE_BASE=/u01/app/grid/
    [root@d2-dbrac21 ~]# asmcmd dsget
    parameter:AFD:*
    profile:AFD:*

  2. 添加普通磁盘的路径
    [root@d2-dbrac21 ~]# asmcmd dsset ‘/dev/raw/raw*’,'AFD:
    [root@d2-dbrac21 ~]# asmcmd dsget
    parameter:/dev/raw/raw
    , AFD:*
    profile:/dev/raw/raw*,AFD:*

  3. 查看afd现在的状态
    [root@d2-dbrac21 ~]# asmcmd afd_stte
    ASMCMD-00003: ORACLE_BASE environment variable not set
    [root@d2-dbrac21 ~]# asmcmd afd_state
    ASMCMD-00003: ORACLE_BASE environment variable not set
    [root@d2-dbrac21 ~]# export ORACLE_BASE=/u01/app/grid/
    [root@d2-dbrac21 ~]# asmcmd afd_state
    ASMCMD-9526: The AFD state is ‘LOADED’ and filtering is ‘ENABLED’ on host ‘d2-dbrac21’

卸载afd配置

  1. 将afd filter禁用掉,要不然会随着crs启动而启动
    [root@d2-dbrac21 ~]# asmcmd afd_filter -d
    [root@d2-dbrac21 ~]# asmcmd afd_state
    ASMCMD-9526: The AFD state is ‘LOADED’ and filtering is ‘DISABLED’ on host ‘d2-dbrac21’

  2. 查看磁盘自启动状态
    [root@d2-dbrac21 ~]# asmcmd afd_lsdsk
    Label Filtering Path

ARCH DISABLED /dev/raw/raw11
CRS DISABLED /dev/raw/raw12

  1. 卸载afd驱动,需做如下两步(否则会报如下错误),但无循序区分:
    3.1. 暂时关闭acfs驱动,否则无法deconfig afd 驱动,会报错:ASMCMD-9525: AFD deconfiguration failed ‘ERROR: acfs driver is loaded’;
    3.2. 关闭一个节点的crs,否则deconfig afd 驱动的会报错:ASMCMD-9523: command cannot be used when Oracle Clusterware stack is up;

[root@d2-dbrac21 ~]# /u01/app/19.0.0/grid/bin/acfsload stop
[root@d2-dbrac21 ~]# /u01/app/19.0.0/grid/bin/asmcmd afd_deconfigure
ASMCMD-9523: command cannot be used when Oracle Clusterware stack is up

[root@d2-dbrac21 ~]# /u01/app/19.0.0/grid/bin/crsctl stop crs
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on ‘d2-dbrac21’
CRS-2673: Attempting to stop ‘ora.crsd’ on ‘d2-dbrac21’
CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on server ‘d2-dbrac21’
CRS-2673: Attempting to stop ‘ora.LISTENER.lsnr’ on ‘d2-dbrac21’
CRS-2673: Attempting to stop ‘ora.cvu’ on ‘d2-dbrac21’
CRS-2673: Attempting to stop ‘ora.qosmserver’ on ‘d2-dbrac21’
CRS-2673: Attempting to stop ‘ora.LISTENER_SCAN1.lsnr’ on ‘d2-dbrac21’
CRS-2673: Attempting to stop ‘ora.chad’ on ‘d2-dbrac21’
CRS-33673: Attempting to stop resource group ‘ora.asmgroup’ on server ‘d2-dbrac21’
CRS-2673: Attempting to stop ‘ora.OCR.dg’ on ‘d2-dbrac21’
CRS-2677: Stop of ‘ora.OCR.dg’ on ‘d2-dbrac21’ succeeded
CRS-2673: Attempting to stop ‘ora.asm’ on ‘d2-dbrac21’
CRS-2677: Stop of ‘ora.LISTENER.lsnr’ on ‘d2-dbrac21’ succeeded
CRS-2673: Attempting to stop ‘ora.d2-dbrac21.vip’ on ‘d2-dbrac21’
CRS-2677: Stop of ‘ora.cvu’ on ‘d2-dbrac21’ succeeded
CRS-2677: Stop of ‘ora.LISTENER_SCAN1.lsnr’ on ‘d2-dbrac21’ succeeded
CRS-2673: Attempting to stop ‘ora.scan1.vip’ on ‘d2-dbrac21’
CRS-2677: Stop of ‘ora.asm’ on ‘d2-dbrac21’ succeeded
CRS-2673: Attempting to stop ‘ora.ASMNET1LSNR_ASM.lsnr’ on ‘d2-dbrac21’
CRS-2677: Stop of ‘ora.d2-dbrac21.vip’ on ‘d2-dbrac21’ succeeded
CRS-2677: Stop of ‘ora.scan1.vip’ on ‘d2-dbrac21’ succeeded
CRS-2677: Stop of ‘ora.chad’ on ‘d2-dbrac21’ succeeded
CRS-2677: Stop of ‘ora.ASMNET1LSNR_ASM.lsnr’ on ‘d2-dbrac21’ succeeded
CRS-2673: Attempting to stop ‘ora.asmnet1.asmnetwork’ on ‘d2-dbrac21’
CRS-2677: Stop of ‘ora.asmnet1.asmnetwork’ on ‘d2-dbrac21’ succeeded
CRS-33677: Stop of resource group ‘ora.asmgroup’ on server ‘d2-dbrac21’ succeeded.
CRS-2677: Stop of ‘ora.qosmserver’ on ‘d2-dbrac21’ succeeded
CRS-2672: Attempting to start ‘ora.qosmserver’ on ‘d2-dbrac22’
CRS-2672: Attempting to start ‘ora.scan1.vip’ on ‘d2-dbrac22’
CRS-2672: Attempting to start ‘ora.cvu’ on ‘d2-dbrac22’
CRS-2672: Attempting to start ‘ora.d2-dbrac21.vip’ on ‘d2-dbrac22’
CRS-2676: Start of ‘ora.cvu’ on ‘d2-dbrac22’ succeeded
CRS-2676: Start of ‘ora.d2-dbrac21.vip’ on ‘d2-dbrac22’ succeeded
CRS-2676: Start of ‘ora.scan1.vip’ on ‘d2-dbrac22’ succeeded
CRS-2672: Attempting to start ‘ora.LISTENER_SCAN1.lsnr’ on ‘d2-dbrac22’
CRS-2676: Start of ‘ora.LISTENER_SCAN1.lsnr’ on ‘d2-dbrac22’ succeeded
CRS-2676: Start of ‘ora.qosmserver’ on ‘d2-dbrac22’ succeeded
CRS-2673: Attempting to stop ‘ora.ons’ on ‘d2-dbrac21’
CRS-2677: Stop of ‘ora.ons’ on ‘d2-dbrac21’ succeeded
CRS-2673: Attempting to stop ‘ora.net1.network’ on ‘d2-dbrac21’
CRS-2677: Stop of ‘ora.net1.network’ on ‘d2-dbrac21’ succeeded
CRS-2792: Shutdown of Cluster Ready Services-managed resources on ‘d2-dbrac21’ has completed
CRS-2677: Stop of ‘ora.crsd’ on ‘d2-dbrac21’ succeeded
CRS-2673: Attempting to stop ‘ora.asm’ on ‘d2-dbrac21’
CRS-2673: Attempting to stop ‘ora.crf’ on ‘d2-dbrac21’
CRS-2673: Attempting to stop ‘ora.drivers.acfs’ on ‘d2-dbrac21’
CRS-2673: Attempting to stop ‘ora.mdnsd’ on ‘d2-dbrac21’
CRS-2677: Stop of ‘ora.drivers.acfs’ on ‘d2-dbrac21’ succeeded
CRS-2677: Stop of ‘ora.crf’ on ‘d2-dbrac21’ succeeded
CRS-2677: Stop of ‘ora.mdnsd’ on ‘d2-dbrac21’ succeeded
CRS-2677: Stop of ‘ora.asm’ on ‘d2-dbrac21’ succeeded
CRS-2673: Attempting to stop ‘ora.cluster_interconnect.haip’ on ‘d2-dbrac21’
CRS-2677: Stop of ‘ora.cluster_interconnect.haip’ on ‘d2-dbrac21’ succeeded
CRS-2673: Attempting to stop ‘ora.ctssd’ on ‘d2-dbrac21’
CRS-2673: Attempting to stop ‘ora.evmd’ on ‘d2-dbrac21’
CRS-2677: Stop of ‘ora.ctssd’ on ‘d2-dbrac21’ succeeded
CRS-2677: Stop of ‘ora.evmd’ on ‘d2-dbrac21’ succeeded
CRS-2673: Attempting to stop ‘ora.cssd’ on ‘d2-dbrac21’
CRS-2677: Stop of ‘ora.cssd’ on ‘d2-dbrac21’ succeeded
CRS-2673: Attempting to stop ‘ora.driver.afd’ on ‘d2-dbrac21’
CRS-2673: Attempting to stop ‘ora.gipcd’ on ‘d2-dbrac21’
CRS-2673: Attempting to stop ‘ora.gpnpd’ on ‘d2-dbrac21’
CRS-2677: Stop of ‘ora.driver.afd’ on ‘d2-dbrac21’ succeeded
CRS-2677: Stop of ‘ora.gipcd’ on ‘d2-dbrac21’ succeeded
CRS-2677: Stop of ‘ora.gpnpd’ on ‘d2-dbrac21’ succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ‘d2-dbrac21’ has completed
CRS-4133: Oracle High Availability Services has been stopped.

[root@d2-dbrac21 ~]# /u01/app/19.0.0/grid/bin/asmcmd afd_deconfigure
ASMCMD-9525: AFD deconfiguration failed ‘ERROR: acfs driver is loaded’
[root@d2-dbrac21 ~]# /u01/app/19.0.0/grid/bin/acfsload stop
[root@d2-dbrac21 ~]# /u01/app/19.0.0/grid/bin/asmcmd afd_deconfigure
AFD-632: Existing AFD installation detected.
AFD-634: Removing previous AFD installation.
AFD-635: Previous AFD components successfully removed.
Modifying resource dependencies - this may take some time.

  1. 到此位置,afd卸载成功,查看验证:
    [root@d2-dbrac21 ~]# asmcmd afd_state
    ASMCMD-9530: The AFD state is ‘NOT INSTALLED’

以上都是在测试、生产实施过的步骤,有任何建议、疑问可以留言、私信,希望与大家 共同进步!
同时感谢云和恩墨大佬的文章,给与启发与参考: https://cdn.modb.pro/db/49585

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值