oracle容器化,docker-oracle11g

项目介绍

基于Oracle Linux 7.5实现了Oracle Database 11gR2 企业版容器化运行;

本脚本仅用作研究如何把oracle database制作成镜像,请勿作商用,谢谢.

前期准备

从docker hub或国内docker加速站点上下载oralcelinux:7的docker镜像,并重新打标签为:

192.168.8.251/library/oraclelinux:7

安装教程

1.build preinstall:./01preinstall/01build.sh

2.build installed:./02installed/01build.sh

3.build database:./03database/01build.sh

使用说明

数据库信息

sid:orcl

port:1521

system/oracle

镜像用法

docker run -it --rm --memory=2g --shm-size=2g --name="oracle-11g-ee-database" --hostname="database"

-p 1521:1521 192.168.8.251/library/oracle-11g-ee:database

或采用docker-compose进行管理

参与贡献

特别说明

oraclelinux做为基础镜像,有了oracle-rdbms-server-11gR2-preinstall包能自动做一些预处理;

准备一个http服务,用wget从http服务器上下载安装包并解压;

oracle对共享内存有要求,在build或run的时候需要指定参数:--memory=2g --shm-size=2g;

执行安装脚本需要注意权限,有的脚本是以root账号执行,有的是以oracle账号执行;

脚本中注意单引号和双引号的区别;

注意ins_emagent.mk引起的BUG,即:在makefile中添加链接libnnz11库的参数,修改/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk",将$(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL)-lnnz11

oracle数据库跟主机名强相关,build的时候随机生成了一个主机名,导致启动时会报错,所以在启动脚本entrypoint_oracle.sh中增加了两个方法,即:根据当前新的主机名修改tnsnames.ora和listener.ora,再启动监听器和实例

注意创建数据库实例的响应文件db_create.rsp611行相关参数:

INITPARAMS="java_jit_enabled=false,memory_target=0,sga_target=1024,pga_aggregate_target=100,processes=1000,open_cursors=1000"

特别是java_jit_enabled=false否则要出错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值