热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在OracleASM_Diskgroup中重命名现有磁盘

【作者】李松青,浪潮商用机器Oracle 数据库现在大部分都用 ASM 管理磁盘,在操作系统上不能直观看出盘是否是 ASM Disk 。因此我们一般会在安装 O

【作者】李松青,浪潮商用机器


Oracle 数据库现在大部分都用 ASM 管理磁盘,在操作系统上不能直观看出盘是否是 ASM Disk 。因此我们一般会在安装 Oracle 配置 ASM 前将盘改个特定字符串开头的名字,以便系统开发和运维人员一眼就能看出它们是 Oracle ASM Disk 。

那如果在安装 Oracle 配置 ASM 前没有改名怎么办?做 IT 运维都是整天战战兢兢如履薄冰。要是哪天被不知情的同事把 ASM 用到的磁盘格了,导致生产系统故障,需要面对长时间从备份恢复数据 或者 丢失部分数据的话, DBA 面临的可就是 “ 被 ” 删库不得不跑路了。

Oracle 中给已有 ASM_Diskgroup 中磁盘改名也是比较 easy 的。以 Oracle RAC on AIX 为例, AIX 上缺省磁盘名都是 hdiskXX ,我们可以 rendev 命令对盘进行改名( Linux 系统上用 UDEV 实现)。既然要对底层盘改名,那最好是有一个短暂的数据库停机时间窗口。如果没有停机时间窗口, Oracle RAC 逐个节点操作,完成在线改名,步骤如下:

  1. 在 Oracle RAC 节点 1 上找出 ASM 用到的盘,比如本例中 ASM Diskgroup OCRDG 用的 hdisk7, hdisk8, hdisk9

  2. 停止 Oracle RAC 节点 1 上数据库实例,然后再停止节点 1 上所有服务 (/oracle/grid/bin/crsctl stop crs -f) ,确保节点 1 上服务都漂移到了节点 2

  3. 节点 1 用 rendev 将盘改成新名字(这里对新命名盘还用 hdisk 前缀,这条很重要,后面我们详细说明),主要改名后宿主和权限变了,要用 chmod,chown 改回来

  4. 启动 Oracle RAC 节点 1 集群服务 (/oracle/grid/bin/crsctl start crs)

  5. 启动 Oracle RAC 节点 1 数据库实例

  6. 把数据库服务从节点 2 移回节点 1

  7. 对 Oracle RAC 节点 2 ,重复上述第 1- 第 6 步,完成对节点 2 上 ASM diskgroup 中盘的改名

我们再来说说对新命名盘为什么还要用 hdisk 前缀,比如上面示例中改名为 hdisk_ora_ocr1, hdisk_ora_ocr2, hdisk_ora_ocr3 。如果不用 hdisk 前缀,直接改名为 ora_ocr1, ora_ocr2, ora_ocr3 行不行?答案是这样会很麻烦。

Oracle RAC 从 11gR2 开始,把 GI(Grid Infrastructure) 集群的配置信息存在 本地,并启用了一个很重要的守护进程( gpnpd ),相应的配置文件则存在 $GRID_HOME/gpnp/hostname/profiles/peer/profile.xml 。Oracle 依据这个配置文件中 DiscoveryString="/dev/rhdisk*" 找 ASM OCR 所在盘,然后启动集群 ASM 。如果把盘名前缀改成了非 hdisk 开头,则需要修正这个 profile.xml ,而这个 profile.xml 有 wallet 机制保护,不能直接编辑,需要用 Oracle gpnptool 工具去改,想想是不是有点麻烦。

做运维讲究大道至简,不能也没必要把问题搞得更复杂(如果出于好奇想研究研究,您可以参考 Oracle DOC: https://community.oracle.com/docs/DOC-1006976 )。AIX 上盘名最长可达 15 个字符,前缀依然用 hdisk ,后面还有 10 个字符,应该足够表达 ASM 盘的用途了。这样就可以轻松改好已有 ASM diskgroup 盘的名字,再也不用担心误操作 “ 被 ” 删库跑路了。

如有任何问题,可点击文末阅读原文,到社区原文下留言探讨

觉得本文有用,请转发、点赞或点击“在看”,让更多同行看到


 资料/文章推荐:

  • 150 篇数据库架构和运维知识,含Oracle、MySQL、Redis、PostgreSQL、Db2


点击阅读原文关注社区  “数据库”技术主题 ,将会不断更新优质资料、文章,您也可以前往提出疑难问题,与同行切磋交流。地址:https://www.talkwithtrend.com/Channel/597


下载 twt 社区客户端 APP


长按识别二维码即可下载

或到应用商店搜索“twt”


长按二维码关注公众号

*本公众号所发布内容仅代表作者观点,不代表社区立场



推荐阅读
author-avatar
840126054贝尔
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有