设为首页 收藏本站
查看: 1215|回复: 0

[经验分享] oracle11在docker环境下的运行

[复制链接]

尚未签到

发表于 2017-12-6 13:39:30 | 显示全部楼层 |阅读模式
目的
  Ø 在测试的环境下oracle数据库不存在或访问不方便时,可以将这个环境快速恢复出来
  Ø 开发时方便测试之用
  可以在任何包含docker服务的机器上运行,具体的docker的安装可以参考如下:
  rpm -ivh --nodeps --force *.rpm
  systemctl enable docker.service
  service docker restart
  我们提供了11g的2个版本
  Ø Express:这是内存消耗较少,速度快
  Ø 企业版:完整的企业版本
  根据情况选择使用
场景
  在我们的centos7机器上或客户类似环境的机器上[只要安装了docker均可],直接运行这些服务
前提条件
  修改/etc/selinux/config文件,设置为disable
  #     disabled - No SELinux policy is loaded.
  SELINUX=disable
  重启机器
[这个很关键,多次的实验表明如果不设置这个,pull下来的容器启动后没有oracle实例,尝试了多次的教训]

Oracle Express 11版本
  这个使用的是dockerfile文件进行安装出来的
  https://github.com/wnameless/docker-oracle-xe-11g 其中基于ubuntu16的版本有问题,获取的是ubuntu14的分支
还原镜像
  Ø 还原系统Ubuntu
  首先还原出来一个ubuntu14的镜像
  #docker load < ubuntu_14.04.4.tar
  &Oslash; 还原oracle express
  n 解压docker 文件: tar -xvzf docker-oracle-xe-11g.tar.gz -C /root/.
  n cd /root/docker-oracle-xe-11g ; docker build -t oracle_xe11g .
  如下就是恢复出来的系统
[iyunv@demo docker-oracle-xe-11g]# docker images

  REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZE
  oracle_xe11g                                                    latest              3d2fb0c62e4d        38 minutes ago      2.251 GB
  docker.io/ubuntu                                       14.04.4             0ccb13bf1954        11 months ago       187.9 MB
运行
  &Oslash; 第一次运行
  docker run -d -P -p 1521:1521 --name xe oracle_xe11g
  运行后可以查看系统的情况
[iyunv@demo docker-oracle-xe-11g]# docker ps -a

  CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                       PORTS                                                                    NAMES
  130510c450e8        oracle_xe11g                 "/bin/sh -c '/usr/sbi"   41 minutes ago      Up 2 seconds                 0.0.0.0:1521->1521/tcp, 0.0.0.0:32778->22/tcp, 0.0.0.0:32777->8080/tcp xe
  &Oslash; 后续运行
  在该机器上运行时,可以使用以下的简化命令
  docker stop xe 停止容器
  docker start xe 启动容器
  &Oslash; 进入容器的SHELL
  执行结果类似如下[必须有这些守护进程才可用]
[iyunv@demo docker-oracle-xe-11g]# docker exec -it xe bash

  root@130510c450e8:/# ps ax
  PID TTY      STAT   TIME COMMAND
  1 ?        Ss     0:00 /bin/sh -c /usr/sbin/startup.sh && /usr/sbin/sshd -D
  22 ?        Ssl    0:00 /u01/app/oracle/product/11.2.0/xe/bin/tnslsnr LISTENER -inherit
  36 ?        Ss     0:00 xe_pmon_XE
  38 ?        Ss     0:00 xe_psp0_XE
  40 ?        Ss     0:00 xe_vktm_XE
  44 ?        Ss     0:00 xe_gen0_XE
  46 ?        Ss     0:00 xe_diag_XE
  48 ?        Ss     0:00 xe_dbrm_XE
  50 ?        Ss     0:00 xe_dia0_XE
  52 ?        Ss     0:00 xe_mman_XE
  54 ?        Ss     0:00 xe_dbw0_XE
  56 ?        Ss     0:00 xe_lgwr_XE
  58 ?        Ss     0:00 xe_ckpt_XE
  60 ?        Ss     0:00 xe_smon_XE
  62 ?        Ss     0:00 xe_reco_XE
  64 ?        Ss     0:00 xe_mmon_XE
  66 ?        Ss     0:00 xe_mmnl_XE
  68 ?        Ss     0:00 xe_d000_XE
  70 ?        Ss     0:00 xe_s000_XE
  72 ?        Ss     0:00 xe_s001_XE
  74 ?        Ss     0:00 xe_s002_XE
  76 ?        Ss     0:00 xe_s003_XE
  84 ?        Ss     0:00 xe_vkrm_XE
  86 ?        Ss     0:00 xe_qmnc_XE
  88 ?        S      0:00 /usr/sbin/sshd -D
  102 ?        Ss     0:00 xe_cjq0_XE
  112 ?        Ss     0:00 xe_q000_XE
  114 ?        Ss     0:00 xe_q001_XE
  116 ?        Ss     0:00 xe_j000_XE
  118 ?        Ss     0:00 xe_j001_XE
  119 ?        Ss     0:00 bash
  132 ?        R+     0:00 ps ax
  root@130510c450e8:/#
  &Oslash; 数据库账号
  n sys/oralce
  n system/oracle
  n SID: xe
