搞懂“虚拟化”与“容器化”:从安装Oracle看技术演进的本质
大家2026年好啊~今年我打算将我的公众号改版一下,因为我经常写的都是短文,我想要尝试写写长文,也顺便锻炼一下自己的表达能力。有什么表达不清晰的或许觉得说得不够清楚(逻辑等)各方面,欢迎大家多多留言指正啊~谢谢
还是聊聊基础,我们主要以分享Oracle知识和MySQL为主,虽然MySQL可能说得比较少,但是很多时候分享SQL语句的时候会顺便把MySQL也提了。今年还是如此,不过会更多的侧重多系统分享,比如今天就聊一个Oracle在windows安装和Mac安装的区别,我们一般聊聊本质,不会聊太多可能每个知识点都需要深刻去理解的概念,每次能讲清楚一个知识点就好了,通过这个知识点链接到最终大概念的形成,这就是我写文章的目的。
说到为什么会想到用一个小知识去达成一个大目标,我觉得这和我25年11月开始的一个生活改变开始,我很喜欢健身,但是非常讨厌做有氧,但是无氧又不算是每次都上大重量,所以很容易有脂包肌的情况。于是我开始每次无氧后都设定一个有氧目标,但是有氧的关键其实是中低强度比耐力,于是我说,我每天做完无氧爬20分钟坡吧,分解成4个五分钟试试,每次5分钟开始的时候,我就觉得很快诶,才五分钟,于是我真的很快爬完了,于是第二个五分钟开始的时候,我又开始期待,就这样,我坚持了有氧的习惯将近两个月,体脂上也有较大的改变。我称之为4*5法,小目标达成大目标,希望这也用于我的生活中。
废话不多说,开始今天的内容吧。
需求
Oracle在windows安装和Mac安装的区别
安装教程
windows安装我们讲过很多遍,安装教程就不在这里展示了,有兴趣的朋友可以看我下面的【文章相关链接】栏去试试,那个版本是19c的。Mac安装主要是通过容器实现的,用的示例是docker。
知识壁垒
由于Oracle数据库主要服务于企业级应用,而企业的生产环境普遍采用Windows或Linux服务器,因此Oracle没有为macOS开发官方原生版本。对于Mac用户,部署Oracle的传统方式是借助虚拟机安装完整的Windows或Linux操作系统,再在其中安装数据库。这种方式不仅让部署变得复杂低效,也带来了巨大的资源开销(需要同时运行两个系统),在向客户进行销售演示时尤其不便——光是搭建环境就可能耗费数小时,体验极差。
正是为了解决这一痛点,便于销售展示和客户测试,基于Docker容器的轻量化部署方式成为了更优选择。Docker可以直接拉取预配置的Oracle服务器镜像,能在几分钟内快速启动一个可用的数据库实例,极大地提升了效率。由此可见,Oracle在Windows(原生安装)和macOS(虚拟化或容器化安装)上的安装方式,存在根本性的区别。
这段简单来说,Oracle本身发布的版本不针对Mac,所以MAC只能依靠其它的原生环境去安装。
Detail
我们来详细讲讲。
我们不讲复杂的术语,只聊本质。二者的核心区别可以概括为:原生与容器化。
Windows安装:官方的“高速公路”
在Windows上,Oracle提供了“直通式”的官方安装程序。你可以直接下载一个setup.exe文件,双击后跟随图形界面的指引,像安装普通软件一样,一步步完成从数据库软件到实例的创建。整个过程是Oracle为你铺好的“高速公路”,面向的是最主流的企业服务器环境。只要你跟随官方文档,安装过程相对清晰、标准。
macOS安装:绕不开的“桥梁”
而在macOS上,情况则完全不同。由于企业级服务器市场主要由Windows和Linux占据,Oracle官方从未发布过针对macOS的原生数据库服务器版本。这就在Mac与Oracle服务器之间,竖起了一道天然的技术壁垒。
那么,在macOS上就完全无法运行Oracle了吗?当然不是。方法有两种,但都需要借助“桥梁”:
传统方法:虚拟机(VM)
这相当于在Mac里“造一台电脑”。你需要先安装Parallels Desktop或VirtualBox等虚拟机软件,然后在里面安装一个完整的Windows或Linux操作系统,最后在这个“新电脑”里,再按照官方流程安装Oracle。这种方式资源消耗巨大(同时运行两个系统),部署复杂耗时,对于想在Mac上快速体验或进行演示的开发者来说,非常不便。
现代方案:Docker容器
这是目前Mac用户的首选方案。Docker是一种轻量级的虚拟化技术,它不像虚拟机那样模拟整个操作系统,而是直接“打包”好一个可运行的Oracle环境(称为“镜像”)。你只需要一条命令(如docker run ...)拉取并启动这个镜像,几分钟内就能获得一个可用的Oracle数据库实例。
对于Apple Silicon(M系列芯片)的Mac用户,运行Docker时通常需要加上 --platform linux/amd64 参数,以指定运行兼容x86架构的镜像,从而解决芯片架构差异带来的兼容性问题。
这两种方案的对比,完美诠释了“原生”与“间接”的根本区别,也体现了技术进步(从笨重的VM到轻量的Docker)如何解决了开发中的实际痛点。
你看,今天我们只用了几分钟,就搞清楚了Oracle在不同系统上安装的本质区别。这就像健身时的“第一个5分钟”:起步不难,但意义重大。通过这个小小的“知识点”,我们实际触摸到了一个更大的技术概念——虚拟化与容器化。从虚拟机(VM)到容器(Docker),不仅是技术效率的提升,更代表了应用交付和部署方式的范式转变:从模拟完整的硬件环境,到只打包应用及其依赖,实现更轻量、更一致、更快速的部署。
希望今天这个“5分钟”的内容,能帮你轻松跨过在Mac上体验Oracle的第一个小门槛。也欢迎大家留言,分享你在不同系统上安装或使用数据库时遇到的趣事或“坑”。
文章相关链接
Windows安装Oracle19c:如何下载安装oracle19C?超级详细安装步骤
如何安装Oracle19C Enterprise Edition
Mac安装Oracle19c (容器):
# 拉取ARM架构的社区镜像docker pull docker.cnb.cool/kangaroohy/open-source/images/oracle:19.19.0-ee-arm64# 运行容器 (建议挂载数据卷持久化数据)[citation:1]docker run -d \--name oracle \-p 1521:1521 \-p 5500:5500 \-e ORACLE_PDB=ORCL \-e ORACLE_PWD=你的密码 \-e ORACLE_CHARACTERSET=AL32UTF8 \-v /你的本地数据目录/oracle-data:/oracle-data \docker.cnb.cool/kangaroohy/open-source/images/oracle:19.19.0-ee-arm64
如果你觉得这篇文章对你有帮助,欢迎点赞、在看,或转发给可能需要的小伙伴。我们下期再见!
祝你生活愉快~
谢谢你看到了这里。
如果你觉得这篇文章能在某个角度上帮助到你,可以关注公众号,一起学习。将不断续更新资源。
如果你有什么意见或建议,或者有我能帮得上解答的知识,欢迎在后台留言。谢谢。
更多推荐
所有评论(0)