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,经历的就是一种收获,就是一种的财富。

相关推荐
詩筠4 小时前
SpringBoot实战:轻松实现XSS攻击防御(注解和过滤器)
java·spring boot·后端·xss
fengzhuzhigu4 小时前
Go源码--channel源码解读
开发语言·后端·golang
AskHarries5 小时前
Spring Boot集成jacoco实现单元测试覆盖统计
java·spring boot·后端
全职计算机毕业设计5 小时前
基于springboot的工作绩效管理系统的设计与实现+文档
java·spring boot·后端
Mero技术博客6 小时前
第四节:如何使用注解方式从IOC中获取bean(自学Spring boot 3.x的第一天)
java·spring boot·后端·spring·微服务
花花鱼6 小时前
spring boot (shiro)+ websocket测试连接不上的简单检测处理
java·spring boot·后端
人才程序员6 小时前
【Rust入门】猜数游戏
开发语言·c++·后端·单片机·游戏·rust·c
人才程序员6 小时前
【Rust入门】生成随机数
开发语言·数据库·后端·单片机·rust
uccs7 小时前
go 中一些其他的用法
后端·go
y5236487 小时前
ASP.NET Core 使用Log4net
后端·asp.net