阅读量:14
Debian上搭建Oracle RAC集群的详细步骤
一、前置准备
1. 系统与依赖配置
- 操作系统要求:使用Debian 10及以上稳定版(推荐Debian 11),确保系统已更新至最新状态:
sudo apt update && sudo apt upgrade -y - 安装依赖包:Oracle RAC需要
libaio1、libgcc1、unixodbc、kmod、oracleasm等基础依赖,通过以下命令安装:sudo apt install -y libaio1 libgcc1 unixodbc kmod oracleasm
2. 硬件与网络规划
- 集群节点要求:至少2台物理/虚拟服务器(如
node1、node2),配置相同的CPU、内存(建议≥16GB)、存储(共享存储用于ASM)。 - 网络配置:
- 公有网络:用于客户端访问(默认端口1521),配置静态IP(如
192.168.1.231、192.168.1.232)。 - 私有网络:集群节点间心跳通信(推荐10Gbps以上带宽),配置静态IP(如
10.10.10.231、10.10.10.232)。 - 虚拟IP(VIP):客户端连接的浮动IP(如
192.168.1.233、192.168.1.234),用于故障自动漂移。 - DNS/hosts解析:在
/etc/hosts中添加节点名称与IP映射(如node1 192.168.1.231、node2 192.168.1.232),确保节点间可通过主机名通信。
- 公有网络:用于客户端访问(默认端口1521),配置静态IP(如
3. 用户与环境变量
- 创建Oracle用户与组:
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使配置生效。
二、安装Oracle Grid Infrastructure(集群基础)
Grid Infrastructure是Oracle RAC的核心组件,负责集群管理、ASM存储访问及节点监控。
1. 下载与解压安装包
从Oracle官网下载适用于Debian的LINUX.X64_23C_grid_home.zip(Grid Infrastructure安装包),解压至临时目录:
unzip LINUX.X64_23C_grid_home.zip -d /tmp/grid_home
2. 运行安装程序
以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
3. 完成安装
- 运行
root.sh脚本:在每个节点上以root用户执行生成的root.sh脚本(位于/u01/app/oraInventory)。 - 验证Grid Infrastructure状态:
crsctl status cluster # 查看集群状态 crsctl stat res -t # 查看集群资源状态
三、安装Oracle RAC数据库软件
在Grid Infrastructure安装成功的节点上,安装Oracle Database软件(RAC模式)。
1. 下载与解压安装包
从Oracle官网下载适用于Debian的LINUX.X64_23C_database.zip(数据库安装包),解压至临时目录:
unzip LINUX.X64_23C_database.zip -d /tmp/db_home
2. 运行安装程序
以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
- 响应文件配置:指定集群节点、Grid Infrastructure主目录(
/u01/app/19.0.0/grid)、数据库字符集(如AL32UTF8)等参数。
3. 完成安装
- 运行
root.sh脚本:在每个节点上以root用户执行生成的root.sh脚本(位于/u01/app/oraInventory)。 - 验证数据库软件状态:
srvctl status database -d racdb # 查看数据库状态
4. 创建RAC数据库
使用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数量。
四、配置与验证集群
1. 验证集群状态
使用以下命令检查集群资源与数据库状态:
crsctl status cluster -t # 查看集群节点与资源状态
srvctl status database -d racdb # 查看数据库实例状态
srvctl status instance -d racdb -n node1 # 查看指定节点的实例状态
2. 测试故障转移
- 模拟节点故障:停止
node1的Oracle服务(sudo systemctl stop oracle-racdb),观察node2是否自动接管VIP与服务。 - 验证VIP漂移:在客户端使用
ping racdb-scan,确认IP未中断;使用sqlplus连接数据库,验证服务可用性。
五、后续维护
- 备份策略:配置RMAN定期备份(全量+增量),存储至ASM磁盘组或第三方存储:
rman target / BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT; - 补丁管理:使用
opatch工具安装Oracle推荐的补丁(如CPU、PSU),确保系统安全:opatch apply /path/to/patch - 性能监控:使用Oracle Enterprise Manager(OEM)或第三方工具(如Prometheus+Granafa)监控集群性能(CPU、内存、I/O、SGA/PGA使用率)。
注意事项:
- Debian并非Oracle官方认证的Linux发行版,部分功能可能存在兼容性问题,建议优先使用Oracle Linux或RHEL。
- 实际安装过程中,需根据Oracle版本(如23C、19C)调整路径与参数,参考Oracle官方文档(如《Oracle Database安装指南》)解决特定问题。