Oracle RAC集群增加新共享硬盘并使用AFD的式增加新ASM磁盘组
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
实验步骤
新增共享硬盘
本次新增硬盘到添加ASM新的磁盘的整个过程和创建搭建数据库时的ASM磁盘组类似,最后会有尝试使用ASMFD的新功能
(这是一个可以取代 ASMLIB 和 udev 设置的新功能)
直接绑定新硬盘然后加入数据库来使用。节点1:新增硬盘9,容量为50G
节点2:使用节点1的硬盘9,容量为50G
使用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
查看现有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模式的磁盘组。
直接路径的方式创建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.
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磁盘组相关推荐
- oracle rac 集群配置,ORACLE RAC集群配置管理工具-SRVCTL
SRVCTL概述 SRVCTL是ORACLE RAC集群配置管理的工具,可以管理Database.Instance.ASM.Service.Listener和Node Application,Node ...
- 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 集群(续)
DBA:Linux 下载 Oracle 数据库 11g 标签 linux, rac, clustering, 全部 在 Oracle Enterprise Linux 和 iSCSI 上 ...
- oracle rac数据库特点,Oracle RAC集群结构的特点和缺点
Oracle RAC,全称是Oracle Real Application Cluster,顾名思义即为真正的应用集群,整个集群系统由Oracle Clusterware (集群就绪软件)和 Real ...
- 【DB宝44】Oracle rac集群中的IP类型简介
文章目录 Oracle rac集群中的IP类型简介 (一)Public IP (二)Private IP (三)Virtual IP(VIP) (四)SCAN IP (五)GNS VIP (六)HAI ...
- 浅谈Oracle RAC --集群管理软件GI
浅谈Oracle RAC --集群管理软件GI基本架构 今天周五,想想可以过周末,心情大好.一周中最喜欢过的就是周五晚上,最不喜欢过的是周日晚上和周一,看来我不是个热爱劳动的人啊.趁着现在心情愉悦,赶 ...
- Oracle RAC集群资源的两种配置方式,Admin Managed 和 Policy Manager,以及实验
对于Oracle RAC集群数据库,有两种资源管理方式:Administrator Managed(管理员管理的),Policy Managed(策略管理的) 要理解这两个概念,首先应该了解Serve ...
- Oracle Dataguard(主库为 Oracle rac 集群)配置教程(01)—— dataguard 服务器安装 Oracle 软件
Oracle Dataguard(主库为 Oracle rac 集群)配置教程(01)-- dataguard 服务器安装 Oracle 软件 / 本专栏详细讲解 Oracle Dataguard(O ...
- linux下安装oracle集群,【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)...
目录 数据库安装 继oracle集群安装之后,接下来也是最重要的数据库安装,整个数据库安装难度不大,用户以oracle用户身份登录RAC1主节点,对解压后的文件安装.主节点下安装后,其他所有结点自动安 ...
- 资源放送丨《Oracle RAC 集群安装部署》PPT视频
点击上方"蓝字" 关注我们,享更多干货! 前段时间,墨天轮邀请数据库资深专家 邦德 老师分享了<Oracle RAC 集群安装部署>,在这里我们将课件PPT和实况录像分 ...
- 今晚8点直播(内含福利)丨 Oracle RAC集群安装部署
Oracle RAC集群安装部署-9月16日20:00 Oracle RAC真正的应用集群,它可以多个主机共同分散业务,来达到负载均衡和高可用,目前企业也大规模应用,具有稳定,很好的扩展性等特点. 作 ...
最新文章
- taro 重新加载小程序_Taro 小程序采坑
- flask-blueprint的简单使用
- 设计模式之SOLID原则再回首
- onethink swfupload upload.php,OneThink--ThinkPHP3.2 缓存文件泄露
- 你需要了解的 JIT Debugging
- POJ2279-Mr. Young's Picture Permutations【线性dp】
- axios vue 动态date_Web前端Vue系列之-Vue.js 实战
- 详测 Generics Collections TStack(1): Push、Pop、Peek - 其他功能同 TQueue
- iBATIS date MySQL_LocalDateTime与mysql日期类型的交互(基于mybatis)
- my sql 触发器_My SQLServer 触发器
- AT24C02、DS1302、DS18B20等中文手册
- vs2015 2017 2019社区版免登录延长许可证
- stc15w4k32s4最小系统原理图_单片机最小系统原理图,求详细讲解
- mov相关汇编指令| movs | movsx | movzx | movsb | movsw | movsd 图文详解
- You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true
- 华3交换机3层vlan隔离配置
- ESP32小网关应用,嵌入式串口转以太网,支持蓝牙+wifi
- 2017计算机考研参考书目推荐,2017年中山大学085211计算机技术考研参考书目推荐...
- 如何返回正确与错误信息
- 为什么祖传代码被称为“屎山”?