Oracle RAC 19c集群搭建指南:实现高可用、高性能的数据库集群(超详细)
1.新建节点
因为rac集群使用的是共享盘(esxi设置共享盘步骤如下):
首先添加一个iSCSI控制器
SCSI总线共享选择虚拟
添加硬盘
!!!注意:组成data盘的三块硬盘空间必须一致,metadata盘也需要三块空间一致的盘
新添加的盘(所有刚添加的!)要设置磁盘置备为‘厚置备,置零’,并且控制器选择新添加的iSCSI控制器,磁盘模式为独立持久
iso自行选择或者重新安装centos系统
总配置如下:
cpu选择的4c,也可以调大一些
安装系统的话自行安装!
创建第二个节点,也可以多个节点,我这里因为资源不够问题,创建两个
!!!注意:节点二上也需要添加一个新的iSCSI控制器
节点二SCSI总线共享也选择‘虚拟’
节点二添加硬盘的话选择现有硬盘
找到rac1节点的盘,可以看到在rac1添加的6块共享盘,选择这6块盘
添加好之后,记得修改iSCSI控制器以及磁盘模式(磁盘模式选不选的吧,没啥关系)
下面五块盘一样的操作
!!!注意:我这里忘了添加第二块网卡(两个节点都要添加),一定要有两块网卡!!!
为什么Oraclerac19c要用两块网卡?
Oracle RAC 19c通常需要使用两个网卡,一个用于公共网络(Public Network),另一个用于专用网络(Private Network)。这是因为Oracle RAC是一种集群技术,它需要多台服务器之间进行高速数据传输和协作,以提供高可用性和高性能的数据库服务
具体来说,使用两个网卡的原因如下:
1.公共网络:公共网络用于连接客户端和应用程序到数据库服务。在Oracle RAC中,公共网络通常使用标准的TCP/IP协议,通过标准的以太网交换机进行通信。公共网络可以使用单独的物理网卡或者虚拟网络接口(VNIC)实现。
2.专用网络:专用网络用于连接Oracle RAC集群中的各个节点之间。在Oracle RAC中,专用网络通常使用InfiniBand或者其他高速互连技术,以实现低延迟、高带宽的数据传输。专用网络可以使用单独的物理网卡或者虚拟网络接口(VNIC)实现。
使用两个网卡可以有效地隔离客户端访问和节点间通信的流量,从而提高系统的安全性和稳定性。此外,专用网络的高速传输也可以显著提高Oracle RAC集群的性能和可扩展性。
如果软件安装选择的最小安装,安装好系统之后要记得安装一下图形化界面
参考文档:https://blog.csdn.net/weixin_43224306/article/details/127358806
GUI图形化界面安装的话,就不用
网络配置
!!!注意哈:内部通信的网卡不需要输入网关 DNS
硬盘配置
两个节点都是一样的,只选择第一块盘配置!
之后就是苦逼的等待安装好了
2.先决条件–主机配置–两台主机都操作
1.设置主机名和映射–双网卡
节点一
hostnamectl set-hostname rac1
vim /etc/hosts
节点二
hostnamectl set-hostname rac2
scp -p 192.168.110.56:/etc/hosts /etc/
在Oracle数据库中,SCAN(Single Client Access Name)是一种虚拟名称,用于代表整个Oracle RAC集群。它允许客户端应用程序通过单个名称来访问整个集群,而不需要知道实际的节点名称和IP地址。
具体来说,当客户端应用程序需要连接到Oracle RAC集群时,它可以使用SCAN名称来代替实际的节点名称或IP地址。在这种情况下,客户端会将请求发送到SCAN IP地址,然后由Oracle Clusterware根据负载均衡算法将请求转发到实际的节点上。这样,客户端就可以无需关心集群中的节点数量和位置,而只需要连接到一个虚拟名称即可。
修改内部通信网卡配置文件
修改完后重启网卡
systemctl restart network
2.新建账号和组
/usr/sbin/groupadd -g 54321 oinstall
/usr/sbin/groupadd -g 54322 dba
/usr/sbin/groupadd -g 54323 oper
/usr/sbin/groupadd -g 54324 backupdba
/usr/sbin/groupadd -g 54325 dgdba
/usr/sbin/groupadd -g 54326 kmdba
/usr/sbin/groupadd -g 54327 asmdba
/usr/sbin/groupadd -g 54328 asmoper
/usr/sbin/groupadd -g 54329 asmadmin
/usr/sbin/groupadd -g 54330 racdba
/usr/sbin/useradd -u 54321 -g oinstall -G dba,asmdba,oper oracle
/usr/sbin/useradd -u 54322 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmoper,asmadmin,racdba grid
echo "oracle" | passwd --stdin oracle
echo "grid" | passwd --stdin grid
3.关闭防火墙和selinux
防火墙:
systemctl stop firewalld.service
systemctl disable firewalld.service
关闭SELINUX:
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
cat /etc/selinux/config
4.关闭时钟同步
systemctl stop chronyd
systemctl disable chronyd
移除chrony配置文件:(必须移除,否则校验NTP失败)
mv /etc/chrony.conf /etc/chrony.conf.bak
5.关闭avahi-daemon
systemctl stop avahi-daemon
systemctl disable avahi-daemon
6.创建目录
mkdir -p /u01/app/19.3.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle/product/19.3.0/db_1
chown -R grid:oinstall /u01
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/
7.设置环境变量
vim /home/oracle/.bash_profile
ORACLE_SID=cndba1;export ORACLE_SID
ORACLE_UNQNAME=cndba;export ORACLE_UNQNAME
JAVA_HOME=/usr/local/java; export JAVA_HOME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="YYYY:MM:DDHH24:MI:SS"; export NLS_DATE_FORMAT
NLS_LANG=american_america.ZHS16GBK; export NLS_LANG
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
vim /home/grid/.bash_profile
PATH=$PATH:$HOME/bin
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19.3.0/grid
export PATH=$ORACLE_HOME/bin:$PATH:/usr/local/bin/:.
export TEMP=/tmp
export TMP=/tmp
export TMPDIR=/tmp
umask 022
export PATH
8.修改资源限制
cat >> /etc/security/limits.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
9.设置 PAM和NOZEROCONF
cat >> /etc/pam.d/login <<EOF
session required pam_limits.so
EOF
vi /etc/sysconfig/network增加以下内容
NOZEROCONF=yes
也可以直接执行如下语法完成修改:
echo "NOZEROCONF=yes" >>/etc/sysconfig/network
10.修改内核参数
/etc/sysctl.d/sysctl.conf or /etc/sysctl.d/98-oracle.conf
cat >> /etc/sysctl.d/sysctl.conf <<EOF
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
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
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
EOF
sysctl -p
11.安装必须要的包
cd /opt/
wget http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
yum localinstall -y oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
yum update -y #大概1000多个包(我新安装的系统原文地址:https://blog.csdn.net/qq_53410334/article/details/130480129
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。