目的

Ø 在测试的环境下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

Ø 还原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 .

如下就是恢复出来的系统

[root@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

运行

Ø 第一次运行

docker run -d -P -p 1521:1521 --name xe oracle_xe11g

运行后可以查看系统的情况

[root@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

Ø 后续运行

在该机器上运行时,可以使用以下的简化命令

docker stop xe 停止容器

docker start xe 启动容器

Ø 进入容器的SHELL

执行结果类似如下[必须有这些守护进程才可用]

[root@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:/#

Ø 数据库账号

n sys/oralce

n system/oracle

n SID: xe

Oracle 11g版本

#docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

已经把这个存为了helowin_oracel11g.tar

还原镜像

#docker load < helowin_oracel11g.tar

可以看到类似如下:

[root@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

运行

Ø 第一次运行

docker run -d -P --name 11g 3fa

运行后可以查看系统的情况

[root@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

Ø 后续运行

在该机器上运行时,可以使用以下的简化命令

docker stop 11g 停止容器

docker start 11g 启动容器

Ø 进入容器的SHELL

执行结果类似如下[必须有这些守护进程才可用]

[root@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

Ø 数据库账号

n sys/oralce

n system/oracle

n SID: helowin

 

oracle11在docker环境下的运行的更多相关文章

  1. Docker环境下运行python+selenium+chrome

    Docker环境下运行python+selenium+chrome docker运行时占用的资源非常少,而且能将环境进行有效的隔离,可以快速的进行部署,因此可以将docker与selenium结合实现 ...

  2. Elasticsearch Docker环境下安装

    Elasticsearch Docker环境下安装 Daemon镜像配置的是https://registry.docker-cn.com Linux:vi /etc/docker/daemon.jso ...

  3. Kubernetes环境下如何运行Coherence缓存集群

    Oracle官方出了一个如何在Docker环境下运行Coherence的技术文档,大家可以参考: https://github.com/oracle/docker-images/tree/master ...

  4. Docker环境下Java应用的最大内存和堆内存的设置

    Docker环境下Java应用的最大内存和堆内存的设置 1.  设置应用允许使用的最大内存 通过docker run(创建一个新的容器并运行)命令中设置-m来进行设置.案例如下所示. docker r ...

  5. 如何在 Docker 环境下自动给 .NET 程序生成 Dump

    前言 之前"一线码农"大佬有写文章介绍了如何在 windows 下自动 dump,正好手里有个在 docker 环境下 dump 的需求,所以在参考大佬文章的基础上,有了本篇. ​ ...

  6. Docker环境下的Mysql8 实现主从数据库数据同步方案

    本文记录下通过MySQL Replication在Docker环境下,通过多个容器 实现数据库主从配置. MySQL Replication就不多解释了,简单说就是MySQL非常出色的一个功能,该功能 ...

  7. docker环境下solr6.0配置(中文分词+拼音)

    前言:这篇文章是基于之前的“linux环境下配置solr5.3详细步骤”(http://www.cnblogs.com/zhangyuan0532/p/4826740.html)进行扩展的.本篇的步骤 ...

  8. docker环境下solrcloud+zookeeper集群部署教程

    前言:两个月前的16年11月份完成的配置,使用的solr6.1和zookeeper3.4,刚刚写成blog,目前版本可能有小版本的变化. 本例完成结果为:在docker环境下部署solrcloud集群 ...

  9. Mac+Docker环境下xdebug的配置

    由于容器化的需要,前几天我本地也换成了docker环境.就研究了一下docker环境下phpstorm和xdebug的配置. http://www.mmfei.com/?p=453 这个博客给出了一个 ...

随机推荐

  1. Ocelot简易教程(二)之快速开始1

    Ocelot简易教程目录 Ocelot简易教程(一)之Ocelot是什么 Ocelot简易教程(二)之快速开始1 Ocelot简易教程(二)之快速开始2 Ocelot简易教程(三)之主要特性及路由详解 ...

  2. Java核心技术及面试指南 数据库方面的面试题归纳以及总结

    5.1.7.1 事务的四大特性是什么? ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚. ⑵ 一致性(Consistency) 一致性是指事务必须使数据库 ...

  3. sql server I/O硬盘交互

    一. 概述 sql server作为关系型数据库,需要进行数据存储, 那在运行中就会不断的与硬盘进行读写交互.如果读写不能正确快速的完成,就会出现性能问题以及数据库损坏问题.下面讲讲引起I/O的产生, ...

  4. 代理模式(静态代理、JDK动态代理原理分析、CGLIB动态代理)

    代理模式 代理模式是设计模式之一,为一个对象提供一个替身或者占位符以控制对这个对象的访问,它给目标对象提供一个代理对象,由代理对象控制对目标对象的访问. 那么为什么要使用代理模式呢? 1.隔离,客户端 ...

  5. jvm详情——1、堆中存什么?栈中存什么?

    数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型.基本类型的变量保存原始值,即:他代表的值就是数值本身:而引用类型的变量保存引用值.“引用值”代表了某个对象的引用,而不是对象本身, ...

  6. 基于openssl搭建https服务器

    1. 搭建web环境 我这里使用源码编译安装方式安装httpd.详情可以参加我的一篇博客http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_1 ...

  7. MySql数据库安装

    MySql数据库安装 一丶数据库 什么是数据库 数据库简单连接就是存储数据的容器. 而库则是一组容器合成的东西. 也就是存储数据的.我们编程中常常会用到数据库. 什么是数据管理系统 数据库管理系统就是 ...

  8. c# Console application Open/Get Url by Browser

    C# url 用 浏览器打开.C#获取浏览器的url static void Main(string[] args) { string file = @"C:\Users\Hero\Desk ...

  9. jquery调用javascript方法

    本来想找个“优雅”一点的方法,类似C#在调用C++方法时候的Invoke之类的.没找到,后来想想,其实也没必要,直接写就好了,算最优雅了吧.只是少了VS的Intelligence,有点不习惯罢了. 事 ...

  10. centos7安装kafka_2.11

    1.下载 官网地址:http://kafka.apache.org/downloads.html 下载:wget https://www.apache.org/dyn/closer.cgi?path= ...