暂无图片
ORACLE RAC 的ASM如何添加磁盘
我来答
分享
吴明
2020-11-17
ORACLE RAC 的ASM如何添加磁盘
暂无图片 5M

先说下环境:
OS:Red Hat Enterprise Linux Server release 5.8 (Tikanga)
ORACLE:11.2.0.3.0
共3个ASM磁盘组:ARCH、CRS、DATADG,
每个磁盘组中的磁盘如下:
select group_number,DISK_NUMBER,NAME,PATH from v$asm_disk group by group_number,DISK_NUMBER,NAME,PATH;

GROUP_NUMBER DISK_NUMBER NAME PATH


       1           0 ARCH_0000            /dev/raw/raw6
       2           0 CRS_0000             /dev/raw/raw1
       2           1 CRS_0001             /dev/raw/raw2
       2           2 CRS_0002             /dev/raw/raw3
       3           0 DATADG_0000          /dev/raw/raw4
       3           1 DATADG_0001          /dev/raw/raw5
       3           2 DATADG_0002          /dev/raw/raw8
       3           3 DATADG_0003          /dev/raw/raw7
       3           4 DATADG_0004          /dev/raw/raw9
复制

其中DATADG磁盘组共5块300G的磁盘,用的是EMC存储,服务器上面安装了emc的powerpath多路径软件,总容量是1500G,现在空间不足,准备扩容
看了当前的系统配置文件,ASM磁盘是用的裸设备
cat /etc/udev/rules.d/60-raw.rules
接下来的问题是,从存储上面新增一个LUN映射给2台数据库服务器节点之后,如何在ASM磁盘组里添加这个新的磁盘呢?以下是步骤不知道是否正确
1,假设存储上划分的300G的LUN映射给服务器之后看到的盘符是emcpowerp
2,编辑60-raw.rules文件新增这个新的磁盘
ACTION==“add”, KERNEL==“emcpowerp”, RUN+="/bin/raw /dev/raw/raw10 %N"
ACTION==“add”, ENV{MAJOR}“120”, ENV{MINOR}“128”, RUN+="/bin/raw /dev/raw/raw10 %M %m"
KERNEL==“raw[10]”, OWNER=“grid” GROUP=“asmadmin”, MODE=“0660”
3,执行start_udev命令,让服务器重新启动udev服务去读取配置文件,正常情况的结果是会在/dev/raw/下面生成一个新的raw10
4,grid用户进入sqlplus执行如下命令向DATADG磁盘组增加硬盘
alter diskgroup DATADG add disk ‘/dev/raw/raw10’ name DATADG_0005 rebalance power 10;
5,上面命令执行完成后,查询ASM DATADG磁盘组会发现容量已经增长,并且能查到这个磁盘组的磁盘里已经有了raw10

请问各位,上面这些步骤是否有遗漏的?这些操作的时候是否要关闭数据库以及其他什么注意事项?

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
章芋文

先确认下有没有用asmlib,以及asm磁盘组的冗余方式和failgroup设置

暂无图片 评论
暂无图片 有用 0
打赏 0
吴明

@章芋文
你好,服务器没使用asmlib,没安装oracleasm的包,没有oracleasm命令
ASM磁盘组的冗余方式是EXTERN
SQL> select GROUP_NUMBER,NAME,TYPE from v$asm_diskgroup;

GROUP_NUMBER NAME TYPE

   1 ARCH                           EXTERN
   2 CRS                            NORMAL
   3 DATADG                         EXTERN
复制

SQL> col PATH for a20
SQL> /

GROUP_NUMBER DISK_NUMBER NAME FAILGROUP CREATE_DA PATH

   1           0 ARCH_0000                      ARCH_0000                      15-JUL-14 /dev/raw/raw6
   2           0 CRS_0000                       CRS_0000                       14-JUL-14 /dev/raw/raw1
   2           1 CRS_0001                       CRS_0001                       14-JUL-14 /dev/raw/raw2
   2           2 CRS_0002                       CRS_0002                       14-JUL-14 /dev/raw/raw3
   3           0 DATADG_0000                    DATADG_0000                    15-JUL-14 /dev/raw/raw4
   3           1 DATADG_0001                    DATADG_0001                    15-JUL-14 /dev/raw/raw5
   3           2 DATADG_0002                    DATADG_0002                    15-AUG-16 /dev/raw/raw8
   3           3 DATADG_0003                    DATADG_0003                    24-OCT-17 /dev/raw/raw7
   3           4 DATADG_0004                    DATADG_0004                    04-MAR-19 /dev/raw/raw9
