暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

在鲲鹏服务器上安装运行Oracle 19c(二)

2111
在鲲鹏服务器上安装运行Oracle 19c(二)


本来以为发现了一个可以水好几期文章的主题,但是转念一想,这个搭配不对啊,不ZZZQ,左右逢源是没戏的,大概率里外不是人。再写一篇把上篇没说清楚的问题交代清楚,就结束这个话题吧。

关于Oracle 19c ARM版的认证信息









DB和RAC都是只认证Oracle Linux 8,没有其他注意事项,并没有说只能跑在Ampere CPU上,或者说只能在OCI(Oracle Cloud Infrastructure)上跑。如果说Oracle只支持在OCI上跑Oracle 19c ARM版,那没必要开放软件下载啊,想用都到OCI上来用就好了。

从认证信息上看,只要是Oracle Linux 8 似乎就可以,其实Oracle MOS上还有一篇文章,明确了对Oracle Linux 8 内核的要求:

OS requirements to install Oracle Database 19c for LINUX ARM (aarch64) (Doc ID 2959830.1)

文章中明确说了:
Starting with Oracle Database 19c Release 19.19, the Linux for ARM (aarch64) operating system is supported with the following minimum supported version:
Oracle Linux 8.6 with Unbreakable Enterprise Kernel 7: 5.15.0-6.80.3.1.el8uek.aarch64 or later
Note: Oracle recommends that you update Oracle Linux 8 to the latest available release level.
内核至少是UEK 7 的上述版本。
鲲鹏CPU的服务器,安装OL8,并使用UEK内核,也是没有任何问题的。不过官方的HCL中没有任何使用鲲鹏的服务器。



实际上,上一篇文章使用CentOS去测试,是因为华为云上,没有现成的OL8的镜像,需要自己做,我嫌麻烦就用了比较容易获得的CentOS。后来尝试自己做OL8的镜像(不是上传安装用ISO文件,而是做一个安装OS后的系统盘的镜像上传到云上),比想象中简单,当然,你需要有物理的ARM服务器。

如果尝试过OL8(ARM)+ Oracle 19c(ARM)之后,就不会再想用CentOS 8 了。在鲲鹏服务器上安装了OL8后,再安装Oracle 19c,非常丝滑,没有任何问题,CentOS上的link工具问题,java问题啥的,全都不存在。

另外,发现UEK内核能直接识别出kunpeng-920 CPU。



和CentOS 8 (ARM64)使用的4.18内核不同,UEK的PAGESIZE是4k,而不是64k。




鲲鹏服务器上安装Oracle 19c RAC






在CentOS 8 上安装了单机版后,我就做了安装RAC的实验,很遗憾,是无法安装成功的,在执行ASMCA时,安装程序hang死。

把OS换成OL8后,安装Oracle RAC就能成功。过程没啥特殊的,和x86服务器上安装没区别。在云上我是用LIO搞了一个iSCSI target来做共享存储,主要测试功能,性能就无所谓了。

在云上测试,我遇到的问题主要是和虚拟化有关。具体说是和一个网卡多个IP地址有关,在华为云上,给一个网卡设置多个IP地址(HAIP,VIP,SCANIP)的话,需要在控制台给“弹性网卡”(虚拟网卡) “申请虚拟IP”,否则虚拟IP之间无法通信,且虚拟IP必须和网卡上的主IP是同网段。

比如我的RAC网络配置是这样的:

# Public Network

192.168.0.151 ol8vm1   ol8vm1

192.168.0.152 ol8vm2   ol8vm2

# Private Interconnect

192.168.10.2 ol8vm1-priv    ol8vm1-priv

192.168.10.4 ol8vm2-priv    ol8vm2-priv

# Public Virtual IP (VIP) addresses

192.168.0.153 ol8vm1-vip   ol8vm1-vip

192.168.0.154 ol8vm2-vip   ol8vm2-vip

# Single Client Access Name (SCAN)

192.168.0.155  ol8vm-cluster-scan

给VIP申请虚拟IP:



那么VIP没问题,HAIP就不行了,169.254.xx.xx这样的地址没法和主IP同一网段,如果无法在云控制台完成虚拟IP的设置,在虚拟机内部,两台机器的HAIP无法通信。好在这个问题可以绕过,设置ASM实例和数据库实例的cluster_interconnects参数,指定用私网IP进行通信,而不用HAIP,那么ASM和数据库就都能正常使用了。

物理机肯定是没有上述问题的。个人觉得,在云上部署RAC,应该就是学习研究的目的,如果要跑生产,还是考虑裸金属吧。

能安装OL8,就能跑Oracle 19c吗?






答案是不一定。

Ampere CPU的服务器肯定可以,毕竟Oracle投资了,Oracle Cloud上的ARM机器不都是Ampere的,这个肯定没有验证的必要了。

说句题外话,如果想去试试Oracle永久免费的ARM云主机,在选择区域时,一定要仔细看,看看有没有Ampere的资源,我稀里糊涂地选了日本,以为靠中国近,网络好一点,结果申请免费的ARM云主机时,永远是“资源不够,请稍后再试” ……


AppleM2芯片肯定可以,国外有人已经验证过了:

https://www.database-blog.at/2023/06/28/oracle-19c-fuer-linux-arm-ist-da/


很遗憾,飞腾的FT2000+/64是不行的,FT2000+/64可以正常安装OL8,安装Oracle DB软件时,link软件都没问题,但是后续创建数据库时,监听程序无法运行,手工建库也不行,报各种稀奇古怪的错误,直到我尝试运行kfod程序时,报了”illegal instruction” 错误,才意识到可能是缺了某些指令。Oracle 19c ARM版在编译时,应该是为了优化性能,使用了一些Ampere CPU支持的指令,现在看kunpeng-920也有这样的指令,而FT2000+/64没有。

FT2000+/64lscpu输出:


鲲鹏920lscpu输出:


FT2000+/64的服务器虽然跑不了Oracle 19c,但是做出来的Oracle Linux 8.8 OS盘镜像是没问题的,直接可以在华为云的鲲鹏云主机上使用。下面放出我这次测试使用的OS盘镜像,感兴趣的可以下载,请不要用于商业目的。

链接:https://pan.baidu.com/s/1l7KUdN8MNnWrtH7C5YHhUA?pwd=menq

提取码:menq




- END -


文章转载自Oracle一体机用户组,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论