Oracle RAC集群增加新共享硬盘并使用AFD的式增加新ASM磁盘组

  • Oracle RAC集群增加新共享硬盘并使用AFD的式增加新ASM磁盘组
    • 实验环境背景
    • 实验步骤
    • 后续

Oracle RAC集群增加新共享硬盘并使用AFD的式增加新ASM磁盘组

此实验是在ASM共享磁盘的RAC环境下增加新共享硬盘并新建ASM磁盘组创建相应的表空间和表数据进行测试过程。参考资料包括了https://www.oracle.com/cn/technical-resources/article/database/asmfd.html Oracle ASM Filter Driver相关资料。

具体实验记录如下:

实验环境背景

数据库集群版本

[grid@rac2 ~]$ crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [19.0.0.0.0]

ASM磁盘开启的文件

ASMCMD> lsof
DB_Name  Instance_Name  Path
+ASM     +ASM2          +ORS.255.1038877513
racdb    racdb2         +DATA/RACDB/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.266.1038939581
racdb    racdb2         +DATA/RACDB/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.265.1038939581
racdb    racdb2         +DATA/RACDB/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.267.1038939581
racdb    racdb2         +DATA/RACDB/A4582AEF3E8210F9E0533C23100A3339/TEMPFILE/temp.268.1038939611
racdb    racdb2         +DATA/RACDB/CONTROLFILE/current.261.1038938883
racdb    racdb2         +DATA/RACDB/DATAFILE/sysaux.258.1038938777
racdb    racdb2         +DATA/RACDB/DATAFILE/system.257.1038938723
racdb    racdb2         +DATA/RACDB/DATAFILE/undotbs1.259.1038938803
racdb    racdb2         +DATA/RACDB/DATAFILE/undotbs2.269.1038940101
racdb    racdb2         +DATA/RACDB/DATAFILE/users.260.1038938803
racdb    racdb2         +DATA/RACDB/ONLINELOG/group_1.262.1038938887
racdb    racdb2         +DATA/RACDB/ONLINELOG/group_2.263.1038938887
racdb    racdb2         +DATA/RACDB/ONLINELOG/group_3.270.1038940635
racdb    racdb2         +DATA/RACDB/ONLINELOG/group_4.271.1038940637
racdb    racdb2         +DATA/RACDB/TEMPFILE/temp.264.1038938901

ASM客户端信息

ASMCMD> lsct
DB_Name  Status     Software_Version  Compatible_version  Instance_Name  Disk_Group
+ASM     CONNECTED        19.0.0.0.0          19.0.0.0.0  +ASM2          ORS
+ASM     CONNECTED        19.0.0.0.0          19.0.0.0.0  +ASM2          DATA
_OCR     CONNECTED                 -                   -  rac2           ORS
racdb    CONNECTED        19.0.0.0.0          19.0.0.0.0  racdb2         DATA