复制
暂无图片 评论
暂无图片 有用 0
打赏 0
章芋文

第2步创建裸设备其实没有必要,既然你之前这么搞的,那新增也就这么搞吧
第4步,sqlplus / as sysasm

还遗漏了一些检查的步骤,参考文档
墨天轮文档:《Oracle ASM磁盘组扩容-Linux》:https://www.modb.pro/doc/182

墨天轮文档:《Oracle ASM磁盘组扩容-Aix》:https://www.modb.pro/doc/183

暂无图片 评论
暂无图片 有用 0
打赏 0
吴明

@章芋文
检查步骤很重要,尤其是备份。
我是刚接手这套库,之前不是我实施的,我也是看了之前的60-raw.rules配置文件才想着这些步骤的。
我只用过asmlib、udev的方式,这种裸设备没用过,所以不太确定是否正确
请问:如果第二步没有必要的话,那在ASM里如何添加?
直接这样么:
alter diskgroup DATADG add disk ‘/dev/emcpowerp’ name DATADG_0005 rebalance power 10;

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
tnsping 响应时间达到2s有些慢
回答 5
已采纳
有人说可以,把日志删除,会好点,但解决不了问题。300811/export/home/oracle/script/clearLsnLog.sh>/dev/null2>&1oracl
如何删除recover状态的datafile ?
回答 2
已采纳
alterdatabasedatafilexxxxofflinedrop;
哈希连接和嵌套循环连接的区别是什么?
回答 1
已采纳
‌哈希连接和嵌套循环连接是两种不同的数据库表连接方法,它们在实现方式、适用场景和性能表现上有所不同。‌哈希连接(HashJoin)是一种通过哈希运算来连接两个表的连接方法。在哈希连接中,优化器会选择较
Oracle 11g 数据库 备份数据量在1.1G左右 数据库从18年部署到现在没有优化过,最近两个月重启服务器监听程序就卡死,导致数据库无法使用必须重建监听程序,有什么好的优化方案?
回答 4
感觉得优先查看日志,看具体错误,目前看是监听方面存在问题,但数据应该不会影响;建议做好数据备份,在业务高峰期生成awr根据具体sql进行优化,大部分通过添加索引能提升数据库性能;深层优化就得以上老师说
如何让两个不同服务器上的Oracle数据库进行数据的实时同步? 希望各位大神能帮帮我
回答 9
已采纳
参考网上的三种软件对比:主流数据库容灾(复制)工具对比  OracleGoldenGateQuestShareplexDSGRealSync 公司概要 公司介绍
oracle11grac删除节点,部署的ogg进程报错
回答 5
按照杨老师的操作了还是不行。我觉得还是数据库删除节点没有删除干净,但是操作了也还是不行,具体操作如下:删除节点验证:[grid@db1bin]$cluvfystagepostnodedelndb3Pe
oracle 一个表和一个视图联合更新,表的索引字段和视图的对应字段类型一样,但是最大长度不一样,索引还有效果吗?
回答 1
已采纳
类型一致就行。看执行计划就行。前提是要有有效的where条件就行。
万里开源数据库符合国产化要求吗?
回答 1
万里开源加入了信息技术应用创新工作委员会,GreatDB数据库产品与浪潮、中科可控等完成了兼容性测试,并且加入了华为云鲲鹏凌云合作伙伴,数据库产品完全符合国产化的要求。
如何提供数据库性能并发能力
回答 2
已采纳
您好,为了提高并发能力,市面上主流的有2个方向的解决方案,1.shardingnothing(分布式,如国产数据库SUNDB);2.shardingeverthing(集中式,如甲骨文RAC)。具体可
ORA-27301: OS failure message: No buffer space available
回答 1
已采纳
这是由于可用于网络缓冲区预留的空间较少,当OS这内核参数配置vm.minfreekbytes较小时容易遇到ORACLE是建议加大vm.minfreekbytes或者缩小lomtu在具有高物理内存的服务