首页 > 数据库 > 文库 > 正文

Docker,让数据库布局完成在弹指一挥间

2022-07-30 23:11:52
字体:
来源:转载
供稿:网友
        容器技术并非Docker的创新,容器技术所依赖的一些基础技术,如namespace、cgroup、chroot等等,也都不是Docker的首创。
 
       Docker之所以流行,很大程度上取决于它提出的镜像(image)的概念。Docker通过其镜像的概念,重新定义了云时代的应用程序分发方式。
 
       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大小
 
创建数据库存储路径:
mkdir -p /data/oracledb
启动Oracle数据库容器:
docker run -d --name oracledb /
-p 1521:1521 /
-e ORACLE_SID=oracledb /
-e ORACLE_PWD=oracle /
-e ORACLE_CHARACTERSET=ZHS16GBK /
-e SGA_SIZE=8G /
-e PGA_SIZE=8G /
-e DB_ROLE=primary /
-e ENABLE_ARCH=true /
-v /data/oracledb:/opt/oracle/oradata /
registry.cn-hangzhou.aliyuncs.com/woqutech/oracle-database-11.2.0.4.0-ee
接下来就可以通过1521端口访问数据库啦!Enjoy it!
PS:目前提供的社区版Image只能设置DB_ROLE为primary,standby尚不提供支持。

(编辑:错新网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选