实验步骤

  1. 新增共享硬盘

    本次新增硬盘到添加ASM新的磁盘的整个过程和创建搭建数据库时的ASM磁盘组类似,最后会有尝试使用ASMFD的新功能(这是一个可以取代 ASMLIB 和 udev 设置的新功能)直接绑定新硬盘然后加入数据库来使用。

    节点1:新增硬盘9,容量为50G

    节点2:使用节点1的硬盘9,容量为50G

  2. 使用udev配置Asm磁盘(两节点都做)

    虚拟机在要之前配置共享存储时在各自的虚拟机安装路径中的vmx文件中添加disk.enableUUID = "TRUE"才会显示UUID。udev是一种工具,它能够根据系统中的硬件设备的状态动态更新设备文件,包括设备文件的创建,删除等。设备文件通常放在/dev目录下。使用udev后,在/dev目录下就只包含系统中真正存在的设备。

     [root@rac1 ~]# fdisk -l    //查看新增硬盘Disk /dev/sdi: 53.7 GB, 53687091200 bytes, 104857600 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytes//按步骤增加磁盘的分区1root@rac1 ~]# fdisk /dev/sdiWelcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Device does not contain a recognized partition tableBuilding a new DOS disklabel with disk identifier 0x9a414875.Command (m for help): nPartition type:p   primary (0 primary, 0 extended, 4 free)e   extendedSelect (default p): Using default response pPartition number (1-4, default 1): First sector (2048-104857599, default 2048): Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599): Using default value 104857599Partition 1 of type Linux and of size 50 GiB is setCommand (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.
    

    两节点分别fdisk -l ,显示都一致

     Disk /dev/sdi: 53.7 GB, 53687091200 bytes, 104857600 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x9a414875Device Boot      Start         End      Blocks   Id  System/dev/sdi1            2048   104857599    52427776   83  Linux
    

    但是节点2没有sdi1 且没有UUID显示

     [root@rac2 ~]# partprobe /dev/sdsda   sda1  sda2  sdb   sdb1  sdc   sdc1  sdd   sdd1  sde   sde1  sdf   sdf1  sdg   sdg1  sdh   sdh1  sdi   [root@rac2 ~]# /usr/lib/udev/scsi_id -g -u -d /dev/sdi1[root@rac2 ~]# [root@rac2 ~]# partprobe /dev/sdi  //通知内核sdi盘变化 [root@rac2 ~]# /usr/lib/udev/scsi_id -g -u -d /dev/sdi1         //可以出现UUID代表正常36000c295d9c2913ec150e329c3465337
    

    新增物理盘为ASM磁盘组成员,节点1:

     [root@rac1 ~]# vi sdi1.sh#!/bin/bashfor i in i ;doecho "KERNEL==\"sd?1\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id -g -u -d /dev/\$parent\", RESULT==\"`/usr/lib/udev/scsi_id -g -u -d /dev/sd\$i`\", SYMLINK+=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""done[root@rac1 ~]# ./sdi1.sh KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="36000c295d9c2913ec150e329c3465337", SYMLINK+="asm-diski", OWNER="grid", GROUP="asmadmin", MODE="0660"[root@rac1 ~]# vi /etc/udev/rules.d/99-oracle-asmdevices.rules  //新增上述结果[root@rac1 ~]# udevadm control --reload[root@rac1 ~]# udevadm trigger[root@rac1 ~]# ls -l /dev/sd?1  brw-rw---- 1 root disk     8,   1 May 13 11:37 /dev/sda1brw-rw---- 1 grid asmadmin 8,  17 May 13 11:37 /dev/sdb1brw-rw---- 1 grid asmadmin 8,  33 May 13 11:37 /dev/sdc1brw-rw---- 1 grid asmadmin 8,  49 May 13 11:37 /dev/sdd1brw-rw---- 1 grid asmadmin 8,  65 May 13 11:37 /dev/sde1brw-rw---- 1 grid asmadmin 8,  81 May 13 11:37 /dev/sdf1brw-rw---- 1 grid asmadmin 8,  97 May 13 11:37 /dev/sdg1brw-rw---- 1 root disk     8, 113 May 13 11:37 /dev/sdh1brw-rw---- 1 grid asmadmin 8, 129 May 13 11:37 /dev/sdi1
    

    节点2:

     [root@rac2 ~]# vi /etc/udev/rules.d/99-oracle-asmdevices.rules  //增加上述结果[root@rac2 ~]# udevadm control --reload[root@rac2 ~]# udevadm trigger[root@rac2 ~]# ls -l /dev/sd?1brw-rw---- 1 root disk     8,   1 May 13 11:51 /dev/sda1brw-rw---- 1 grid asmadmin 8,  17 May 13 11:51 /dev/sdb1brw-rw---- 1 grid asmadmin 8,  33 May 13 11:51 /dev/sdc1brw-rw---- 1 grid asmadmin 8,  49 May 13 11:51 /dev/sdd1brw-rw---- 1 grid asmadmin 8,  65 May 13 11:51 /dev/sde1brw-rw---- 1 grid asmadmin 8,  81 May 13 11:51 /dev/sdf1brw-rw---- 1 grid asmadmin 8,  97 May 13 11:51 /dev/sdg1brw-rw---- 1 root disk     8, 113 May 13 11:51 /dev/sdh1brw-rw---- 1 grid asmadmin 8, 129 May 13 11:51 /dev/sdi1
    
  3. 查看现有ASM磁盘组的情况

     [grid@rac1 ~]$ sqlplus  / as sysasmSQL*Plus: Release 19.0.0.0.0 - Production on Wed May 13 13:00:57 2020Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle.  All rights reserved.Connected to:Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - ProductionVersion 19.3.0.0.0SQL> show parameter asm_diskstring;   //查看磁盘组支持的模式NAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------asm_diskstring                       string      /dev/asm*, AFD:*SQL> set lin 200SQL> col path for a40SQL> select group_number,disk_number,total_mb,name,failgroup,path from v$asm_disk order by 1;GROUP_NUMBER DISK_NUMBER   TOTAL_MB NAME                           FAILGROUP                      PATH------------ ----------- ---------- ------------------------------ ------------------------------ ----------------------------------------0           0          0                                                               /dev/asm-diskf0           1          0                                                               /dev/asm-diskg0           2          0                                                               /dev/asm-diskc0           3          0                                                               /dev/asm-diske0           4          0                                                               /dev/asm-diskd0           5          0                                                               /dev/asm-diskb0           6          0                                                               /dev/asm-diski1           0      20476 DATA1                          DATA1                          AFD:DATA11           1      20476 DATA2                          DATA2                          AFD:DATA22           0      20476 FRA1                           FRA1                           AFD:FRA13           0       1020 ORS1                           ORS1                           AFD:ORS1GROUP_NUMBER DISK_NUMBER   TOTAL_MB NAME                           FAILGROUP                      PATH------------ ----------- ---------- ------------------------------ ------------------------------ ----------------------------------------3           1       1020 ORS2                           ORS2                           AFD:ORS23           2       1020 ORS3                           ORS3                           AFD:ORS313 rows selected.
    

    可以从以上内容看到支持的有AFD模式的磁盘组并且所有的资源和数据都是写在此类磁盘组的上面,上述的磁盘组都是通过grid集群图形化界面或ASMCA磁盘管理软件界面创建的,创建后默认的模式是就是AFD。之前手动设置的udev rules文件通过查资料其实都可以不用做,以下方式使用shell命令行的形式新建AFD模式的磁盘组。

  4. 直接路径的方式创建ASM磁盘组

    先直接使用/dev/asm-diski直接路径的方式创建

     SQL> create diskgroup bak_test external redundancy    disk  '/dev/asm-diski' name baktest  attribute 'au_size'='4M','compatible.asm' = '19.0.0.0', 'compatible.rdbms' = '19.0.0.0';Diskgroup created.//查看新创建的磁盘组SQL> select group_number,disk_number,total_mb,name,failgroup,path from v$asm_disk order by 1;GROUP_NUMBER DISK_NUMBER   TOTAL_MB NAME                           FAILGROUP                      PATH------------ ----------- ---------- ------------------------------ ------------------------------ ----------------------------------------0           0          0                                                               /dev/asm-diskf0           1          0                                                               /dev/asm-diskg0           2          0                                                               /dev/asm-diskc0           3          0                                                               /dev/asm-diske0           4          0                                                               /dev/asm-diskd0           5          0                                                               /dev/asm-diskb1           0      20476 DATA1                          DATA1                          AFD:DATA11           1      20476 DATA2                          DATA2                          AFD:DATA22           0      20476 FRA1                           FRA1                           AFD:FRA13           0       1020 ORS1                           ORS1                           AFD:ORS13           1       1020 ORS2                           ORS2                           AFD:ORS2GROUP_NUMBER DISK_NUMBER   TOTAL_MB NAME                           FAILGROUP                      PATH------------ ----------- ---------- ------------------------------ ------------------------------ ----------------------------------------3           2       1020 ORS3                           ORS3                           AFD:ORS34           0      51196 BAKTEST                        BAKTEST                        /dev/asm-diski    //这里可以看到模式是直接路径的方式13 rows selected.
    

    上述最后一行的信息可以看到新增磁盘组的路径是直接路径的方式,此方式和默认的方式都不同,应修改为AFD的模式。修改模式如下:

     SQL> select name,state from v$asm_diskgroup;   //查看现有磁盘组STATE信息NAME                           STATE------------------------------ -----------DATA                           MOUNTEDFRA                            MOUNTEDORS                            MOUNTEDBAK_TEST                       MOUNTEDSQL> select name,path from v$asm_disk_stat;  //查案磁盘组路径信息NAME                           PATH------------------------------ ----------------------------------------BAKTEST                        /dev/asm-diskiORS1                           AFD:ORS1ORS2                           AFD:ORS2ORS3                           AFD:ORS3DATA1                          AFD:DATA1DATA2                          AFD:DATA2FRA1                           AFD:FRA17 rows selected.SQL> alter diskgroup BAK_TEST dismount;  //dismount磁盘组Diskgroup altered.SQL> select name,state from v$asm_diskgroup;NAME                           STATE------------------------------ -----------BAK_TEST                       DISMOUNTEDDATA                           MOUNTEDFRA                            MOUNTEDORS                            MOUNTEDSQL> drop diskgroup BAKTEST;   //删除磁盘组失败报错drop diskgroup BAKTEST*ERROR at line 1:ORA-15039: diskgroup not droppedORA-15073: diskgroup BAKTEST is mounted by another ASM instance切换至节点2:[grid@rac2 ~]$ asmcmdASMCMD> umount BAKTESTASMCMD> lsdgSQL> drop diskgroup BAKTEST;  //删除成功Diskgroup dropped.
    
  5. AFD方式创建新磁盘组

     ASMCMD> afd_state   //查看AFD状态ASMCMD-9526: The AFD state is 'LOADED' and filtering is 'ENABLED' on host 'rac1'ASMCMD> afd_label  baktest01 /dev/asm-diskiASMCMD> afd_lsdsk--------------------------------------------------------------------------------Label                     Filtering   Path================================================================================BAKTEST01                   ENABLED   /dev/asm-diskiDATA1                       ENABLED   /dev/asm-diskeDATA2                       ENABLED   /dev/asm-diskfFRA1                        ENABLED   /dev/asm-diskgORS1                        ENABLED   /dev/asm-diskbORS2                        ENABLED   /dev/asm-diskcORS3                        ENABLED   /dev/asm-diskdSQL> create diskgroup bak_afdtest external redundancy    disk  'AFD:BAKTEST01'  //在AFD模式上创建磁盘组SQL> alter diskgroup BAK_AFDTEST  mount;  //两节点分别mountSQL> CREATE tablespace AFD_test datafile '+BAK_AFDTEST' SIZE 100M;SQL> CREATE TABLE t_afd (n NUMBER) tablespace AFD_test;SQL> INSERT INTO t_afd VALUES(1);SQL> commit;Commit complete.SQL> select * from t_afd;  //查询信息正常N----------1
    

