title: docker运行oracle12c注意事项
date: 2019-03-27 13:42:34
categories: 数据库
author: mrzhou
tags:

  • docker
  • 数据库
  • oracle

docker运行oracle12c注意事项

docker的安装就不说了,这里主要说在docker中运行oracle的事情。首先oracle映像本身比较大,近2.8G,所以你的磁盘空间一定要够,再有运行时还需要大约7G的空间,所以空间要足够,再有是内存,至少需要2G。

获取oracle映像

docker pull registry.docker-cn.com/sath89/oracle-12c
docker images

为启动作准备

oracle映像中的空间是不够安装数据库,需要宿主机的空间,所以需要建立一个目录来放数据库文件。并且需要修改owner,否则启动可能会失败。

mkdir /data/oracle
chown -R 1001:1001 /data/oracle

启动映像

第一次启动过程会比较长,所以需要监控是否启动完成,或者启动过程中是否有错。这里oracle的web管理端口被制作到8080,将宿主机的19000映射到8080,毕竟8080还需要留给TOMCAT,1521必然是需要映射出来的。

docker run -d -p 19000:8080 -p 1521:1521 -v /data/oracle:/u01/app/oracle --name oracle12c ee3351d51185
docker logs -f oracle12c

修改权限及密码

这个映像毕竟制作时间有点长,用户密码早又过期,所以需要修改。

docker exec -it oracle12c /bin/bash 

登录映像后,切换到oracle用户,然后登录oracle。

su oracle
$ORACLE_HOME/bin/sqlplus / as sysdba

SQL>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
SQL>alter user SYSTEM account unlock;
SQL>alter user system identified by system;

其他电脑访问oracle

如果你的系统防火墙开着,那需要将19000和1521开放。回到宿主机,执行防火墙命令。
oracle-12c 数据库sid: xe, 如果你没有修改密码,system默认密码为oracle。

firewall-cmd --permanent --zone=public --add-port=19000/tcp
firewall-cmd --permanent --zone=public --add-port=1521/tcp
firewall-cmd --reload

web管理界面

http://localhost:19000/em
搞定了。

03-28 00:01