Debian环境下Oracle集群(以RAC为核心)部署方法
Oracle集群(如Real Application Clusters, RAC)在Debian上的部署需遵循严格的步骤,涵盖环境准备、软件安装、集群配置及验证等环节。以下是详细流程:
sudo apt-get update && sudo apt-get upgrade -y确保系统为最新版本;/etc/sysctl.conf,添加/修改以下参数以优化内核性能(满足Oracle要求):kernel.shmall = 2097152
kernel.shmmax = 536870912
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
oracle hard memlock 33554432
编辑/etc/pam.d/login,确保包含session required /lib64/security/pam_limits.so(加载资源限制)。oinstall(安装组)、dba(数据库管理员组)及oracle用户(归属oinstall主组、dba附加组):sudo groupadd oinstall
sudo groupadd dba
sudo useradd -g oinstall -G dba -m oracle
sudo passwd oracle # 设置oracle用户密码
/u01/app/oracle),并设置权限:sudo mkdir -p /u01/app/oracle
sudo chown -R oracle:oinstall /u01/app/oracle
sudo chmod -R 755 /u01/app/oracle
```。
在每台节点上运行以下命令,安装Oracle所需的系统依赖:
sudo apt-get install -y gcc make libc6-dev libaio1 libmotif3 libdb3 awk
```。
#### 2. 安装Oracle Clusterware(集群管理工具)
Oracle RAC需依赖Clusterware实现节点间协调。从Oracle官方网站下载对应Debian版本的`oracle-clusterware`安装包,解压后运行安装脚本:
```bash
# 示例(以Oracle 19c为例,需替换为实际下载路径)
bash oracle-database-clusterware-19c-linux-x86-64-install.sh
按照向导完成安装,安装完成后会生成crsctl(集群资源管理工具)等关键命令。
在每台节点上运行Oracle Database安装包(需与Clusterware版本一致),选择“集群安装”模式(Install Database Software Only),并指定共享存储路径(如/u01/app/oracle/product/19.0.0/dbhome_1)。安装完成后,执行root.sh脚本(位于数据库安装目录的root子目录下),完成系统级配置。
使用cluvfy工具(Oracle集群验证工具)检查集群环境是否符合要求(如节点连通性、存储访问权限、网络配置等):
cluvfy stage -pre crsinst -n all -verbose # 预检查集群安装条件
若验证失败,需根据提示修复问题(如调整网络配置、修改权限)。
dbca(Database Configuration Assistant),选择“创建数据库”,勾选“RAC数据库”选项,指定数据库名称(如orcl)、SID、字符集(如AL32UTF8),并配置共享存储路径(数据文件、重做日志文件、控制文件均需放在共享存储上);srvctl工具创建数据库实例,例如:srvctl add database -d orcl -create -template /u01/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/templates/General_Purpose.dbc
此命令会创建RAC数据库实例,并自动配置集群资源。使用crsctl命令启动Oracle Clusterware服务(需在任意节点执行):
sudo crsctl start crs # 启动集群
sudo crsctl stat res -t # 查看集群资源状态(确认所有资源正常运行)
```。
#### 2. 启动数据库实例
通过`srvctl`工具启动RAC数据库:
```bash
sudo srvctl start database -d orcl # 启动名为orcl的数据库
可使用sqlplus / as sysdba登录数据库,验证实例状态(SELECT STATUS FROM V$INSTANCE;应返回OPEN)。
sudo systemctl stop oracle),观察集群是否自动将实例切换至其他节点;ping <VIP>命令,确认虚拟IP是否从故障节点迁移至正常节点。使用sqlplus执行并发查询(如SELECT COUNT(*) FROM large_table;),验证集群的负载均衡能力(多节点共同处理请求)。