15年前的Oracle RAC是怎么安装的?

css 复制代码
作者:IT邦德
中国DBA联盟(ACDU)成员,10余年DBA工作经验,
Oracle、PostgreSQL ACE
CSDN博客专家及B站知名UP主,全网粉丝10万+
擅长主流Oracle、MySQL、PG、
高斯及Greenplum备份恢复,
安装迁移,性能优化、故障应急处理

@TOC

前言

在这里小编给大家分享一下15年前的Oracle RAC的安装经历

1.回忆

近期老工厂的一套Oracle 10G RAC出问题了,结果是因为存储链路抖动导致的共享磁盘掉了,处理完故障之后发现这套RAC还是自己当时参与实施的,不由的涟漪泛起...

2003年9月8日,在旧金山举办的Oracle World大会上,Oracle 10G正式问世,在这个版本中,Oracle集群管理软件CRS(Cluster Ready Service)问世.开始能够提供操作系统层面和数据库层面的集群产品.

作为传统的制造业大厂,15年前也是在积累行业运营经验,为了稳定的运营,同时要在UNIX、IBM等PC机上运行,当然首选了Oracle这款稳定的关系型数据库。

当时懂Oracle的人实在太少了,网络上资料也是非常稀缺,只要会安装Oracle数据库,尤其RAC,那是相当的牛逼,工厂新建初期,我们也是外包了第三方非常的权威的数据库维保公司来实施,当时确实也是非常有幸参与到了公司的第一台Oracle RAC集群的部署,现在想起来也是非常荣幸!

2.硬件架构

存储如何以更高效、更低成本的方式,围绕着数据的产生、存放、保护、优化、利用,直至数据成为资产,当时已经有了共享存储的概念,共享存储解决方案包括网络连接存储(NAS)、存储区域网络(SAN)和独立磁盘冗余阵列(RAID),以及专用存储服务器和云存储。

当时,硬件架构也是采用了san硬件架构,A、Storage Area Network是一种专门用于连接存储设备和服务器的网络架构。其核心组成部分包括存储阵列、光纤通道或以太网、以及专用的SAN交换机。存储设备通过光纤通道或iSCSI协议连接到SAN交换机,而服务器则通过同样的方式连接到该交换机,实现数据传输。

3.RAC部署

当时还没有使用ASM管理,使用的裸盘管理,所以分享一些UNIX的实施内容

磁盘的规划是按照如下规划的

因为没有现在非常的方便的mutilpath多链路管理,所以要手动修改裸设备权限

为了保证集群两个服务器两边盘符的一致性,需要用软链接实现两边盘符对应关系的一致性

接下里就可以在这里选择裸设备并部署了

4.10G RAC 部署bug

scss 复制代码
bug场景:vipca 和 srvctl 无法执行

Oracle CRS stack installed and running under init(1M)
Running vipca(silent) for configuring nodeapps
/home/oracle/crs/oracle/product/10/crs/jdk/jre//bin/java: error while loading
shared libraries: libpthread.so.0: cannot open shared object file:
No such file or directory
bash 复制代码
解决办法:
其实这是无法完成vipca工作导致的,你可以用以下方法解决:


在第二个节点 rac2 上执行脚本前,完成以下工作
[root@rac2 ~]# cd /u01/crs/oracle/product/10.2.0/crs/bin
[root@rac2 bin]# vi vipca
if [ "$arch" = "i686" -o "$arch" = "ia64" ] then
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
fi
下面加入
unset LD_ASSUME_KERNEL
[root@rac2 bin]# vi srvctl
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
下面加入
unset LD_ASSUME_KERNEL

Rac2 上执行
/u01/crs/oracle/product/10.2.0/crs/root.sh
最后还会报错
Running vipca(silent) for configuring nodeapps
Error 0(Native: listNetInterfaces:[3]) [Error 0(Native: listNetInterfaces:[3])]
[root@rac2 bin]# ./oifcfg getif
[root@rac2 bin]# ./oifcfg iflist
eth0 192.168.1.0
eth1 192.168.6.0
[root@rac2 bin]# ./oifcfg setif -global eth0/192.168.1.0:public
[root@rac2 bin]# ./oifcfg setif -global eth1/192.168.6.0:cluster_interconnect

./vipca

5.总结

很多人都说Oracle数据库安装很麻烦,很困难!其实这套运行15年的Oracle 10G RAC撑起了工厂的核心的业务,非常的稳定,现在的技术更新太快,也有了更多的资源支持,不过做为DBA,经历的就是一种收获,就是一种的财富。

相关推荐
牛奔10 小时前
Go 如何避免频繁抢占?
开发语言·后端·golang
想用offer打牌15 小时前
MCP (Model Context Protocol) 技术理解 - 第二篇
后端·aigc·mcp
KYGALYX17 小时前
服务异步通信
开发语言·后端·微服务·ruby
掘了17 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
爬山算法17 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
Moment18 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
Cobyte19 小时前
AI全栈实战:使用 Python+LangChain+Vue3 构建一个 LLM 聊天应用
前端·后端·aigc
程序员侠客行19 小时前
Mybatis连接池实现及池化模式
java·后端·架构·mybatis
Honmaple19 小时前
QMD (Quarto Markdown) 搭建与使用指南
后端
PP东20 小时前
Flowable学习(二)——Flowable概念学习
java·后端·学习·flowable