后续

后续会继续整理相关AFD相关的知识,包括直接创建AFD硬盘不生成ASM磁盘组。

Oracle RAC集群增加新共享硬盘并使用AFD的式增加新ASM磁盘组相关推荐

  1. oracle rac 集群配置,ORACLE RAC集群配置管理工具-SRVCTL

    SRVCTL概述 SRVCTL是ORACLE RAC集群配置管理的工具,可以管理Database.Instance.ASM.Service.Listener和Node Application,Node ...

  2. 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 集群(续)

    DBA:Linux    下载  Oracle 数据库 11g    标签 linux, rac, clustering, 全部 在 Oracle Enterprise Linux 和 iSCSI 上 ...

  3. oracle rac数据库特点,Oracle RAC集群结构的特点和缺点

    Oracle RAC,全称是Oracle Real Application Cluster,顾名思义即为真正的应用集群,整个集群系统由Oracle Clusterware (集群就绪软件)和 Real ...

  4. 【DB宝44】Oracle rac集群中的IP类型简介

    文章目录 Oracle rac集群中的IP类型简介 (一)Public IP (二)Private IP (三)Virtual IP(VIP) (四)SCAN IP (五)GNS VIP (六)HAI ...

  5. 浅谈Oracle RAC --集群管理软件GI

    浅谈Oracle RAC --集群管理软件GI基本架构 今天周五,想想可以过周末,心情大好.一周中最喜欢过的就是周五晚上,最不喜欢过的是周日晚上和周一,看来我不是个热爱劳动的人啊.趁着现在心情愉悦,赶 ...

  6. Oracle RAC集群资源的两种配置方式,Admin Managed 和 Policy Manager,以及实验

    对于Oracle RAC集群数据库,有两种资源管理方式:Administrator Managed(管理员管理的),Policy Managed(策略管理的) 要理解这两个概念,首先应该了解Serve ...

  7. Oracle Dataguard(主库为 Oracle rac 集群)配置教程(01)—— dataguard 服务器安装 Oracle 软件

    Oracle Dataguard(主库为 Oracle rac 集群)配置教程(01)-- dataguard 服务器安装 Oracle 软件 / 本专栏详细讲解 Oracle Dataguard(O ...

  8. linux下安装oracle集群,【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)...

    目录 数据库安装 继oracle集群安装之后,接下来也是最重要的数据库安装,整个数据库安装难度不大,用户以oracle用户身份登录RAC1主节点,对解压后的文件安装.主节点下安装后,其他所有结点自动安 ...

  9. 资源放送丨《Oracle RAC 集群安装部署》PPT视频

    点击上方"蓝字" 关注我们,享更多干货! 前段时间,墨天轮邀请数据库资深专家 邦德 老师分享了<Oracle RAC 集群安装部署>,在这里我们将课件PPT和实况录像分 ...

  10. 今晚8点直播(内含福利)丨 Oracle RAC集群安装部署

    Oracle RAC集群安装部署-9月16日20:00 Oracle RAC真正的应用集群,它可以多个主机共同分散业务,来达到负载均衡和高可用,目前企业也大规模应用,具有稳定,很好的扩展性等特点. 作 ...

