暂无图片
暂无图片
9
暂无图片
暂无图片
暂无图片

数据库管理-第334期 Oracle Database 23ai测试版RAC部署文档(20250607)

原创 胖头鱼的鱼缸 2025-06-07
679

数据库管理334期 2024-06-07

数据库管理-第334期 Oracle Database 23ai测试版RAC部署文档(20240607)

作者:胖头鱼的鱼缸(尹海文) Oracle ACE Pro: Database PostgreSQL ACE Partner 10年数据库行业经验 拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证 墨天轮MVP,ITPUB认证专家 圈内拥有“总监”称号,非著名社恐(社交恐怖分子) 公众号:胖头鱼的鱼缸 CSDN:胖头鱼的鱼缸(尹海文) 墨天轮:胖头鱼的鱼缸 ITPUB:yhw1809。 除授权转载并标明出处外,均为“非法”抄袭

3498ff20bcec87e9052f961f06737f3.png
本期带来Oracle Database 23ai测试版RAC集群部署,使用数据库版本是23.8。

1 环境与安装介质

image.png
db01和db02共配置5个网卡,2个用于公网(bond mode1),2个用于私网(Grid中配置双活),1张用于连接存储服务器。

这里需要说明的一点是,从23ai开始,多张私网不再允许如之前版本一样,共用同一个子网网段,每张网卡需要使用不同的网段

storage进配置1个网卡用于提供存储服务。
安装介质如下:

db_home.zip grid_home.zip

2 操作标准系统配置

2.1 关闭防火墙

systemctl stop firewalld.service systemctl disable firewalld.service

2.2 关闭SELinux

sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config setenforce 0 [reboot]

2.3 关闭avahi-daemon

systemctl stop avahi-daemon.socket systemctl stop avahi-daemon systemctl disable avahi-daemon.socket systemctl disable avahi-daemon

2.4 时间同步配置

在生产环境中可以使用NTP或chrony实现时间同步。
本次由于使用公网时间同步,相关配置省略。

3 存储服务器配置

操作系统直接配置iscsi实现模拟存储。

3.1 配置本地yum源

