oracle11在docker环境下的运行
目的
Ø 在测试的环境下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环境下的运行的更多相关文章
- Docker环境下运行python+selenium+chrome
Docker环境下运行python+selenium+chrome docker运行时占用的资源非常少,而且能将环境进行有效的隔离,可以快速的进行部署,因此可以将docker与selenium结合实现 ...
- Elasticsearch Docker环境下安装
Elasticsearch Docker环境下安装 Daemon镜像配置的是https://registry.docker-cn.com Linux:vi /etc/docker/daemon.jso ...
- Kubernetes环境下如何运行Coherence缓存集群
Oracle官方出了一个如何在Docker环境下运行Coherence的技术文档,大家可以参考: https://github.com/oracle/docker-images/tree/master ...
- Docker环境下Java应用的最大内存和堆内存的设置
Docker环境下Java应用的最大内存和堆内存的设置 1. 设置应用允许使用的最大内存 通过docker run(创建一个新的容器并运行)命令中设置-m来进行设置.案例如下所示. docker r ...
- 如何在 Docker 环境下自动给 .NET 程序生成 Dump
前言 之前"一线码农"大佬有写文章介绍了如何在 windows 下自动 dump,正好手里有个在 docker 环境下 dump 的需求,所以在参考大佬文章的基础上,有了本篇. ...
- Docker环境下的Mysql8 实现主从数据库数据同步方案
本文记录下通过MySQL Replication在Docker环境下,通过多个容器 实现数据库主从配置. MySQL Replication就不多解释了,简单说就是MySQL非常出色的一个功能,该功能 ...
- docker环境下solr6.0配置(中文分词+拼音)
前言:这篇文章是基于之前的“linux环境下配置solr5.3详细步骤”(http://www.cnblogs.com/zhangyuan0532/p/4826740.html)进行扩展的.本篇的步骤 ...
- docker环境下solrcloud+zookeeper集群部署教程
前言:两个月前的16年11月份完成的配置,使用的solr6.1和zookeeper3.4,刚刚写成blog,目前版本可能有小版本的变化. 本例完成结果为:在docker环境下部署solrcloud集群 ...
- Mac+Docker环境下xdebug的配置
由于容器化的需要,前几天我本地也换成了docker环境.就研究了一下docker环境下phpstorm和xdebug的配置. http://www.mmfei.com/?p=453 这个博客给出了一个 ...
随机推荐
- mesos支持gpu代码分析以及capos支持gpu实现
这篇文章涉及mesos如何在原生的mesoscontainerizer和docker containerizer上支持gpu的,以及如果自己实现一个mesos之上的framework capos支持g ...
- mysql 开发进阶篇系列 7 锁问题(innodb锁争用情况及锁模式)
1 .获取innodb行锁争用情况 1.1 通过检查innodb_row_lock状态变量来分析系统上的行锁的争夺情况 SHOW STATUS LIKE 'innodb_row_lock%' 通过in ...
- JavaEE 要懂的小事:二、图解 Cookie(小甜饼)
Writer :BYSocket(泥沙砖瓦浆木匠) 微 博:BYSocket 豆 瓣:BYSocket FaceBook:BYSocket Twitter ...
- 纸上谈兵: 堆 (heap)
纸上谈兵: 堆 (heap) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 堆(heap)又被为优先队列(priority ...
- Oracle性能优化之查询语句通用原则
作者早期文章 Oracle优化 索引是表的一个概念部分 , 用来提高检索数据的效率, ORACLE 使用了一个复杂的自平衡 B-tree 结构 . 通常 , 通过索引查询数据比全表扫描要快 . 当 O ...
- mysql字符串查找(统计客源)
如客源状态为1:2:3:5:6:9,其中6代表成交状态 如果要统计查询出有6这个状态的客源,可以用函数LOCATE(字符,搜索的字符串)来, 示例:统计每个分组下全部客源数total,成交客源数dea ...
- Git命令速查
Alias 下面的只是例子,想改成什么跟随自己的意愿即可. git config --global alias.st status //status 缩写成 st git config --globa ...
- Go基础系列:为select设置超时时间
Go channel系列: channel入门 为select设置超时时间 nil channel用法示例 双层channel用法示例 指定goroutine的执行顺序 After() 谁也无法保证某 ...
- 南大算法设计与分析课程OJ答案代码(5)--割点与桥和任务调度问题
问题 A: 割点与桥 时间限制: 1 Sec 内存限制: 5 MB提交: 475 解决: 34提交 状态 算法问答 题目描述 给出一个无向连通图,找到所有的割点和桥 输入 第一行:点的个数,如果点 ...
- Try Catch 嵌套问题
程序错误 问题描述: 在一个事物中,插入两张表数据,但是第一个成功,第二个失败了,没有起到所谓的事物的功能,这让我百思不得其解 问题所在: 本质上其实报错了,但是错误被吃掉了,具体来说,就是 try ...