最新文章

  1. taro 重新加载小程序_Taro 小程序采坑
  2. flask-blueprint的简单使用
  3. 设计模式之SOLID原则再回首
  4. onethink swfupload upload.php,OneThink--ThinkPHP3.2 缓存文件泄露
  5. 你需要了解的 JIT Debugging
  6. POJ2279-Mr. Young's Picture Permutations【线性dp】
  7. axios vue 动态date_Web前端Vue系列之-Vue.js 实战
  8. 详测 Generics Collections TStack(1): Push、Pop、Peek - 其他功能同 TQueue
  9. iBATIS date MySQL_LocalDateTime与mysql日期类型的交互(基于mybatis)
  10. my sql 触发器_My SQLServer 触发器
  11. AT24C02、DS1302、DS18B20等中文手册
  12. vs2015 2017 2019社区版免登录延长许可证
  13. stc15w4k32s4最小系统原理图_单片机最小系统原理图,求详细讲解
  14. mov相关汇编指令| movs | movsx | movzx | movsb | movsw | movsd 图文详解
  15. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true
  16. 华3交换机3层vlan隔离配置
  17. ESP32小网关应用,嵌入式串口转以太网,支持蓝牙+wifi
  18. 2017计算机考研参考书目推荐,2017年中山大学085211计算机技术考研参考书目推荐...
  19. 如何返回正确与错误信息
  20. 为什么祖传代码被称为“屎山”?

热门文章

  1. php 网页截屏,php怎样实现网页截图
  2. 如何在PDF文件中快速查找关键字,这个方法后悔没早点知道
  3. 中国智能经济觉醒,云智一体打造产业智能化加速器
  4. 计算机就是三角函数,三角函数计算器
  5. C语言基础--从零开始初识语言(多图超详解|超万字教程)
  6. file上传代码 ios_自己动手写一个 iOS 网络请求库(四)——快速文件上传
  7. [USACO2008 Mar]土地购买
  8. 青龙面板之B站任务天选时刻
  9. 13个测试网站访问速度的服务网站
  10. Latex 编译环境,在图片的标题中加入脚注