Debian环境下搭建Oracle集群(以RAC为例)指南
sudo apt-get update && sudo apt-get upgrade -y
192.168.1.101、192.168.1.102);mycluster)、SCAN名称(如mycluster-scan)、虚拟IP(VIP,如192.168.1.100);/etc/hosts文件中。在所有节点执行以下命令,安装Oracle RAC所需的软件包:
sudo apt-get install -y gcc make libc6-dev libaio1 libmotif3 libdb3 awk libXp6 libXtst6 libxi6
注:若缺少
libXp6等包,可通过sudo apt-get install -y libxp6补充。
oinstall用于软件安装管理,dba用于数据库管理)和用户(oracle):sudo groupadd -r oinstall
sudo groupadd -r dba
sudo useradd -m -r -g oinstall -G dba oracle
sudo passwd oracle # 设置oracle用户密码
sudo mkdir -p /u01/app/oracle
sudo chown -R oracle:oinstall /u01/app/oracle
sudo chmod -R 755 /u01/app/oracle
/home/oracle/.bashrc,添加以下内容:export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3.0.0/dbhome_1 # 根据实际版本调整
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export ORACLE_SID=orcl
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
source /home/oracle/.bashrc # 使配置生效
注:
ORACLE_HOME路径需与后续安装的Oracle版本一致。
编辑/etc/sysctl.conf,添加以下参数以优化系统性能:
kernel.shmall = 2097152
kernel.shmmax = 536870912 # 内存大小(如8GB则设为8589934592)
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
使参数生效:
sudo sysctl -p
编辑/etc/security/limits.conf,添加以下内容以调整oracle用户的资源限制:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft memlock 33554432 # 内存锁限制(需≥SGA大小)
oracle hard memlock 33554432
编辑/etc/pam.d/login,确保包含以下行以应用资源限制:
session required /lib/x86_64-linux-gnu/security/pam_limits.so # Debian 12路径
cluvfy工具(位于安装包的bin目录),验证集群环境是否符合要求:./cluvfy stage -pre crsinst -n node1,node2 -fixup
runInstaller,选择“集群安装”模式,指定集群节点、SCAN名称(如mycluster-scan)、虚拟IP(VIP)等信息,跟随向导完成安装。runInstaller,选择“RAC安装”选项,指定集群节点信息,跟随向导完成安装。dbca
在向导中选择“创建数据库”,勾选“RAC数据库”,设置数据库名称(如orcl)、字符集(如AL32UTF8)、表空间大小等参数,完成数据库创建。crsctl start cluster
sqlplus / as sysdba
SQL> STARTUP;
SQL> EXIT;
crsctl stat res -t查看资源状态)。sqlplus执行简单查询,验证集群的负载均衡与高可用性。