位置: 文档库 > 数据库 > Oracle 11g RAC 在 CentOS 5.5 的安装日志

Oracle 11g RAC 在 CentOS 5.5 的安装日志

StrollDragon 上传于 2022-08-24 01:02

《Oracle 11g RAC 在 CentOS 5.5 的安装日志》

一、引言

Oracle Real Application Clusters(RAC)作为高可用性数据库解决方案,通过多节点共享存储架构实现负载均衡与故障自动切换。本日志详细记录在CentOS 5.5(x86_64)环境下部署Oracle 11g RAC的全过程,涵盖系统配置、软件安装、集群搭建及验证等关键步骤,为后续运维提供技术参考。

二、环境准备

1. 硬件配置

两台物理服务器(Node1、Node2),每台配置:

  • CPU:2×四核Intel Xeon E5620(16逻辑核)
  • 内存:32GB DDR3
  • 存储:共享磁盘阵列(LUN划分见下文)
  • 网络:双网卡(公网1Gbps、私网10Gbps)

2. 操作系统配置

安装CentOS 5.5 x86_64,执行以下初始化操作:

# 修改主机名
echo "NODE1" > /etc/sysconfig/network
hostname NODE1

# 配置/etc/hosts(两节点同步)
192.168.1.101 NODE1
192.168.1.102 NODE2
192.168.2.101 NODE1-PRIV
192.168.2.102 NODE2-PRIV

# 禁用SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

# 配置NTP同步
echo "server 192.168.1.1 iburst" >> /etc/ntp.conf
service ntpd start
chkconfig ntpd on

3. 存储配置

使用ASM管理共享存储,划分三个LUN:

  • OCR/Voting Disk:10GB(镜像)
  • DATA:100GB(条带化)
  • FRA:50GB(条带化)

通过multipath配置多路径访问:

# 安装multipath
yum install device-mapper-multipath

# 配置/etc/multipath.conf
devices {
    device {
        vendor "COMPAQ"
        product "HSV110"
        path_grouping_policy multibus
        failback immediate
        no_path_retry 5
    }
}

# 启动服务
service multipathd start

三、安装前依赖检查

1. 安装必要软件包

yum install -y binutils compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel \
ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat \
unixODBC unixODBC-devel

2. 用户与组配置

# 创建用户组
groupadd oinstall
groupadd dba
groupadd oper

# 创建oracle用户
useradd -g oinstall -G dba,oper oracle
echo "oracle123" | passwd oracle --stdin

3. 内核参数调整

修改/etc/sysctl.conf:

fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
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

执行sysctl -p生效。

4. 用户限制配置

修改/etc/security/limits.conf:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

四、安装Oracle Clusterware

1. 共享存储准备

使用ASMLib管理磁盘:

# 安装ASMLib
rpm -ivh oracleasmlib-2.0.4-1.el5.x86_64.rpm
rpm -ivh oracleasm-support-2.1.8-1.el5.x86_64.rpm

# 加载内核模块
modprobe oracleasm
echo "oracleasm" >> /etc/modules.conf

# 配置ASMLib
/etc/init.d/oracleasm configure -u oracle -g oinstall -e YES

# 创建磁盘组
/etc/init.d/oracleasm createdisk OCR_DISK1 /dev/mapper/mpath1
/etc/init.d/oracleasm createdisk OCR_DISK2 /dev/mapper/mpath2
/etc/init.d/oracleasm createdisk DATA_DISK1 /dev/mapper/mpath3
/etc/init.d/oracleasm createdisk FRA_DISK1 /dev/mapper/mpath4

2. 安装Clusterware软件

上传安装包至/tmp/oracle,解压后执行:

cd /tmp/oracle/clusterware
./runInstaller -ignoreSysPrereqs -responseFile /tmp/oracle/cw_response.rsp

响应文件关键参数:

[UNIX_GROUP_NAME]
oinstall

[INSTALL_TYPE]
CRS_SWONLY

[ORACLE_BASE]
/u01/app/oracle

[ORACLE_HOME]
/u01/app/11.2.0/grid

[CLUSTER_NODES]
NODE1,NODE2

[NETWORK_INTERFACE_LIST]
eth1:192.168.1.0:1,eth2:192.168.2.0:2

[STORAGE_OPTION]
ASM_STORAGE

