數(shù)據(jù)庫管理334期 2024-06-07
- 數(shù)據(jù)庫管理-第334期 Oracle Database 23ai測試版RAC部署文檔(20240607)
數(shù)據(jù)庫管理-第334期 Oracle Database 23ai測試版RAC部署文檔(20240607)
作者:胖頭魚的魚缸(尹海文) Oracle ACE Pro: Database PostgreSQL ACE Partner 10年數(shù)據(jù)庫行業(yè)經(jīng)驗 擁有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等認證 墨天輪MVP,ITPUB認證專家 圈內(nèi)擁有“總監(jiān)”稱號,非著名社恐(社交恐怖分子) 公眾號:胖頭魚的魚缸 CSDN:胖頭魚的魚缸(尹海文) 墨天輪:胖頭魚的魚缸 ITPUB:yhw1809。 除授權(quán)轉(zhuǎn)載并標明出處外,均為“非法”抄襲

本期帶來Oracle Database 23ai測試版RAC集群部署,使用數(shù)據(jù)庫版本是23.8。
1 環(huán)境與安裝介質(zhì)

db01和db02共配置5個網(wǎng)卡,2個用于公網(wǎng)(bond mode1),2個用于私網(wǎng)(Grid中配置雙活),1張用于連接存儲服務(wù)器。
這里需要說明的一點是,從23ai開始,多張私網(wǎng)不再允許如之前版本一樣,共用同一個子網(wǎng)網(wǎng)段,每張網(wǎng)卡需要使用不同的網(wǎng)段
storage進配置1個網(wǎng)卡用于提供存儲服務(wù)。
安裝介質(zhì)如下:
db_home.zip grid_home.zip
2 操作標準系統(tǒng)配置
2.1 關(guān)閉防火墻
systemctl stop firewalld.service
systemctl disable firewalld.service
2.2 關(guān)閉SELinux
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
setenforce 0
[reboot]
2.3 關(guān)閉avahi-daemon
systemctl stop avahi-daemon.socket
systemctl stop avahi-daemon
systemctl disable avahi-daemon.socket
systemctl disable avahi-daemon
2.4 時間同步配置
在生產(chǎn)環(huán)境中可以使用NTP或chrony實現(xiàn)時間同步。
本次由于使用公網(wǎng)時間同步,相關(guān)配置省略。
3 存儲服務(wù)器配置
操作系統(tǒng)直接配置iscsi實現(xiàn)模擬存儲。
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配置命令行
# 創(chuàng)建映射磁盤
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

# 創(chuàng)建iqn標簽
cd /iscsi
create iqn.2025-06.com.iscsi.www:server

# 創(chuàng)建acl
cd iqn.2025-06.com.iscsi.www:server/tpg1/acls
create iqn.2025-06.com.iscsi.www:client

# 創(chuàng)建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 數(shù)據(jù)庫服務(wù)器配置
4.1 配置網(wǎng)卡
以db01為例,db02配置相同(已在操作系統(tǒng)安裝過程中配置,下面僅是配置參考):
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 #獲取內(nèi)存大小
echo "tmpfs /dev/shm tmpfs defaults,size=內(nèi)存大小 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 預(yù)安裝軟件及用戶配置
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 透明大頁內(nèi)存檢查
cat /sys/kernel/mm/transparent_hugepage/enabled
#如果上面返回結(jié)果不是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 配置環(huán)境變量
grid用戶下,編輯.bash_profile,添加以下內(nèi)容:
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,添加以下內(nèi)容:
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
上述配置需根據(jù)節(jié)點配置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

根據(jù)磁盤ID,使用udev綁定磁盤(生產(chǎn)環(huán)境中應(yīng)當根據(jù)實際情況配置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

添加節(jié)點并配置SSH互信





配置網(wǎng)絡(luò)

按需選擇(是否開啟獨立磁盤組自動備份OCR信息)

配置OCR磁盤組(調(diào)整磁盤搜索路徑,按需選擇其他選項)

配置OCR備份磁盤組

配置ASM實例用戶密碼

按需配置自我糾正

按需配置IPMI

按需注冊EMCC

配置用戶組

配置BASE目錄

配置指針目錄

按需配置root腳本自動執(zhí)行

處理檢查(忽略報錯)

dnf search compat-openssl10

開始安裝


允許root腳本自動執(zhí)行

完成安裝(跳過報錯)




附加操作
在完成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 創(chuàng)建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
僅安裝軟件

安裝集群數(shù)據(jù)庫

配置SSH互信

安裝企業(yè)版

確認安裝信息

配置用戶組

按需配置root腳本自動執(zhí)行

處理檢查(忽略報錯)

開始安裝


允許root腳本自動執(zhí)行

完成安裝

6 創(chuàng)建數(shù)據(jù)庫
創(chuàng)建數(shù)據(jù)庫前建議執(zhí)行:
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,與操作系統(tǒng)共享磁盤屬組一致

dbca
創(chuàng)建數(shù)據(jù)庫

高級安裝

選擇數(shù)據(jù)庫類型與模板

選擇節(jié)點

配置數(shù)據(jù)庫信息

配置數(shù)據(jù)存放位置

配置快速恢復(fù)區(qū)和歸檔

按需配置安全相關(guān)配置

配置數(shù)據(jù)庫參數(shù)



按需配置CVU和注冊EMCC

配置密碼

選擇創(chuàng)建數(shù)據(jù)庫

處理檢查(忽略報錯)


開始安裝


完成安裝

7 驗證

總結(jié)
Oracle Database 23ai RAC部署過程中還是遇到了許多問題,應(yīng)該是一些變化,比如Grid磁盤屬組權(quán)限原來是asmadmin,現(xiàn)在需要asmdba,這也算是踩坑了。
老規(guī)矩知道寫了些啥。




