
本来以为发现了一个可以水好几期文章的主题,但是转念一想,这个搭配不对啊,不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)

实际上,上一篇文章使用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:



能安装OL8,就能跑Oracle 19c吗?
答案是不一定。
Ampere CPU的服务器肯定可以,毕竟Oracle投资了,Oracle Cloud上的ARM机器不都是Ampere的,这个肯定没有验证的必要了。
说句题外话,如果想去试试Oracle永久免费的ARM云主机,在选择区域时,一定要仔细看,看看有没有Ampere的资源,我稀里糊涂地选了日本,以为靠中国近,网络好一点,结果申请免费的ARM云主机时,永远是“资源不够,请稍后再试” ……
Apple的M2芯片肯定可以,国外有人已经验证过了:
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+/64的lscpu输出:


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




