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

花式获得Oracle数据库的8种方法

甲骨文云技术 2019-11-22
2413

俗话说“光说不练假把式”,美国哲学家杜威,也就是“我的朋友胡适之”的老师,也说过类似的话:"Learning by Doing"。无论对于DBA还是开发者,学习Oracle数据库最好的方式就是反复练习,而练习的第一步就是获得一个数据库环境。

小编经过几周的实验,整理出了8种获得Oracle数据库环境的方法。无论数据库是12c还是19c,单实例还是RAC,基于VM还是Docker,您都可以在本文中找到答案。

下面小编将为您简要介绍每一种方法,如果您需要详细的操作步骤,也可以参照每一小节中附带的链接。为了让您的阅读体验更加愉悦,在每一小节的最后也附上了一首歌曲,同时也代表了小编在测试这种方法时的心情。

好了,让我们开始吧!


准备工作

下面的实验是使用了两种环境:本地环境和云环境。以下是详细的配置,供您参考。

  • 本地环境

    • Lenovo X270 (16G RAM) - 如果是单实例数据库,4G即可

    • Windows 10 - 安装VirtualBox等软件

    • Oracle VirtualBox - 运行Linux虚机

    • Vagrant - 自动化供应VirtualBox虚机

    • Git - 克隆Github项目

  • 云环境

    • 一个Oracle公有云账户

如果是本地环境,您也可以选择其它基于x86的主机,其它虚拟化软件(如VMware WorkStation);如果是云环境,使用AWS和Azure等没有问题。



1. Oracle Pre-Built Developer VMs

Oracle在官网提供了十多个预构建的VirtualBox虚机,以方便开发者使用。部分虚机中安装了数据库,版本包括12.1.0.1,12.1.0.2,12.2.0.1。其中Oracle DB Developer VM非常适合于开发者,虚机中安装了最新版的Oracle SQL Developer,Oracle APEX和一些动手实验。不计下载时间,虚机的部署耗时5分钟,需空间19.3GB。

类似的,您也可以自行安装数据库,并保存为模板供后续使用。小编之前制作的18c数据库VirtualBox虚机模板大小为8.46G,部署时间为7分钟,初始占用空间为20.4G。

完整的实验过程请参考:

https://xiaoyu.blog.csdn.net/article/details/103004591
Oracle官网提供的DB Developer VM一直是小编学习开发和培训开发者的首选,以前经常使用11g的版本,如今又更新到12c,小编仍会继续使用。因此,本实验的心情歌曲小编选择了仙妮亚·唐恩的《你仍是唯一》。



2. Github - oracle/vagrant-boxes

Vagrant是一款用于构建及配置虚拟开发环境的软件,与VirtualBox是最佳拍档。Oracle在Github上有vagrant专区,支持构建单实例或两节点RAC数据库。用户需要下载数据库安装介质到相应版本目录,然后运行`vagrant up`一键安装。小编的实验是利用自己的笔记本电脑做的,如果使用公有云上的实例,速度应会更快。内存方面,单实例数据库默认2G内存,如果是RAC,主机内存建议16G以上。

创建单实例和RAC详细过程请参见:

https://blog.csdn.net/stevensxiao/article/details/103068230

https://xiaoyu.blog.csdn.net/article/details/103135158

如果需要一个可脱网使用的单实例数据库,最佳方式非Vagrant Box莫属。每次使用Vagrant Box,小编都心情大好,因为此方式真正做到了一键部署,并且整个过程非常流畅。本实验的心情歌曲小编推荐Roxette的一首非常轻柔和阳光的歌曲《Milk & Toast & Honey》。



3. Oracle - Docker Hub

Docker Hub是最早提供Oracle官方Docker映像的站点,提供Oracle企业版12cR2单实例数据库,其中已包含了数据库软件。随着Oracle有了自己的Docker Registry以及Github的流行,Oracle对Docker Hub的支持和更新已越来越少。

创建单实例数据库详见:

https://xiaoyu.blog.csdn.net/article/details/102986503

虽然Oracle容器的阵地已转向Github,但作为最先提供Oracle Docker映像的Docker Hub,一直是小编的《独家记忆》。



4. Oracle Container Registry

Oracle Container Registry是Oracle官方提供的存放Docker映像的网站,提供从12cR1到18c不同版本的数据库镜像,同时支持单实例和RAC。这里的数据库镜像的最大特点是已经包含了数据库软件,因此安装速度完全取决于网速,所以小编使用的测试环境使用的是公有云。不过我们可以看到,Oracle Container Registry中的数据库并不包括最新的的19c版本,Oracle对Docker的全面支持已经转向新的阵地,即下一个测试中提到的Github。

创建单实例和RAC数据库详细过程请参见:

https://xiaoyu.blog.csdn.net/article/details/102987890

https://xiaoyu.blog.csdn.net/article/details/103041925

在供应Oracle RAC容器的过程中,小编遇到了挑战,做了好几遍都没有成功。后来猜测联机帮助可能有错,参照Github上的README才成功通过。后来小编在GitHub上提交了问题,并得到了官方确认。虽然过程曲折,但经过小编的努力发现了Bug,避免其他人重蹈覆辙,可不可以算是《小幸运》呢。



5. Github - oracle/docker-images

如果您想获取包含Oracle产品的Docker配置,映像和Dockerfile示例,Oracle官方在Github上提供的oracle/docker-images绝对是最佳的资源。和之前提到的Docker Hub和Oracle Container Registry不同,GitHub中的Docker映像需要用户下载数据库软件然后自行构建。同时,Github上提供最为丰富的Oracle数据库版本,同时支持单实例和RAC,和用户之间的互动也是最好的。

创建单实例和RAC数据库详细过程请参见:

https://xiaoyu.blog.csdn.net/article/details/102987184

https://xiaoyu.blog.csdn.net/article/details/103025923

https://xiaoyu.blog.csdn.net/article/details/102988682
Docker和RAC的结合,真的《没那么简单》。涉及到Docker基本概念,涉及到共享存储,涉及到Connection Manager。Docker动辄十几行的命令,真是需要细心和耐心。不过对于开发和运维,Docker的好处也是显而易见的,试一下Docker版的Oracle客户端就能体会。



6. Oracle Database Cloud Service

Oracle数据库云服务支持在物理机,虚机和Exadata上提供数据库服务,支持单实例和两节点RAC,版本包括11.2.0.4,12.1.0.2,12.2.0.1,18.0.0.0和19.0.0.0。单实例节点最小支持1 OCPU,RAC单节点至少需要2 OCPU,小编在测试中使用的即最小配置。在单实例数据库测试中,存储选项选择的是逻辑卷管理,如果需要ASM,请选择Grid Infrastructure,这样创建时间会更长些,实际测试耗时70分钟。

完整的实验过程请参考:

https://xiaoyu.blog.csdn.net/article/details/103056936
作为实验中首个数据库云服务,小编的心情歌曲选择了许茹芸的《如果云知道


7. Oracle Autonomous Database

Oracle Autonomous Database是Oracle 独家提供的自治数据库云服务,包括Oracle 自治事务处理(ATP)和 Oracle 自治数据仓库(ADW)。利用机器学习和自动化技术消除运营复杂性、人为错误和人工管理,实现更高水平的可靠性、安全性和运营效率。其中,ATP可大幅简化应用开发和部署,驱动企业实现实时分析,实现更高水平的个性化和欺诈检测;ADW则支持企业快速完成数据仓库部署,实现高可靠性、卓越性能和高弹性数据管理。

由于自治数据库实际是可插拔数据库,因此创建时间非常快,通常只需几分钟。另外,容量和计算能力都可以在线扩展。

完整的实验过程请参考:

https://xiaoyu.blog.csdn.net/article/details/103056944

Va, pensiero是意大利语,意为飞吧,思想。自治数据库不正是在云上飞翔的有思想的数据库吗。来吧,和小编一起聆听迈克尔波顿和帕瓦罗蒂合作的这首歌,美声和流行的完美结合。



8. Oracle Live SQL

Oracle Live SQL是Oracle提供的免费在线SQL学习环境,其中提供了大量代码库和教程。不过它提供的是经裁剪的Schema级别的数据库,因此比较适合开发者而非DBA。如果说Oracle Database Cloud Service是功能强大的PaaS,则Oracle Live SQL更像是小巧灵活的SaaS。

完整的实验过程请参考:

https://xiaoyu.blog.csdn.net/article/details/103075581

每一个故事都有一个完美结局,小编也特意将最简单的Oracle Live SQL放在了最后。我们一直在努力,Oracle数据库致力于提供更丰富的特性,更简单的使用来支持我们的客户。无论遇到什么挑战,我们都将与您共同面对,今天携手前行,明天也要作伴。



大结局

花式获取Oracle数据库的8种方法介绍完了,小编整理了这几种方式的对比供大家参考。除了这些最常用的方法外,还有一些其它的方式可间接得到Oracle数据库环境,例如在apex.oracle.com可以申请免费的工作区用于APEX开发。如果还有遗漏的方法,也欢迎大家补充。小编个人最常用的方式是Github - oracle/vagrant-boxes和Oracle Database Cloud Service,不过萝卜白菜,各有所爱。最重要的,也请大家动手实验一番,将自己最喜爱的方式留言告诉我们,顺便点个赞哦,谢谢!

                                                                                                                         编辑:小炒肉

最后修改时间:2021-12-15 12:07:22
文章转载自甲骨文云技术,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论