DSC0000.jpg

Oracle 11g版本
  #docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
  已经把这个存为了helowin_oracel11g.tar
还原镜像
  #docker load < helowin_oracel11g.tar
  可以看到类似如下:
[iyunv@demo docker-oracle-xe-11g]# docker images

  REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZE
  registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g   latest              3fa112fd3642        17 months ago       6.849 GB
运行
  &Oslash; 第一次运行
  docker run -d -P --name 11g 3fa
  运行后可以查看系统的情况
[iyunv@demo docker-oracle-xe-11g]# docker ps -a

  CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                                    NAMES
  53b4ba87ef34        3fa                 "/bin/sh -c '/home/or"   About an hour ago   Up 6 seconds        0.0.0.0:32776->1521/tcp                                                  11g
  &Oslash; 后续运行
  在该机器上运行时,可以使用以下的简化命令
  docker stop 11g 停止容器
  docker start 11g 启动容器
  &Oslash; 进入容器的SHELL
  执行结果类似如下[必须有这些守护进程才可用]
[iyunv@demo docker-oracle-xe-11g]# docker exec -it 11g bash

[oracle@53b4ba87ef34 /]$ ps ax

  PID TTY      STAT   TIME COMMAND
  1 ?        Ss     0:00 /bin/sh -c /home/oracle/app/oracle/product/11.2.0/dbhome_2/bin/dbstart /home/oracle/app/oracle/product/11.2.0/dbhome_2 && tail -f /home/oracle/app
  18 ?        Ssl    0:00 /home/oracle/app/oracle/product/11.2.0/dbhome_2/bin/tnslsnr LISTENER -inherit
  57 ?        Ss     0:00 ora_pmon_helowin
  59 ?        Ss     0:00 ora_vktm_helowin
  63 ?        Ss     0:00 ora_gen0_helowin
  65 ?        Ss     0:00 ora_diag_helowin
  67 ?        Ss     0:00 ora_dbrm_helowin
  69 ?        Ss     0:00 ora_psp0_helowin
  71 ?        Ss     0:00 ora_dia0_helowin
  73 ?        Ss     0:00 ora_mman_helowin
  75 ?        Ss     0:00 ora_dbw0_helowin
  77 ?        Ss     0:00 ora_lgwr_helowin
  79 ?        Ss     0:00 ora_ckpt_helowin
  81 ?        Ss     0:00 ora_smon_helowin
  83 ?        Ss     0:00 ora_reco_helowin
  85 ?        Ss     0:00 ora_mmon_helowin
  87 ?        Ss     0:00 ora_mmnl_helowin
  89 ?        Ss     0:00 ora_d000_helowin
  91 ?        Ss     0:00 ora_s000_helowin
  99 ?        Ss     0:00 ora_p000_helowin
  101 ?        Ss     0:00 ora_p001_helowin
  105 ?        Ss     0:00 ora_qmnc_helowin
  122 ?        S      0:00 tail -f /home/oracle/app/oracle/product/11.2.0/dbhome_2/startup.log
  136 ?        Ss     0:00 ora_cjq0_helowin
  148 ?        Ss     0:00 ora_q000_helowin
  150 ?        Ss     0:00 ora_q001_helowin
  152 ?        Ss     0:00 ora_j000_helowin
  154 ?        Ss     0:00 ora_j001_helowin
  155 ?        Ss     0:00 bash
  168 ?        R+     0:00 ps ax
[oracle@53b4ba87ef34 /]$

  在此Shell下执行如下的语句
  export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
  export ORACLE_SID=helowin
  export PATH=$PATH:$ORACLE_HOME/bin
  sqlplus / as sysdba
  alter user system identified by oracle;
  alter user sys identified by oracle;
  ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
  LINUX账号: root helowin
  &Oslash; 数据库账号
  n sys/oralce
  n system/oracle
  n SID: helowin
DSC0001.jpg


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-421334-1-1.html 上篇帖子: docker 架构 下篇帖子: centos7搭建docker私有仓库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表