[ASM_DISK_GROUP]
OCR:OCR_DISK1,OCR_DISK2:MIRROR
DATA:DATA_DISK1:EXTERNAL
FRA:FRA_DISK1:EXTERNAL

3. 执行root脚本

在两节点依次执行:

/u01/app/oraInventory/orainstRoot.sh
/u01/app/11.2.0/grid/root.sh

五、安装Oracle Database软件

1. 创建数据库响应文件

[ORACLE_INSTALL_OPTION]
INSTALL_DB_SWONLY

[UNIX_GROUP_NAME]
oinstall

[ORACLE_HOME]
/u01/app/oracle/product/11.2.0/dbhome_1

[ORACLE_BASE]
/u01/app/oracle

[oracle.install.db.InstallEdition]
EE

[ORACLE_HOSTNAME]
NODE1

[CLUSTER_NODES]
NODE1,NODE2

[DATABASE_TYPE]
MULTIPURPOSE

[CONFIGURE_SHARED_FILESYSTEM]
false

[STORAGE_TYPE]
ASM_STORAGE

[RECOVERY_AREA_DESTINATION]
+FRA

[CHARACTER_SET]
AL32UTF8

[NATIONALCHARACTER_SET]
UTF8

2. 执行数据库安装

cd /tmp/oracle/database
./runInstaller -ignoreSysPrereqs -responseFile /tmp/oracle/db_response.rsp

3. 执行数据库配置脚本

在两节点运行:

/u01/app/oracle/product/11.2.0/dbhome_1/root.sh

六、创建RAC数据库

1. 使用DBCA创建数据库

dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbName ORACLRAC \
-sid ORACLRAC1 \
-responseFileName /tmp/oracle/dbca_response.rsp \
-sysPassword oracle123 \
-systemPassword oracle123 \
-emConfiguration LOCAL \
-storageType ASM \
-datafileJunctionPoint +DATA \
-redoLogGroups 3 \
-characterSet AL32UTF8 \
-totalMemory 16384

2. 配置服务资源

# 创建服务
srvctl add service -d ORACLRAC -s SALES_SVC -r PRIMARY -preferred "NODE1,NODE2" \
-available "NODE1,NODE2" -t TAFFY -notify FAN

七、验证部署

1. 集群状态检查

# 检查CRS状态
crsctl check crs
# 预期输出:
# CRS-4638: Oracle High Availability Services is online
# CRS-4537: Cluster Ready Services is online
# CRS-4529: Cluster Synchronization Services is online

# 检查数据库实例
srvctl config database -d ORACLRAC
srvctl status database -d ORACLRAC

2. 负载测试

# 生成测试负载
sqlplus / as sysdba 

八、常见问题处理

1. 存储识别失败

问题现象:ASM无法发现磁盘

解决方案:

  • 检查oracleasm扫描状态:/etc/init.d/oracleasm listdisks
  • 验证多路径配置:multipath -ll
  • 重新加载ASMLib:/etc/init.d/oracleasm restart

2. 节点间通信故障

问题现象:CRS-4000错误

解决方案:

  • 检查私网连通性:ping NODE1-PRIV
  • 验证防火墙设置:iptables -L
  • 检查OCR配置:ocrcheck

3. 内存不足警告

问题现象:ORA-04031错误

解决方案:

  • 调整SGA/PGA参数:alter system set sga_target=12G scope=spfile;
  • 增加共享内存:修改kernel.shmmax参数
  • 检查AWE内存配置(32位系统)

九、总结

本次部署成功在CentOS 5.5环境构建Oracle 11g RAC集群,关键经验包括:

  1. 严格遵循硬件兼容性列表(HCL)
  2. 采用ASMLib简化存储管理
  3. 通过响应文件实现自动化安装
  4. 建立完善的监控告警机制

后续建议:

  • 定期执行健康检查脚本
  • 配置Data Guard实现灾难恢复
  • 升级至Oracle Enterprise Manager 12c进行集中管理

关键词:Oracle 11g RAC、CentOS 5.5集群安装ASM存储高可用性、响应文件、故障排除

简介:本文详细记录在CentOS 5.5系统部署Oracle 11g RAC集群的全过程,涵盖系统配置、软件安装、集群搭建及验证等关键步骤,包含完整的响应文件示例和故障处理方案,为数据库管理员提供可复用的技术参考。