ASM磁盘更换存储

数据库:11GR2
磁盘组一共三个:OCR,DATA,FRA
都是normal冗余,OCR三个盘,DATA和FRA都是两个盘

1、添加磁盘

2、udev绑定,两个节点都要做

[root@node1 rules.d]# scsi_id -g -u -s /block/sdi
SATA_VBOX_HARDDISK_VB3dbdf2cb-75c8d4b7_
[root@node1 rules.d]# scsi_id -g -u -s /block/sdj
SATA_VBOX_HARDDISK_VB6a121011-19243402_
[root@node1 rules.d]# scsi_id -g -u -s /block/sdk
SATA_VBOX_HARDDISK_VB1e188f99-f21e3844_
[root@node1 rules.d]# scsi_id -g -u -s /block/sdl
SATA_VBOX_HARDDISK_VB5d773992-e35ae230_
[root@node1 rules.d]# scsi_id -g -u -s /block/sdm
SATA_VBOX_HARDDISK_VB65c8df80-b313ba00_
[root@node1 rules.d]# scsi_id -g -u -s /block/sdn
SATA_VBOX_HARDDISK_VB27ea6c33-9f356716_
[root@node1 rules.d]# scsi_id -g -u -s /block/sdo
SATA_VBOX_HARDDISK_VBc77fd89d-94530a06_
[root@rac1 ~]# cd /etc/udev/rules.d/
[root@rac1 rules.d]# vi 99-oracle-asmdevices.rules


KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="SATA_VBOX_HARDDISK_VB3dbdf2cb-75c8d4b7_", NAME="asm_orc101", OWNER="grid",GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="SATA_VBOX_HARDDISK_VB6a121011-19243402_", NAME="asm_ocr102", OWNER="grid",GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="SATA_VBOX_HARDDISK_VB1e188f99-f21e3844_", NAME="asm_orc103", OWNER="grid",GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="SATA_VBOX_HARDDISK_VB5d773992-e35ae230_", NAME="asm_data101", OWNER="grid",GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="SATA_VBOX_HARDDISK_VB65c8df80-b313ba00_", NAME="asm_data102", OWNER="grid",GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="SATA_VBOX_HARDDISK_VB27ea6c33-9f356716_", NAME="asm_fra101", OWNER="grid",GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="SATA_VBOX_HARDDISK_VBc77fd89d-94530a06_", NAME="asm_fra102", OWNER="grid",GROUP="oinstall", MODE="0660"

在节点上启动udev服务,或者重启服务器

[root@rac1 rules.d]# /sbin/udevcontrol reload_rules
[root@rac1 rules.d]# /sbin/start_udev
Starting udev:                                             [  OK  ]

检查udev是否成功

[root@rac1 rules.d]# cd /dev
[root@rac1 dev]# ls -l asm*

3、模拟在线更换磁盘,执行下面的语句,观察更换磁盘时有没有报错

DECLARE
BEGIN
  FOR I IN 1 .. 1000000 LOOP
    INSERT INTO T1 VALUES (I);
    COMMIT;
    DBMS_LOCK.SLEEP(1);
  END LOOP;
EXCEPTION
  WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE(SQLCODE || ':' || SQLERRM);
END;

4、添加删除磁盘过程中常用的3个查询

select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS, MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;

SELECT * FROM v$asm_diskgroup;

select * from v$asm_operation;

5、添加磁盘
使用sqlplus / as sysasm登录,不能使用sqlplus / as sysdba

[grid@node1 ~]$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.1.0 Production on Fri May 5 11:16:27 2017

Copyright (c) 1982, 2009, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Real Application Clusters and Automatic Storage Management options

SQL> alter diskgroup DATA add disk '/dev/asm_data101';

Diskgroup altered.

添加完磁盘之后,oracle会自动做重平衡rebalance操作,可以通过视图查看

SQL> select * from v$asm_operation;
GROUP_NUMBER OPERATION STATE      POWER     ACTUAL      SOFAR   EST_WORK   EST_RATE EST_MINUTES ERROR_CODE
------------ --------- ----- ---------- ---------- ---------- ---------- ---------- ----------- --------------------------------------------
           2 REBAL     RUN            1          1        711       1323        301           2 

说明还在做重平衡的操作,重平衡的过程就是从其他的磁盘向新磁盘挪动数据的过程,如果数据量很大,这个时间会很长。
SOFAR:就是目前为止挪动的AU数量711
EST_WORK:估计要挪动的AU数量1323

SQL> show parameter asm_power_limit
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
asm_power_limit                      integer     1

如果存储比较高端,可以将这个值设置大一点(power取值0-11),

alter diskgroup data_dg rebalance power 11;

power=0就是停止rebalance操作。
EST_RATE:估计每分钟挪动的AU数量
EST_MINUTES:估计挪动多少分钟
Oracle执行重平衡的进程是ASMB,可以查看一下:

[grid@11grac1 ~]$ ps -ef|grep asmb
grid     21701     1  0 03:50 ?        00:00:05 asm_asmb_+ASM1
grid     21706     1  0 03:50 ?        00:00:12 oracle+ASM1_asmb_+asm1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

过段时间查看,重平衡操作结束。

SQL> select * from v$asm_operation;
no rows selected

6、删除磁盘

SQL> alter diskgroup DATA drop disk 'DATA_0000';  --按照name来删除

Diskgroup altered.

删除后重平衡时磁盘的状态是:DROPPING
重平衡结束后状态是:FORMER
name和status都通过v$asm_disk查询

结论:
根据实验情况看,添加删除磁盘可以在线操作,但是重平衡会产生IO,因此最好在业务量较少的时候做,并一定要提前进行数据备份。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值