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

Oracle Database 23ai测试版RAC部署文档

数据库管理-第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。
除授权转载并标明出处外,均为“非法”抄袭


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

1 环境与安装介质


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作为共享磁盘。

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


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

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

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

# 创建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

# 退出保存配置
exit

# 修改启动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

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

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/

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

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


根据磁盘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

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



配置集群名称和SCAN

添加节点并配置SSH互信





配置网络

按需选择(是否开启独立磁盘组自动备份OCR信息)

配置OCR磁盘组(调整磁盘搜索路径,按需选择其他选项)

配置OCR备份磁盘组

配置ASM实例用户密码

按需配置自我纠正

按需配置IPMI

按需注册EMCC

配置用户组

配置BASE目录

配置指针目录

按需配置root脚本自动执行

处理检查(忽略报错)

dnf search compat-openssl10


开始安装


允许root脚本自动执行

完成安装(跳过报错)




附加操作
在完成Grid安装后,建议检查一下asmnetwork配置:

srvctl config asmnetwork


然后进行一下配置操作:

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

4 创建ASM磁盘组

asmca




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

仅安装软件

安装集群数据库

配置SSH互信

安装企业版

确认安装信息

配置用户组

按需配置root脚本自动执行

处理检查(忽略报错)

开始安装


允许root脚本自动执行

完成安装

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,与操作系统共享磁盘属组一致

dbca

创建数据库

高级安装

选择数据库类型与模板

选择节点

配置数据库信息

配置数据存放位置

配置快速恢复区和归档

按需配置安全相关配置

配置数据库参数



按需配置CVU和注册EMCC

配置密码

选择创建数据库

处理检查(忽略报错)


开始安装


完成安装

7 验证

总结

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

文章转载自青年数据库学习互助会,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论