李松青
作者李松青2020-07-01 16:19
软件架构设计师, 浪潮商用机器企业云创新中心

如何给Oracle已有ASM_Diskgroup中磁盘改名

字数 1641阅读 802评论 0赞 1

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 盘的名字,再也不用担心误操作 “ 被 ” 删库跑路了。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表
相关推广
  • 2020 容器云职业技能大赛运维岗课程系列之—容器云平台的日常故障处理
    近年来,容器技术的发展也非常迅猛,以docker和kubernetes为代表的容器技术日新月异,但我们也在容器的使用过程中碰到各种困扰和难题。本文针对Docker容器和kubernetes集群安装,部署,维护过程中,产生的问题和故障,做出有针对性的说明和解决方案,希望可以帮助到大家去快速定位和解决类似问题故障。
  • 核心数据库服务器选型优先顺序调查

    发表您的选型观点,参与即得50金币。