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

Docker & Oracle

Jason低代码 2017-11-12
448


  1. 近几年来,Docker公司已然成为技术圈的小网红,但争论也较多,Anyway 不好主观臆断。

    https://blog.pythian.com/docker-containers-oracle-data-integrator 

    受到Gleb Otochkin文章的启发,敲几个命令静下,让实践揭开下想象理解层的面纱。


  2. 准备云主机Centos 7.3 (host 阿里云 ,需Internet )


  3. 参考 Docker CE 安装文档 

    https://docs.docker.com/engine/installation/linux/docker-ce/centos


    #sudo yum remove docker                   docker-common                   docker-selinux                    docker-engine

    #yum remove docker-ce

    #sudo yum install -y yum-utils   device-mapper-persistent-data   lvm2

    #sudo yum-config-manager     --add-repo     https://download.docker.com/linux/centos/docker-ce.repo

    #sudo yum-config-manager --enable docker-ce-edge

    #sudo yum-config-manager --enable docker-ce-edge

    #sudo yum-config-manager --enable docker-ce-test

    #sudo yum install docker-ce

    #service docker start



    So easy 完成Docker安装


  4. 下载 Docker Oracle image (现github已有各种image版本可以挑选)


    这里我们使用jaspeen分享的image 测试安装oracle11g DB(https://github.com/jaspeen/oracle-11g


    #docker pull jaspeen/oracle-11g



    (history log)


  5. 下载 Oracle 11gr2 

    http://www.oracle.com/technetwork/database/enterprise-edition/downloads

    安装介质解压到 /software/oracle11gr2


  6. 好了,可以安装曾经麻烦的数据库啰(装过都知道),  现只要1个命令


    #sudo docker run -d --privileged --shm-size 1g --name oracle11g  -p 1521:1521 -v software/oracle11gr2:/install -v backup:/opt/oracle/dpdump -v etc/localtime:/etc/localtime:ro jaspeen/oracle-11g

    命令会输出容器唯一id


    8af0a5d100964d9bca0c0d1f184c3a93a26ce2908f8d614d088ffb066b1c47a1


    也可以看容器id

    #docker ps -s


  7. 解决安装过程问题


    注意看下github上其他人安装遇到Issues(https://github.com/jaspeen/oracle-11g/issues/6)

    所以一样容器安装数据库会中断

    一样要更正下作者的 db_install.rsp ,copy 正确的更新容器脚本文件

     #docker cp software/db_install.rsp 8af0a5d10096:/assets/db_install.rsp 

            

     再重新启动容器,重装会自动继续

     #docker container start 8af0a5d10096

            

     后面等待时间可以来杯星巴克,看安装日志进度了

      #docker logs 8af0a5d10096  


  8. 解决安装过程问题


    解决建库问题

    创建数据库 76% 显示遇到的bug,初装不可避免,research错误为oracle bug 9294055 (http://blog.csdn.net/xiangsir/article/details/18740803),so ok,reinstall 


    重建容器,还满方便,delete first

    #docker rm 8af0a5d10096

    回到第6,7步命令重来

    。。。。。


    进入容器

    #docker exec -it 8af0a5d10096 /bin/bash

    #su - oracle

    $sqlplus as sysdba

    SQL>  alter system set JAVA_JIT_ENABLED= FALSE

    (调整当前session


  9. 看日志

     #docker logs 8af0a5d10096  

    显示100%数据库安装ok,可以根据应用需要进一步sqlplus调整数据库参数了,不用提注意看下alert log。


  10. 系统 TOP, 看上去很OK 


感受复杂数据库的安装,像买个冰箱样开箱即用又迈进了一步,也许还有很多马拉松,但快速发展,披星戴月,趋势难挡,Docker “加速器” images 共享结果,大大的压缩了系统集成的时间,同时也提高了最终系统应用的交付效率,容器无疑也给OS打了一剂强心针。



享受公司赞助及组织的比赛



文章转载自Jason低代码,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论