Oracle ASM磁盘创建、删除

Oracle ASM磁盘创建

1、检查新加的磁盘

lsblk -l
  • # 如果新增磁盘没有刷出来
partprobe

cd /sys/class/scsi_host

for i in `ls `; do echo "- - -" >$i/scan ;done

2、配置ASM磁盘

  • 注意:下面需要查到盘符
for i in ab ac;
do
  echo "KERNEL==\"sd*\",SUBSYSTEM==\"block\",PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\",SYMLINK+=\"asm-disk$i\",OWNER=\"grid\", GROUP=\"asmadmin\",MODE=\"0660\""
done

3、添加

vi /etc/udev/rules.d/99-oracle-asmdevices.rules

4、生效并检查AMS磁盘

/sbin/udevadm trigger --type=devices --action=change
ls -lsa /dev/asm*
ls -lsa /dev/sd*

5、通过ASMCA图形界面添加硬盘到磁盘组

  • 忽略

6、通过命令行添加到磁盘组

sqlplus "/as sysasm"

create diskgroup dgdata03 
EXTERNAL REDUNDANCY   -- 普通冗余
disk '/dev/asm-data03'
ATTRIBUTE   -- 属性
'au_size'='8M',
'compatible.asm' = '19.0.0.0',
'compatible.rdbms' = '19.0.0.0';
  • 大于1T,要加compatible.asm' = '19.0.0.0'

7、查看空盘

set lin 200
set pagesize 200
col DGNAME format a15
col DISKNAME format a15
col PATH format a20
col NAME format a20
select NAME,MOUNT_STATUS,STATE,DISK_NUMBER "DNO",PATH,TOTAL_MB,FREE_MB,GROUP_NUMBER "GNO" from  /* 如果name为空,那么是没有加入磁盘组 */v$ASM_DISK 
order by NAME;
select GROUP_NUMBER ,NAME,STATE,TYPE,TOTAL_MB,FREE_MB,USABLE_FILE_MB,OFFLINE_DISKS from v$asm_diskgroup;

8、检查ASM 磁盘组里面有哪些盘是可用的?

select a.GROUP_NUMBER GNO,a.MOUNT_STATUS,a.STATE,a.TOTAL_MB "DT_MB",b.TOTAL_MB
"GT_MB",a.DISK_NUMBER DNO,a.PATH,a.name as diskname,b.name as dgname
from v$ASM_DISK a,v$asm_diskgroup b where b.name='DGDATA02' 
and a.GROUP_NUMBER=b.GROUP_NUMBER
order by a.group_number;

SELECT dg.name AS diskgroup,SUBSTR(c.instance_name,1,12) AS instance,
SUBSTR(c.db_name,1,12) AS dbname,
SUBSTR(c.SOFTWARE_VERSION,1,12) AS software,
SUBSTR(c.COMPATIBLE_VERSION,1,12) AS compatible
FROM V$ASM_DISKGROUP_STAT dg, V$ASM_CLIENT c 
WHERE dg.group_number = c.group_number;

select a.GROUP_NUMBER GNO,
a.MOUNT_STATUS,
a.STATE,
a.TOTAL_MB "DT_MB",
b.TOTAL_MB "GT_MB",
a.DISK_NUMBER DNO,
a.PATH,
a.name as diskname,
b.name as dgname
from v$ASM_DISK a, v$asm_diskgroup b
where b.name = 'DGDATA02'
and a.GROUP_NUMBER = b.GROUP_NUMBER
order by a.group_number;

9、磁盘组中添加磁盘

alter diskgroup dgdata02 add disk '/dev/asm-data12';

alter diskgroup dgdata02 add disk '/dev/asm-data13' rebalance power 8 /* rebalance power 8 平衡 */;

  • 添加磁盘的时候,建议一组(两个盘组)加,单个加对性能有影响。
  • 因为磁盘要做rebalance,最好在rebalance完后再使用磁盘组,查看后台平衡的情况 : 
select * from v$asm_operation;
  • 其中重点
  • SOFAR 已经平衡的数量
  • EST_WORK 剩余需要平衡的数据量
  • EST_MINUTES:操作剩余部分预计需要的估计时间量(分钟)
  • RAC环境下,在a机创建的diskgroup会自动mount,而b机需要手工mount后才可以使用.


10、删除磁盘

  • 删除的时候,需要删除磁盘别名
alter diskgroup dgdata02 drop disk 'DGDATA02_0000';


11、mount/umount 磁盘组

alter diskgroup dgdata02 dismount;

alter diskgroup dgdata02 mount;

-- alter diskgroup dgdata02 mount force;   -- 逻辑错误,强制挂载

select GROUP_NUMBER ,NAME,STATE,TYPE,TOTAL_MB,FREE_MB,USABLE_FILE_MB,OFFLINE_DISKS 
from v$asm_diskgroup;


12、删除磁盘组

drop diskgroup dgdata02;

drop diskgroup dgdata02 including contents ;
  • including contents:表示有内容也一起删除。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

の正在缓存99%

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值