添加6块硬盘,每块50G,添加控制器,设为虚拟,添加网络适配器
设置主机名,配置网卡,编写/etc/hosts文件()
TypeScript[root@rac2 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 #rac1 192.168.17.11 rac1 192.168.200.11 rac1-priv 192.168.17.21 rac1-vip #rac2 192.168.17.12 rac2 192.168.200.12 rac2-priv 192.168.17.22 rac2-vip #scan 192.168.17.30 rac-scan 192.168.17.31 rac-scan 192.168.17.32 rac-scan运行test.sh脚本,完成基础配置
TypeScript[root@rac2 ~]# cat test.sh RACLE_BASE="/u01/app/oracle" GRID_HOME="/u01/app/19.0.0/grid" DB_HOME="/u01/app/oracle/product/19.0.0/dbhome_1" ORA_INVENTORY="/u01/app/oraInventory" # ================================================ echo "==========================================" echo " Oracle Linux 7.9 RAC2 前置配置" echo "==========================================" # 1. 关闭防火墙和 SELinux echo "[1/8] 关闭防火墙 & SELinux..." systemctl stop firewalld && systemctl disable firewalld sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config setenforce 0 # 2. 禁用 Zeroconf echo "[2/8] 禁用 Zeroconf..." grep -q "NOZEROCONF" /etc/sysconfig/network || echo "NOZEROCONF=yes" >> /etc/sysconfig/network # 3. 关闭 avahi-daemon echo "[3/8] 关闭 avahi-daemon..." systemctl stop avahi-daemon && systemctl disable avahi-daemon # 4. 安装依赖包 echo "[4/8] 安装依赖包..." yum install -y \ bc bind-utils binutils compat-libcap1 compat-libstdc++-33 \ gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel \ libgcc libstdc++ libstdc++-devel libXi libXtst make \ net-tools nfs-utils python python-configshell python-rtslib \ python-six targetcli smartmontools sysstat unzip vim \ elfutils-libelf elfutils-libelf-devel fontconfig-devel \ libXrender libXrender-devel libX11 libXau libxcb \ librdmacm-devel unixODBC unixODBC-devel &>/dev/null # 5. 创建用户和组 echo "[5/8] 创建用户和组..." 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 id oracle &>/dev/null || useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle id grid &>/dev/null || useradd -u 54322 -g oinstall -G dba,asmdba,asmoper,asmadmin,racdba grid echo "oracle:Oracle123" | chpasswd echo "grid:Oracle123" | chpasswd # 6. 创建目录 echo "[6/8] 创建目录结构..." mkdir -p ${ORACLE_BASE} ${GRID_HOME} ${DB_HOME} ${ORA_INVENTORY} chown -R grid:oinstall ${GRID_HOME} ${ORA_INVENTORY} chown -R grid:oinstall ${ORACLE_BASE} chown -R oracle:oinstall ${DB_HOME} chmod -R 775 ${ORACLE_BASE} ${GRID_HOME} ${DB_HOME} ${ORA_INVENTORY} # 7. 配置内核参数 echo "[7/8] 配置内核参数..." cat > /etc/sysctl.d/99-oracle-rac.conf <<EOF fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967295 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 = 1048576 net.ipv4.conf.all.rp_filter = 2 net.ipv4.conf.default.rp_filter = 2 vm.swappiness = 10 EOF sysctl --system &>/dev/null # 8. 配置资源限制 echo "[8/8] 配置资源限制..." cat > /etc/security/limits.d/99-oracle-rac.conf <<EOF grid soft nproc 2047 grid hard nproc 16384 grid soft nofile 1024 grid hard nofile 65536 grid soft stack 10240 grid hard stack 32768 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768 oracle soft memlock 3145728 oracle hard memlock 3145728 EOF # 配置环境变量 (RAC2 使用 +ASM2 / orcl2) cat > /home/grid/.bash_profile <<EOF export ORACLE_SID=+ASM2 export ORACLE_BASE=${ORACLE_BASE} export ORACLE_HOME=${GRID_HOME} export PATH=\$ORACLE_HOME/bin:\$PATH export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib umask 022 EOF cat > /home/oracle/.bash_profile <<EOF export ORACLE_SID=orcl2 export ORACLE_BASE=${ORACLE_BASE} export ORACLE_HOME=${DB_HOME} export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS" export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 umask 022 EOF # 禁用透明大页 cat > /etc/systemd/system/disable-thp.service <<EOF [Unit] Description=Disable Transparent Huge Pages DefaultDependencies=no After=sysinit.target local-fs.target Before=oracle-rdbms.service [Service] Type=oneshot ExecStart=/bin/sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled && echo never > /sys/kernel/mm/transparent_hugepage/defrag' [Install] WantedBy=multi-user.target EOF systemctl enable disable-thp &>/dev/null systemctl start disable-thp echo "" echo "==========================================" echo " ✅ RAC2 前置配置完成!" echo "==========================================" echo "⚠️ 请重启服务器使配置完全生效" echo "==========================================" /bin/bash: indent: 未找到命令配置SSH互信,分别RAC1和RAC2的root,grid,Oracle三个用户下执行以下命令
TypeScriptssh-keygen(一直按enter键即可) ssh-copy-id rac2(rac1执行) ssh rac1(验证连接) su grid(切换grid用户执行以上命令) su oracle配置磁盘规则,执行writerule.sh脚本
bash[root@rac1 ~]# vi writerule.sh [root@rac1 ~]# cat writerule.sh # 定义磁盘列表 DISKS="b c d e f g" for i in $DISKS; do # 获取WWID UUID=$(/usr/lib/udev/scsi_id -g -u /dev/sd$i) # 写入标准规则 (注意这里用的是 SYMLINK+=) echo "KERNEL==\"sd*\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id -g -u -d \$devnode\", RESULT==\"$UUID\", SYMLINK+=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules done echo "--- 规则生成完毕,内容如下 ---" cat /etc/udev/rules.d/99-oracle-asmdevices.rules [root@rac1 ~]# chmod +x writerule.sh [root@rac1 ~]# ./writerule.sh --- 规则生成完毕,内容如下 --- KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c292f69dbb4c769c83ad5993b9c0", SYMLINK+="asm-diskb", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c29d918eeeb60186961cc15a4887", SYMLINK+="asm-diskc", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c2938b5531eec06b22874d759416", SYMLINK+="asm-diskd", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c2989f4d6203261cac3b6e88a022", SYMLINK+="asm-diske", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c29502500225b134b677f621765f", SYMLINK+="asm-diskf", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c29ef9f275b56b87e92fc60b0d33", SYMLINK+="asm-diskg", OWNER="grid", GROUP="asmadmin", MODE="0660" [root@rac1 ~]# udevadm control --reload-rules [root@rac1 ~]# udevadm trigger --type=devices --action=change [root@rac1 ~]# ls -l /dev/asm* lrwxrwxrwx. 1 root root 3 7月 9 09:13 /dev/asm-diskb -> sdb lrwxrwxrwx. 1 root root 3 7月 9 09:13 /dev/asm-diskc -> sdc lrwxrwxrwx. 1 root root 3 7月 9 09:13 /dev/asm-diskd -> sdd lrwxrwxrwx. 1 root root 3 7月 9 09:13 /dev/asm-diske -> sde lrwxrwxrwx. 1 root root 3 7月 9 09:13 /dev/asm-diskf -> sdf lrwxrwxrwx. 1 root root 3 7月 9 09:13 /dev/asm-diskg -> sdg [root@rac1 ~]#安装LINUX.X64_193000_grid_home.zip文件包






















