《CentOS 4.7+RAC+Oracle 10g + ASM安装遇到问题》
在构建高可用数据库环境的实践中,CentOS 4.7与Oracle 10g RAC(Real Application Clusters)结合ASM(Automatic Storage Management)的部署方案因其稳定性与性能优势,曾是企业级数据库架构的常见选择。然而,该组合的安装过程涉及操作系统兼容性、集群软件配置、存储管理等多重技术栈的协同,稍有不慎便会陷入技术困境。本文基于实际项目经验,系统梳理安装过程中遇到的典型问题,提供从环境准备到故障排查的完整解决方案。
一、安装环境与技术栈概述
1.1 硬件与软件配置
实验环境采用两台物理服务器,配置如下:
- CPU:Intel Xeon 2.8GHz(双核)
- 内存:8GB
- 存储:6块300GB SAS硬盘(RAID 10)
- 网络:双千兆以太网(心跳网与公共网分离)
软件版本:
- 操作系统:CentOS 4.7(2.6.9-55.EL内核)
- 集群软件:Oracle Clusterware 10g(10.2.0.1)
- 数据库:Oracle Database 10g Enterprise Edition(10.2.0.1)
- 存储管理:ASM(Automatic Storage Management)
1.2 架构设计
采用共享存储架构,两节点通过光纤通道(FC)连接存储阵列。ASM负责管理数据库文件存储,提供条带化与镜像功能。RAC通过集群互连(Cluster Interconnect)实现节点间高速通信,确保高可用性与负载均衡。
二、安装前环境准备
2.1 操作系统配置
(1)内核参数调整
修改/etc/sysctl.conf文件,添加以下参数:
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.shmall = 2097152
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
执行sysctl -p使配置生效。
(2)用户与组配置
创建oracle用户与oinstall、dba组:
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
(3)目录权限设置
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01
2.2 依赖包安装
使用yum安装必要软件包(需配置本地或网络源):
yum install binutils compat-db compat-libstdc++-33 control-center \
gcc gcc-c++ gnome-libs libaio libgcc libstdc++ libstdc++-devel \
make pdksh sysstat xscreensaver
2.3 存储设备准备
(1)使用fdisk划分ASM磁盘:
fdisk /dev/sdb
# 创建主分区,类型设置为0x8e(LVM)
(2)配置ASMLIB(可选但推荐):
安装oracleasm包并加载内核模块:
rpm -ivh oracleasm-*.rpm
modprobe oracleasm
/etc/init.d/oracleasm configure
创建ASM磁盘:
/etc/init.d/oracleasm createdisk VOL1 /dev/sdb1
三、安装过程中遇到的典型问题
3.1 集群时间同步失败
问题现象:安装Oracle Clusterware时,CVU(Cluster Verification Utility)报告节点间时间差超过500ms。
原因分析:CentOS 4.7默认未启用NTP服务,手动时间同步不可靠。
解决方案:
(1)安装NTP服务:
yum install ntp
(2)配置/etc/ntp.conf,添加外部NTP服务器:
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
(3)启动NTP并验证:
service ntpd start
ntpq -p
3.2 OCR(Oracle Cluster Registry)配置失败
问题现象:运行./runInstaller时,OCR初始化报错"Failed to create voting disk"。
原因分析:共享存储未正确识别,或权限不足。
解决方案:
(1)确认ASM磁盘状态:
/etc/init.d/oracleasm listdisks
(2)使用ASMCA工具重新配置磁盘组:
asmca
(3)手动指定OCR位置:
./runInstaller -ignoreSysPrereqs -ignorePrereq \
OCRCONFIG_LOCATION=+DATA/ocrfile
3.3 ASM实例启动失败
问题现象:SQL> startup命令报错"ORA-15032: not all alterations performed"。
原因分析:ASM磁盘组发现路径配置错误。
解决方案:
(1)检查ASM_DISKSTRING参数:
ALTER SYSTEM SET ASM_DISKSTRING='/dev/oracleasm/disks/*' SCOPE=SPFILE;
(2)重新加载ASM实例:
SQL> shutdown immediate
SQL> startup
3.4 RAC节点间通信故障
问题现象:CRS-2674: Start of 'ora.LISTENER_SCAN1.lsnr' on 'node2' failed。
原因分析:私网(Cluster Interconnect)IP配置错误或防火墙拦截。
解决方案:
(1)检查/etc/hosts文件一致性:
# 节点1
192.168.1.10 node1-priv
192.168.1.11 node2-priv
# 节点2
192.168.1.10 node1-priv
192.168.1.11 node2-priv
(2)临时关闭防火墙测试:
service iptables stop
四、安装后验证与调优
4.1 集群状态检查
使用crs_stat命令验证资源状态:
crs_stat -t
正常输出示例:
Name Type Target State Host
ora.DATA.dg ora....up.type ONLINE ONLINE node1
ora....ER.lsnr ora....er.type ONLINE ONLINE node1
ora....N1.lsnr ora....er.type ONLINE ONLINE node2
4.2 ASM磁盘组性能优化
(1)调整条带化参数:
ALTER DISKGROUP DATA REBALANCE POWER 10;
(2)监控ASM扩展:
SELECT name, total_mb, free_mb FROM v$asm_diskgroup;
4.3 数据库连接测试
使用easy connect语法测试负载均衡:
sqlplus username/password@//scan-ip:1521/service_name
五、常见问题排查工具
5.1 日志文件定位
- Oracle Clusterware日志:/u01/app/oracle/product/crs/log/
- ASM日志:/u01/app/oracle/admin/+ASM/bdump/
- 安装日志:/tmp/OracleInstall*
5.2 诊断命令
- ocrcheck:检查OCR状态
- crsctl check crs:验证CRS状态
- asmcmd lsdg:列出ASM磁盘组
六、总结与建议
6.1 关键经验
- 严格遵循Oracle官方文档的硬件要求
- 安装前使用CVU进行全面预检
- 保持两节点环境配置完全一致
6.2 升级建议
考虑到CentOS 4.7与Oracle 10g均已结束扩展支持,建议升级至:
- 操作系统:Oracle Linux 7/8
- 数据库:Oracle 19c/21c
- 集群软件:Grid Infrastructure 19c
本文通过实际案例分析,揭示了CentOS 4.7环境下Oracle 10g RAC与ASM部署的常见陷阱与解决方案。技术演进日新月异,但底层原理与问题排查方法仍具参考价值。对于仍运行在该技术栈上的遗留系统,建议制定迁移计划以降低安全风险。
关键词:CentOS 4.7、Oracle 10g RAC、ASM安装、集群时间同步、OCR配置、ASM磁盘组、RAC通信故障
简介:本文详细记录CentOS 4.7系统下Oracle 10g RAC与ASM安装过程中遇到的典型问题,涵盖环境准备、依赖配置、集群时间同步、OCR初始化、ASM磁盘组管理、节点通信等关键环节,提供从问题诊断到解决的完整流程,并总结技术演进背景下的升级建议。