mkdir /iso mount -r /dev/sr0 /iso rm -rf /etc/yum.repo.d/* cat > /etc/yum.repos.d/iso.repo <<EOF [AppStream] name=AppStream baseurl=file:///iso/AppStream gpgcheck=0 enabled=1 [BaseOS] name=BaseOS baseurl=file:///iso/BaseOS gpgcheck=0 enabled=1 EOF

3.2 安装targetcli

dnf -y install targetcli

3.3 配置磁盘

本机挂载了6块30GB的磁盘做软raid5作为共享磁盘。
image.png

mdadm --create /dev/md1 --level=5 --raid-devices=5 --spare-device=1 /dev/nvme0n2 /dev/nvme0n3 /dev/nvme0n4 /dev/nvme0n5 /dev/nvme0n6 /dev/nvme0n7 pvcreate /dev/md1 vgcreate datavg /dev/md1 lvcreate -L 10G -n data01 datavg lvcreate -L 10G -n data02 datavg lvcreate -L 10G -n data03 datavg lvcreate -L 10G -n data04 datavg lvcreate -L 10G -n data05 datavg lvcreate -L 10G -n data06 datavg lvcreate -L 10G -n data07 datavg lvcreate -L 10G -n data08 datavg lvcreate -L 10G -n data09 datavg lvcreate -L 10G -n data10 datavg lvcreate -L 10G -n data11 datavg

image.png
image.png

3.4 配置iscsi

targetcli #进入iscsi配置命令行 # 创建映射磁盘 cd /backstores/block create data01 /dev/mapper/datavg-data01 create data02 /dev/mapper/datavg-data02 create data03 /dev/mapper/datavg-data03 create data04 /dev/mapper/datavg-data04 create data05 /dev/mapper/datavg-data05 create data06 /dev/mapper/datavg-data06 create data07 /dev/mapper/datavg-data07 create data08 /dev/mapper/datavg-data08 create data09 /dev/mapper/datavg-data09 create data10 /dev/mapper/datavg-data10 create data11 /dev/mapper/datavg-data11

image.png

# 创建iqn标签 cd /iscsi create iqn.2025-06.com.iscsi.www:server

image.png

# 创建acl cd iqn.2025-06.com.iscsi.www:server/tpg1/acls create iqn.2025-06.com.iscsi.www:client

image.png

# 创建lun cd /iscsi/iqn.2025-06.com.iscsi.www:server/tpg1/luns create /backstores/block/data01 create /backstores/block/data02 create /backstores/block/data03 create /backstores/block/data04 create /backstores/block/data05 create /backstores/block/data06 create /backstores/block/data07 create /backstores/block/data08 create /backstores/block/data09 create /backstores/block/data10 create /backstores/block/data11

image.png

# 退出保存配置 exit

image.png

# 修改启动iqn cat > /etc/iscsi/initiatorname.iscsi <<EOF InitiatorName=iqn.2025-06.com.iscsi.www:client EOF # 启动iscsi并配置开机启动 systemctl restart iscsi systemctl restart iscsid systemctl start target.service systemctl enable target.service

image.png

4 数据库服务器配置

4.1 配置网卡

以db01为例,db02配置相同(已在操作系统安装过程中配置,下面仅是配置参考):

cat> /etc/sysconfig/network-scripts/ifcfg-bondeth0 <<EOF BONDING_OPTS="downdelay=2000 miimon=1000 mode=active-backup updelay=5000" TYPE=Bond BONDING_MASTER=yes PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none IPADDR=10.10.10.231 PREFIX=24 GATEWAY=110.10.10.2 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no NAME=bondeth0 DEVICE=bondeth0 ONBOOT=yes EOF cat> /etc/sysconfig/network-scripts/ifcfg-ens160 <<EOF TYPE=Ethernet BOOTPROTO=none IPV6INIT=no NAME=ens160 DEVICE=ens160 ONBOOT=yes MASTER=bondeth0 SLAVE=yes EOF cat> /etc/sysconfig/network-scripts/ifcfg-ens192 <<EOF TYPE=Ethernet BOOTPROTO=none IPV6INIT=no NAME=ens192 DEVICE=ens192 ONBOOT=yes MASTER=bondeth0 SLAVE=yes EOF systemctl restart network

image.png

2.4 配置tmpfs

head -1 /proc/meminfo #获取内存大小 echo "tmpfs /dev/shm tmpfs defaults,size=内存大小 0 0" >>/etc/fstab systemctl daemon-reload mount -o remount /dev/shm/

image.png

2.5 配置hosts文件

cat >> /etc/hosts <<EOF ###HOSTIP### 10.10.10.231 db01 10.10.10.232 db02 ###VIP### 10.10.10.233 db01-vip 10.10.10.234 db02-vip ###SCANIP### 10.10.10.235 db-scan ###PRIVATRIP### 20.20.20.231 db01-priv1 20.20.20.232 db02-priv1 20.20.21.231 db01-priv2 20.20.21.232 db02-priv2 ###STORAGE### 30.30.30.230 storage 30.30.30.231 db01-san 30.30.30.232 db02-san EOF

2.6 预安装软件及用户配置

dnf -y install oracle-database-preinstall-23ai.x86_64 groupadd -g 54331 asmadmin groupadd -g 54332 asmdba groupadd -g 54333 asmoper useradd -u 54322 -g oinstall -G oinstall,dba,asmadmin,asmdba,asmoper grid usermod -g oinstall -G dba,oper,asmdba,backupdba,dgdba,kmdba,racdba,asmdba oracle echo "oracle" | passwd --stdin grid echo "oracle" | passwd --stdin oracle cp /etc/security/limits.d/oracle-database-preinstall-23ai.conf /etc/security/limits.d/grid.conf sed -i "s/oracle/grid/g" /etc/security/limits.d/grid.conf

2.7 透明大页内存检查

cat /sys/kernel/mm/transparent_hugepage/enabled #如果上面返回结果不是never则需要进行以下配置 cat >>/etc/rc.d/rc.local <<EOF if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi EOF chmod +x /etc/rc.d/rc.local reboot

image.png

2.8 配置环境变量

grid用户下,编辑.bash_profile,添加以下内容:

export ORACLE_BASE=/u01/app/grid export ORACLE_HOME=/u01/app/23.0.0/grid export ORACLE_SID=+ASM1 export PATH=$ORACLE_HOME/bin:$PATH export DISPLAY=:0

oracle用户下,编辑.bash_profile,添加以下内容:

export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/23.0.0/dbhome_1 export ORACLE_SID=racdb1 export PATH=$ORACLE_HOME/bin:$PATH export DISPLAY=:0

上述配置需根据节点配置ORACLE_SID。

2.9 处理磁盘

挂载磁盘

cat > /etc/iscsi/initiatorname.iscsi <<EOF InitiatorName=iqn.2025-06.com.iscsi.www:client EOF iscsiadm -m discovery -t st -p storage iscsiadm -m node -L all

image.png
根据磁盘ID,使用udev绑定磁盘(生产环境中应当根据实际情况配置multipa),编辑/etc/udev/rules.d/99-oracleasm.rules

KERNEL=="sd*",SUBSYSTEM=="block",ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="36001405fdd800759b3e4a67a515fa418",SYMLINK+="asmdisk01",OWNER="grid",GROUP="asmdba",MODE="0660" KERNEL=="sd*",SUBSYSTEM=="block",ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="36001405986348a326f046c2b64858ff6",SYMLINK+="asmdisk02",OWNER="grid",GROUP="asmdba",MODE="0660" KERNEL=="sd*",SUBSYSTEM=="block",ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="360014052524a367aa5e472fb42a83e2a",SYMLINK+="asmdisk03",OWNER="grid",GROUP="asmdba",MODE="0660" KERNEL=="sd*",SUBSYSTEM=="block",ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="360014055db3840aa56a466cb8372e3d1",SYMLINK+="asmdisk04",OWNER="grid",GROUP="asmdba",MODE="0660" KERNEL=="sd*",SUBSYSTEM=="block",ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="360014051581162963da4b94a00ca9f37",SYMLINK+="asmdisk05",OWNER="grid",GROUP="asmdba",MODE="0660" KERNEL=="sd*",SUBSYSTEM=="block",ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="36001405df4dd9c43c7f4f0ea3bc2dddf",SYMLINK+="asmdisk06",OWNER="grid",GROUP="asmdba",MODE="0660" KERNEL=="sd*",SUBSYSTEM=="block",ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="3600140540d6b2542ba74f9dbdc5cbb64",SYMLINK+="asmdisk07",OWNER="grid",GROUP="asmdba",MODE="0660" KERNEL=="sd*",SUBSYSTEM=="block",ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="36001405c3a1dddb58914e3583108393f",SYMLINK+="asmdisk08",OWNER="grid",GROUP="asmdba",MODE="0660" KERNEL=="sd*",SUBSYSTEM=="block",ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="36001405a1265f0b2c984d62a94142699",SYMLINK+="asmdisk09",OWNER="grid",GROUP="asmdba",MODE="0660" KERNEL=="sd*",SUBSYSTEM=="block",ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="36001405c824d88d399a4b0295281dc26",SYMLINK+="asmdisk10",OWNER="grid",GROUP="asmdba",MODE="0660" KERNEL=="sd*",SUBSYSTEM=="block",ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="36001405785ad93e0b1e48e881dac60a5",SYMLINK+="asmdisk11",OWNER="grid",GROUP="asmdba",MODE="0660"

udev处理

udevadm trigger --action=change

image.png

2.10 配置软件安装目录

mkdir /u01/app/23.0.0/grid -p mkdir /u01/app/grid -p mkdir /u01/app/oracle/product/23.0.0/dbhome_1 -p chown grid:oinstall /u01 -R chown oracle:oinstall /u01/app/oracle -R

3 安装GRID

解压软件并开始安装

xhost + mv grid_home.zip /u01/app/23.0.0/grid/ su - grid cd $ORACLE_HOME unzip grid_home.zip ./gridSetup.sh

image.png
image.png
配置集群名称和SCAN
image.png
添加节点并配置SSH互信
image.png
image.png
image.png
image.png
image.png
配置网络
image.png
按需选择(是否开启独立磁盘组自动备份OCR信息)
image.png
配置OCR磁盘组(调整磁盘搜索路径,按需选择其他选项)
image.png
配置OCR备份磁盘组
image.png
配置ASM实例用户密码
image.png
按需配置自我纠正
image.png
按需配置IPMI
image.png
按需注册EMCC
image.png
配置用户组
image.png
配置BASE目录
image.png
配置指针目录
image.png
按需配置root脚本自动执行
image.png
处理检查(忽略报错)
image.png

dnf search compat-openssl10

image.png
开始安装
image.png
image.png
允许root脚本自动执行
image.png
完成安装(跳过报错)
image.png
image.png
image.png
image.png
附加操作
在完成Grid安装后,建议检查一下asmnetwork配置:

srvctl config asmnetwork

image.png
然后进行一下配置操作:

su - export ORACLE_HOME=/u01/app/23.0.0/grid /u01/app/23.0.0/grid/bin/srvctl modify asmnetwork -netnum 1 -subnet 20.20.20.0/255.255.255.0/ens224 /u01/app/23.0.0/grid/bin/srvctl modify asmnetwork -netnum 2 -subnet 20.20.21.0/255.255.255.0/ens256

image.png

4 创建ASM磁盘组

asmca

image.png
image.png
image.png
image.png

5 安装DB软件

mv db_home.zip /u01/app/oracle/product/23.0.0/dbhome_1 su - oracle cd $ORACLE_HOME unzip db_home.zip ./runInstaller

仅安装软件
image.png
安装集群数据库
image.png
配置SSH互信
image.png
安装企业版
image.png
确认安装信息
image.png
配置用户组
image.png
按需配置root脚本自动执行
image.png
处理检查(忽略报错)
image.png
开始安装
image.png
image.png
允许root脚本自动执行
image.png
完成安装
image.png

6 创建数据库

创建数据库前建议执行:

su - root /u01/app/23.0.0/grid/bin/setasmgidwrap -o /u01/app/oracle/product/23.0.0/dbhome_1/bin/oracle # 确保/u01/app/oracle/product/23.0.0/dbhome_1/bin/oracle的属组是asmdba,与操作系统共享磁盘属组一致

image.png

dbca

创建数据库
image.png
高级安装
image.png
选择数据库类型与模板
image.png

选择节点
image.png
配置数据库信息
image.png
配置数据存放位置
image.png
配置快速恢复区和归档
image.png
按需配置安全相关配置
image.png
配置数据库参数
image.png

image.png
image.png
按需配置CVU和注册EMCC
image.png
配置密码
image.png
选择创建数据库
image.png
处理检查(忽略报错)
image.png
image.png
开始安装
image.png
image.png
完成安装
image.png

7 验证

image.png

总结

Oracle Database 23ai RAC部署过程中还是遇到了许多问题,应该是一些变化,比如Grid磁盘属组权限原来是asmadmin,现在需要asmdba,这也算是踩坑了。
老规矩知道写了些啥。

最后修改时间:2025-06-09 10:09:02
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论