Debian上搭建Oracle RAC集群的详细步骤
sudo apt update && sudo apt upgrade -y
libaio1、libgcc1、unixodbc、kmod、oracleasm等基础依赖,通过以下命令安装:sudo apt install -y libaio1 libgcc1 unixodbc kmod oracleasm
node1、node2),配置相同的CPU、内存(建议≥16GB)、存储(共享存储用于ASM)。192.168.1.231、192.168.1.232)。10.10.10.231、10.10.10.232)。192.168.1.233、192.168.1.234),用于故障自动漂移。/etc/hosts中添加节点名称与IP映射(如node1 192.168.1.231、node2 192.168.1.232),确保节点间可通过主机名通信。sudo groupadd -r oinstall
sudo groupadd -r dba
sudo useradd -m -r -g oinstall -G dba oracle
sudo passwd oracle # 设置密码
/home/oracle/.bashrc,添加以下内容:export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/23C/dbhome_1 # 根据Oracle版本调整
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export ORACLE_SID=+ASM # ASM实例SID(可选)
执行source /home/oracle/.bashrc使配置生效。Grid Infrastructure是Oracle RAC的核心组件,负责集群管理、ASM存储访问及节点监控。
从Oracle官网下载适用于Debian的LINUX.X64_23C_grid_home.zip(Grid Infrastructure安装包),解压至临时目录:
unzip LINUX.X64_23C_grid_home.zip -d /tmp/grid_home
以oracle用户执行runInstaller,选择“集群安装”模式:
cd /tmp/grid_home
./runInstaller -silent -responseFile /path/to/grid_response_file.rsp -instRepo /tmp/grid_repo -localListener LISTENER_NODE1 -db_name racdb
grid_response_file.rsp,指定集群节点(node1,node2)、SCAN名称(如racdb-scan)、VIP地址等参数。cluvfy工具检查集群环境(如节点连通性、存储权限):./cluvfy stage -pre crsinst -n node1,node2 -fixup
root.sh脚本:在每个节点上以root用户执行生成的root.sh脚本(位于/u01/app/oraInventory)。crsctl status cluster # 查看集群状态
crsctl stat res -t # 查看集群资源状态
在Grid Infrastructure安装成功的节点上,安装Oracle Database软件(RAC模式)。
从Oracle官网下载适用于Debian的LINUX.X64_23C_database.zip(数据库安装包),解压至临时目录:
unzip LINUX.X64_23C_database.zip -d /tmp/db_home
以oracle用户执行runInstaller,选择“RAC安装”模式:
cd /tmp/db_home
./runInstaller -silent -responseFile /path/to/db_response_file.rsp -instRepo /tmp/db_repo -db_name racdb -memory_target 8G -asm_sys_asm_diskgroup=+DATA
/u01/app/19.0.0/grid)、数据库字符集(如AL32UTF8)等参数。root.sh脚本:在每个节点上以root用户执行生成的root.sh脚本(位于/u01/app/oraInventory)。srvctl status database -d racdb # 查看数据库状态
使用dbca(Database Configuration Assistant)工具创建RAC数据库:
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbName racdb -sid racdb -createAsContainerDatabase true -numberOfPDBs 1 -pdbName pdb1 -datafileDestination +DATA -recoveryAreaDestination +FRA -characterSet AL32UTF8 -memoryPercentage 40 -emConfiguration NONE
-templateName指定数据库模板(如General_Purpose),-datafileDestination指定数据文件存储位置(ASM磁盘组),-numberOfPDBs指定PDB数量。使用以下命令检查集群资源与数据库状态:
crsctl status cluster -t # 查看集群节点与资源状态
srvctl status database -d racdb # 查看数据库实例状态
srvctl status instance -d racdb -n node1 # 查看指定节点的实例状态
node1的Oracle服务(sudo systemctl stop oracle-racdb),观察node2是否自动接管VIP与服务。ping racdb-scan,确认IP未中断;使用sqlplus连接数据库,验证服务可用性。rman target /
BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;
opatch工具安装Oracle推荐的补丁(如CPU、PSU),确保系统安全:opatch apply /path/to/patch
注意事项: