Docker,让数据库部署完成在弹指一挥间-创新互联
沃趣科技产品专家 郭旭瑞
容器技术并非Docker的创新,容器技术所依赖的一些基础技术,如namespace、cgroup、chroot等等,也都不是Docker的首创。
Docker之所以流行,很大程度上取决于它提出的镜像(image)的概念。Docker通过其镜像的概念,重新定义了云时代的应用程序分发方式。
Docker让软件开发过程中的环境构建变得简单,消除软件测试过程中环境不一致导致的问题,又让运维和部署变得轻松快速。
从Docker的logo就可以看出:容器就是集装箱,我们的程序都被打包在集装箱里;Docker就是搬运工,帮你把打包好的应用运输到世界各地,随处运行。
在《翻过那座山,就能看见海 | Kubernetes让DBA更优雅地管理数据库》一文中,我们探讨过:数据库的部署过程中,依赖包、内核参数、用户与组、目录等等一系列前置条件都需要DBA人工或脚本方式进行操作,以及后续的数据库软件安装、数据库创建等工作,造成了大量重复性无意义的时间、精力消耗。Docker的镜像便是将这所有的一切配置进行打包,一个镜像就是一个容易分发的即启即用的应用,与数据库结合后一个镜像就是一个迅速部署、即启即用的数据库。
沃趣科技紧跟时代发展浪潮,将容器技术融入到数据库全生命周期管理,打造容器化云数据库RDS产品,同时也积极回馈社区,贡献我们在容器化数据库建设中的诸多经验。本文将公开我们制作的Oracle Database 11.2.0.4.0版本的Docker镜像。
Oracle官方在Github上提供了一些Oracle Docker image,但并未提供11g R2版本。考虑到目前仍有大量用户使用11g R2,所以,我们参考官方12.1版本image制作了11.2.0.4.0版本的image,并且在其基础上做了进一步丰富和标准化,包括:
-
指定是否开启归档
-
指定SGA及PGA大小(官方image指定的是固定的内存大小,如需修改,需要在数据库创建之后手动调整,所以,在此我们做了相应的自动化)
-
指定数据库角色,包括primary及standby(官方镜像只能创建primary数据库,我们同时实现了创建standby数据库的逻辑,但该部分逻辑依赖沃趣科技QCFS云存储提供的快照功能,目前只能在QFusion 3.0 RDS数据库云平台中实现)
-
包含对主库实例状态、备库实例状态和MRP恢复状态的健康检查
-
ONLINE REDO LOG自动调整为1G大小避免日志切换过于频繁
-
设置用户名密码永不过期(虽不安全,但在绝大部分企业级用户均采用此实践)
-
关闭Concurrent Statistics Gathering功能
-
TEMP表空间设置为30G大小
-
SYSTEM表空间设置为1G大小
-
SYSAUX表空间设置为1G大小
-
UNDO表空间设置为10G大小
Image下载:
点击(此处)折叠或打开
本文名称:Docker,让数据库部署完成在弹指一挥间-创新互联
URL标题:http://pwwzsj.com/article/ddehhd.html