OEL9.7 安装 Oracle 26ai RAC

📢📢📢📣📣📣

作者:IT邦德

中国DBA联盟(ACDU)成员,15年DBA工作经验

Oracle、PostgreSQL ACE

CSDN博客专家及B站知名UP主,全网粉丝15万+

擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复,

安装迁移,性能优化、故障应急处理

文章目录

  • 一、安裝前准备
    • [1.1 软件下载](#1.1 软件下载)
      • [1.1.1 26ai RAC地址](#1.1.1 26ai RAC地址)
      • [1.1.2 OEL9.7地址](#1.1.2 OEL9.7地址)
    • [1.2 网络规划](#1.2 网络规划)
    • [1.3 ASM磁盘组规划](#1.3 ASM磁盘组规划)
  • 二、用户及网络
    • [2.1 新建用户和组](#2.1 新建用户和组)
    • [2.2 创建目录](#2.2 创建目录)
    • [2.3 环境变量](#2.3 环境变量)
      • [2.3.1 Grid用户](#2.3.1 Grid用户)
      • [2.3.2 Oracle用户](#2.3.2 Oracle用户)
    • [2.3.3 root用户](#2.3.3 root用户)
    • [2.4 hosts文件及网卡](#2.4 hosts文件及网卡)
      • [2.4.1 hosts 配置](#2.4.1 hosts 配置)
  • 三、共享存储配置
    • [3.1 新建存储文件](#3.1 新建存储文件)
    • [3.2 配置虚拟机](#3.2 配置虚拟机)
    • [3.3 操作系统磁盘规划](#3.3 操作系统磁盘规划)
  • 四、多链路配置
    • [4.1 配置 yum本地源](#4.1 配置 yum本地源)
    • [4.2 配置多路径](#4.2 配置多路径)
      • [4.2.1 安装multipath](#4.2.1 安装multipath)
      • [4.2.2 生成配置文件](#4.2.2 生成配置文件)
      • [4.2.3 激活multipath多路径](#4.2.3 激活multipath多路径)
      • [4.2.4 查看状态](#4.2.4 查看状态)
      • [4.2.5 开机自启动服务](#4.2.5 开机自启动服务)
    • [4.3 配置 UDEV](#4.3 配置 UDEV)
  • 五、操作系统配置
    • [5.1 操作系统](#5.1 操作系统)
    • [5.2 内存](#5.2 内存)
    • [5.3 swap](#5.3 swap)
    • [5.4 安装依赖包](#5.4 安装依赖包)
    • [5.5 关闭防火墙](#5.5 关闭防火墙)
    • [5.6 关闭linux安全](#5.6 关闭linux安全)
    • [5.7 chrony配置](#5.7 chrony配置)
    • [5.8 修改login](#5.8 修改login)
    • [5.9 修改limits.conf](#5.9 修改limits.conf)
    • [5.10 修改内核参数](#5.10 修改内核参数)
    • [5.11 停止avahi-daemon服务](#5.11 停止avahi-daemon服务)
    • [5.12 /etc/profile配置](#5.12 /etc/profile配置)
  • 六、Grid集群软件安装
    • [6.1 上传软件包](#6.1 上传软件包)
    • [6.2 解压grid安装包](#6.2 解压grid安装包)
    • [6.3 安装cvuqdisk](#6.3 安装cvuqdisk)
    • [6.4 互信配置](#6.4 互信配置)
    • [6.5 GI配置预检查](#6.5 GI配置预检查)
    • [6.6 执行安装](#6.6 执行安装)
    • [6.7 挂载ASM盘](#6.7 挂载ASM盘)
  • [七、Oracle DataBase软件安装](#七、Oracle DataBase软件安装)
    • [7.1 解压](#7.1 解压)
    • [7.2 解压安装](#7.2 解压安装)
  • 八、DBCA创建实例
  • 九、RAC启停
    • [9.1 关闭](#9.1 关闭)
    • [9.2 启动](#9.2 启动)

一、安裝前准备

OS版本:Oracle Linux Server release 9.7

内存:至少8G

1.1 软件下载

1.1.1 26ai RAC地址

https://www.oracle.com/database/technologies/oracle26ai-linux-downloads.html

1.1.2 OEL9.7地址

https://yum.oracle.com/oracle-linux-isos.html

1.2 网络规划

1.3 ASM磁盘组规划

二、用户及网络

2.1 新建用户和组

groupadd -g 54321 oinstall

groupadd -g 54322 dba

groupadd -g 54323 oper

groupadd -g 54324 backupdba

groupadd -g 54325 dgdba

groupadd -g 54326 kmdba

groupadd -g 54327 asmdba

groupadd -g 54328 asmoper

groupadd -g 54329 asmadmin

groupadd -g 54330 racdba

useradd -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,racdba -u 10000 oracle

useradd -g oinstall -G dba,asmdba,asmoper,asmadmin,racdba -u 10001 grid

echo "oracle" | passwd --stdin oracle

echo "grid" | passwd --stdin grid

2.2 创建目录

mkdir -p /u01/app/23.26.1/grid

mkdir -p /u01/app/grid

mkdir -p /u01/app/oracle/product/23.26.1/dbhome_1

chown -R grid:oinstall /u01

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01

2.3 环境变量

2.3.1 Grid用户

复制代码
cat >> /home/grid/.bash_profile << "EOF"
umask 022
export LANG=en_US
export ORACLE_SID=+ASM1
export ORACLE_TERM=xterm
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/23.26.1/grid
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
EOF

source /home/grid/.bash_profile

2.3.2 Oracle用户

复制代码
cat >> /home/oracle/.bash_profile << "EOF"
export LANG=en_US
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/23.26.1/dbhome_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=PROD1
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
EOF

source /home/oracle/.bash_profile

2.3.3 root用户

复制代码
vi .bash_profile
export ORACLE_HOME=/u01/app/23.26.1/grid
export PATH=$PATH:$ORACLE_HOME/bin

2.4 hosts文件及网卡

2.4.1 hosts 配置

--root用户下,2个节点均操作

cp /etc/hosts /etc/hosts_date +"%Y%m%d_%H%M%S"

echo '#public ip

192.168.2.20 srv01

192.168.2.21 srv02

#private ip

10.10.0.1 srv01-priv

10.10.0.2 srv02-priv

#vip

192.168.2.22 srv01-vip

192.168.2.23 srv02-vip

#scanip

192.168.2.24 srv-racscan'>> /etc/hosts

hostnamectl set-hostname srv01

hostnamectl set-hostname srv02

三、共享存储配置

3.1 新建存储文件

复制代码
vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "E:\VMware_File\Sharedisk26ai\share-ocr01.vmdk" 
vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "E:\VMware_File\Sharedisk26ai\share-ocr02.vmdk" 
vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "E:\VMware_File\Sharedisk26ai\share-ocr03.vmdk" 
vmware-vdiskmanager.exe -c -s 20GB -a lsilogic -t 2 "E:\VMware_File\Sharedisk26ai\share-data01.vmdk"
vmware-vdiskmanager.exe -c -s 20GB -a lsilogic -t 2 "E:\VMware_File\Sharedisk26ai\share-data02.vmdk"
vmware-vdiskmanager.exe -c -s 20GB -a lsilogic -t 2 "E:\VMware_File\Sharedisk26ai\share-arch01.vmdk"

3.2 配置虚拟机

找到虚拟机的配置文件.vmx,加入以下内容

#shared disks configure

diskLib.dataCacheMaxSize=0

diskLib.dataCacheMaxReadAheadSize=0

diskLib.dataCacheMinReadAheadSize=0

diskLib.dataCachePageSize=4096

diskLib.maxUnsyncedWrites = "0"

disk.locking = "FALSE"

scsi1.sharedBus = "virtual"

scsi1.present = "TRUE"

scsi1.virtualDev = "lsilogic"

scsi1:0.mode = "independent-persistent"

scsi1:0.deviceType = "disk"

scsi1:0.present = "TRUE"

scsi1:0.fileName = "E:\VMware_File\Sharedisk26ai\share-ocr01.vmdk"

scsi1:0.redo = ""

scsi1:1.mode = "independent-persistent"

scsi1:1.deviceType = "disk"

scsi1:1.present = "TRUE"

scsi1:1.fileName = "E:\VMware_File\Sharedisk26ai\share-ocr02.vmdk"

scsi1:1.redo = ""

scsi1:2.mode = "independent-persistent"

scsi1:2.deviceType = "disk"

scsi1:2.present = "TRUE"

scsi1:2.fileName = "E:\VMware_File\Sharedisk26ai\share-ocr03.vmdk"

scsi1:2.redo = ""

scsi1:3.mode = "independent-persistent"

scsi1:3.deviceType = "disk"

scsi1:3.present = "TRUE"

scsi1:3.fileName = "E:\VMware_File\Sharedisk26ai\share-data01.vmdk"

scsi1:3.redo = ""

scsi1:4.mode = "independent-persistent"

scsi1:4.deviceType = "disk"

scsi1:4.present = "TRUE"

scsi1:4.fileName = "E:\VMware_File\Sharedisk26ai\share-data02.vmdk"

scsi1:4.redo = ""

scsi1:5.mode = "independent-persistent"

scsi1:5.deviceType = "disk"

scsi1:5.present = "TRUE"

scsi1:5.fileName = "E:\VMware_File\Sharedisk26ai\share-arch01.vmdk"

scsi1:5.redo = ""

3.3 操作系统磁盘规划

四、多链路配置

4.1 配置 yum本地源

复制代码
mount /dev/cdrom /mnt

echo "[localREPO]" >> /etc/yum.repos.d/my.repo
echo "name=localhost8" >> /etc/yum.repos.d/my.repo
echo "baseurl=file:///mnt/BaseOS" >> /etc/yum.repos.d/my.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/my.repo
echo "enabled=1" >> /etc/yum.repos.d/my.repo

echo "[localREPO_APP]" >> /etc/yum.repos.d/my.repo
echo "name=localhost8_app" >> /etc/yum.repos.d/my.repo
echo "baseurl=file:///mnt/AppStream" >> /etc/yum.repos.d/my.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/my.repo
echo "enabled=1" >> /etc/yum.repos.d/my.repo

yum repolist

4.2 配置多路径

4.2.1 安装multipath

systemctl status multipathd.service

若没有则执行以下命令安装:

yum install -y device-mapper*

4.2.2 生成配置文件

mpathconf --enable --with_multipathd y

以上命令,会生成一个配置文件multipath.conf

cat /etc/multipath.conf

查看scsi_id

复制代码
[root@srv01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdc
/usr/lib/udev/scsi_id -g -u /dev/sdb
36000c293e882f001bfdfbd0149b8c1d0
/usr/lib/udev/scsi_id -g -u /dev/sdc
36000c29cfd11459849fa8d2c9f4dc1c9
/usr/lib/udev/scsi_id -g -u /dev/sdd
36000c29685dc13f386419a261dad244d
/usr/lib/udev/scsi_id -g -u /dev/sde
36000c297a502e02ef1cce51a2697da72
/usr/lib/udev/scsi_id -g -u /dev/sdf
36000c299a7b8e711113652b69e7cd3cd
/usr/lib/udev/scsi_id -g -u /dev/sdg
36000c29facc541ce942bd6173e3d1365

cp /etc/multipath.conf /etc/multipath.conf.bak

复制代码
cat <<EOF>> /etc/multipath.conf
multipaths {
  multipath {
  wwid "36000c293e882f001bfdfbd0149b8c1d0"
  alias asm_ocr01
  }
  multipath {
  wwid "36000c29cfd11459849fa8d2c9f4dc1c9"
  alias asm_ocr02
  }
  multipath {
  wwid "36000c297a502e02ef1cce51a2697da72"
  alias asm_ocr03
  }
  multipath {
  wwid "36000c29685dc13f386419a261dad244d"
  alias asm_data01
  }  
  multipath {
  wwid "36000c299a7b8e711113652b69e7cd3cd"
  alias asm_data02
  }
  multipath {
  wwid "36000c29facc541ce942bd6173e3d1365"
  alias asm_arch01
  }
}
EOF

4.2.3 激活multipath多路径

systemctl start multipathd.service

重新加载:multipath -r

查看多路径:multipath -ll

4.2.4 查看状态

systemctl status multipathd.service

4.2.5 开机自启动服务

systemctl enable multipathd.service

root@srv01 \~# multipath -v3 | grep 3600

root@srv01 \~# mpathconf

4.3 配置 UDEV

root@srv01 \~# cd /dev/mapper

root@srv01 mapper# ll

注意:2个节点均执行,root用户

root@srv01 \~# cd /dev/mapper

复制代码
for i in asm_*; do
  printf "%s %s\n" "$i" "$(udevadm info --query=all --name=/dev/mapper/"$i" | grep -i dm_uuid)" >>/dev/mapper/udev_info
done
while read -r line; do
  dm_uuid=$(echo "$line" | awk -F'=' '{print $2}')
  disk_name=$(echo "$line" | awk '{print $1}')
  echo "KERNEL==\"dm-*\",ENV{DM_UUID}==\"${dm_uuid}\",SYMLINK+=\"${disk_name}\",OWNER=\"grid\",GROUP=\"asmdba\",MODE=\"0660\"" >>/etc/udev/rules.d/99-oracle-asmdevices.rules
done < /dev/mapper/udev_info

udevadm control --reload-rules

udevadm trigger --type=devices

ll /dev/dm*

五、操作系统配置

5.1 操作系统

root@srv01 \~# cat /etc/oracle-release

Oracle Linux Server release 9.7

5.2 内存

root@srv01 \~# grep MemTotal /proc/meminfo | awk '{print $2}'

32398736

5.3 swap

root@srv01 \~# free -h

root@srv01 \~# grep SwapTotal /proc/meminfo | awk '{print $2}'

5.4 安装依赖包

yum install -y bc binutils compat-openssl11 elfutils-libelf fontconfig glibc glibc-devel glibc-headers ksh libaio libasan liblsan libX11 libXau libXi libXrender libXtst libxcrypt-compat libgcc libibverbs librdmacm libstdc++ libxcb libvirt-libs make policycoreutils policycoreutils-python-utils smartmontools sysstat

5.5 关闭防火墙

注意:root用户两个节点均操作

systemctl stop firewalld

systemctl disable firewalld

systemctl status firewalld

5.6 关闭linux安全

root@srv01 \~# vi /etc/selinux/config

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

5.7 chrony配置

systemctl status chronyd

yum -y install chrony

vi /etc/chrony.conf

sources 命令显示 chronyd 正在访问的当前时间源的信息。

可以使用可选参数 -v 来包括详细信息。在这种情况下,会输出额外的标头行显示字段含义的信息。

$ chronyc sources

5.8 修改login

root@srv01 \~# cp /etc/pam.d/login /etc/pam.d/login_bak

root@srv01 \~# echo "session required pam_limits.so" >> /etc/pam.d/login

5.9 修改limits.conf

复制代码
cat <<EOF>> /etc/security/limits.conf
#ORACLE SETTING
grid  soft  nproc 16384
grid  hard  nproc 16384
grid  soft  nofile 1024
grid  hard  nofile 65536
grid  soft  stack 10240
grid  hard  stack 32768
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack  10240
oracle hard stack  32768
oracle hard memlock 3428352
oracle soft memlock 3428352
EOF

memlock计算的原则:物理内存的90%(单位是KB)

5.10 修改内核参数

复制代码
cat <<EOF>> /etc/sysctl.conf
#ORACLE SETTING
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmax = 22548578304
kernel.shmall = 5637144576
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
EOF

kernel.shmmax参数:需要根据实际物理内存计算,此处按节点物理内存128GB计算;建议kernel.shmmax参数取值为节点物理内存的70%,单位为字节,

即12870%10241024 1024=96207267430.4(向上取整为96207267430)。

kernel.shmall参数:根据SGA/PAGE_SIZE计算。

kernel.sem参数:如果客户单个数据库需要支持的process数超过12000,请按照实际情况配置。

生效命令:/sbin/sysctl --system

5.11 停止avahi-daemon服务

systemctl disable avahi-daemon.socket

systemctl disable avahi-daemon.service

systemctl stop avahi-daemon.socket

添加NOZEROCONF=yes参数

vi /etc/sysconfig/network

NOZEROCONF=yes

5.12 /etc/profile配置

复制代码
cat >> /etc/profile << EOF
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
            ulimit -p 16384
              ulimit -n 65536
  else
   ulimit -u 16384 -n 65536
      fi
    umask 022
fi
EOF

六、Grid集群软件安装

6.1 上传软件包

root@srv01 \~# ll /opt

6.2 解压grid安装包

复制代码
[grid@srv01 ~]$ echo $ORACLE_HOME
/u01/app/23.26.1/grid
[root@srv01 ~]$ cp /opt/LINUX.X64_2326100_grid_home.zip /u01/app/23.26.1/grid

[root@srv01 ~]# chown -R grid:oinstall /u01/app/23.26.1/grid
[root@srv01 ~]# chmod -R 775 /u01/app/23.26.1/grid
[root@srv01 ~]# su - grid
[grid@srv01 ~]$ cd $ORACLE_HOME
[grid@srv01 grid]$ unzip LINUX.X64_2326100_grid_home.zip

6.3 安装cvuqdisk

root用户下2个节点都要操作

root@srv01 \~# cd /u01/app/23.26.1/grid/cv/rpm

root@srv01 rpm# ll

root@srv01 rpm# export CVUQDISK_GRP=oinstall

root@srv01 rpm# rpm -ivh cvuqdisk-1.0.10-1.rpm

6.4 互信配置

分别使用grid和oracle用户验证SSH connectivity:

#grid用户等效性

srv01

ssh-keygen -t rsa

ssh-keygen -t dsa

srv02

ssh-keygen -t rsa

ssh-keygen -t dsa

复制代码
srv01
cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
ssh grid@srv02 cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
srv02
cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
ssh grid@srv01 cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys

for h in srv01 srv01-priv srv02 srv02-priv;
do
ssh -l grid -o StrictHostKeyChecking=no $h date;
done

#oracle用户等效性

复制代码
srv01
ssh-keygen -t rsa
ssh-keygen -t dsa
srv02
ssh-keygen -t rsa
ssh-keygen -t dsa

srv01
cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
ssh oracle@srv02 cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
srv02
cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
ssh oracle@srv01 cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys

for h in srv01 srv01-priv srv02 srv02-priv;
do
ssh -l oracle -o StrictHostKeyChecking=no $h date;
done

6.5 GI配置预检查

在配置GRID前,使用grid用户执行runcluvf.sh脚本检查环境,修复不满足安装需求的项

su - grid

/u01/app/23.26.1/grid/runcluvfy.sh stage -pre crsinst -n srv01,srv02 -fixup -verbose

6.6 执行安装

复制代码
[grid@srv01 grid]$ export DISPLAY=192.168.2.23:0.0
[grid@srv01 grid]$ ./gridSetup.sh

查看节点信息:crsctl check cluster -all

检查crs运行状态:crsctl check crs

grid@srv01 \~$ crsctl status res -t

6.7 挂载ASM盘

SQL> select name,state from v$asm_diskgroup;

七、Oracle DataBase软件安装

7.1 解压

oracle@srv01 \~ echo ORACLE_HOME

/u01/app/oracle/product/23.26.1/dbhome_1

复制代码
[root@srv01 ~]# cd /opt
[root@srv01 opt]# cp LINUX.X64_2326100_db_home.zip /u01/app/oracle/product/23.26.1/dbhome_1
[root@srv01 ~]# chown -R oracle:oinstall /u01/app/oracle/product/23.26.1/dbhome_1
[root@srv01 ~]# chmod -R 775 /u01/app/oracle/product/23.26.1/dbhome_1

[root@srv01 soft]# su - oracle
[oracle@srv01 ~]$ cd $ORACLE_HOME
[oracle@srv01 dbhome_1]$ unzip LINUX.X64_2326100_db_home.zip

7.2 解压安装

复制代码
[oracle@srv01 dbhome_1]$  export DISPLAY=192.168.2.238:0.0
[oracle@srv01 dbhome_1]$  ./runInstaller

八、DBCA创建实例

复制代码
[root@srv01 ~]# su - oracle
[oracle@srv01 ~]$ export DISPLAY=192.168.2.183:0.0
[oracle@srv01 ~]$ dbca

九、RAC启停

9.1 关闭

oracle:srvctl stop database -d prod

root:crsctl stop crs

9.2 启动

root:crsctl stop crs

oracle:srvctl start database -d prod

crsctl status res -t

相关推荐
倔强的石头_19 小时前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
冬奇Lab1 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence2 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神2 天前
三、用户与权限管理
数据库·mysql
麦聪聊数据3 天前
数据服务化时代:企业数据能力输出的核心路径
数据库
shushangyun_3 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
DARLING Zero two♡3 天前
【MySQL数据库】数据类型与表约束
数据库·mysql
曹牧3 天前
Oracle EXPLAIN PLAN
数据库·oracle
BD_Marathon3 天前
SQL学习指南——视图
数据库·sql
活宝小娜3 天前
mysql详细安装教程
数据库·mysql·adb