Hot Ice

记录精彩的程序人生

Anything is possible!
  menu
41 文章
0 浏览
0 当前访客
ღゝ◡╹)ノ❤️

docker镜像构建-oracle11g

1.拉取镜像

docker pull jaspeen/oracle-11g

2.创建备份文件目录, 数据目录和安装文件目录

mkdir -p /home/soft/docker/oracle11g/dumpdir

mkdir -p /home/soft/docker/oracle11g/data

mkdir -p /home/soft/docker/oracle11g/install

3.将oracle-11g-linux.zip解压到install下, 出现database文件夹

4.运行, 安装oracle

docker run -d --privileged -p 1521:1521 -v /home/soft/docker/oracle11g/install:/install --name oracle11g-installer jaspeen/oracle-11g

5.查看日志, 等待数据库安装完成

docker logs -f -t --tail=200 oracle11g-installer

6.保存安装完的镜像

docker stop oracle11g-installer

docker commit oracle11g-installer oracle11g

docker rm oracle11g-installer

7.运行构建好的镜像

docker run -d -p 1521:1521 -v /etc/localtime:/etc/localtime:ro -v oracledata11g:/opt/oracle/app/oradata -v /home/soft/docker/oracle11g/dumpdir:/opt/oracle/dpdump -v /home/soft/docker/oracle11g/data:/opt/oracledata --name oracle11g oracle11g

可用下面命令删除数据库数据

docker volume rm oracledata11g

之后新建的表空间位置最好设置在/opt/oracledata下

8.查看日志, 等待数据库启动完成

docker logs -f -t --tail=200 oracle11g

9.连接: localhost:1521, 服务名: orcl, 管理员账号密码: sys/oracle

10.如果碰到下列问题:

ORA-12528:TNS:listener:all appropriate instances are blocking new connections

则是因为oracle服务器异常关闭,断电,导致oracle控制文件版本不一致, 然后不能自动挂载, 手动去修改控制文件后挂载.

docker exec -it oracle11g /bin/bash

su - oracle

cp /opt/oracle/app/oradata/orcl/control01.ctl /opt/oracle/app/flash_recovery_area/orcl/control02.ctl

sqlplus / as sysdba

alter database mount

alter database open


标题:docker镜像构建-oracle11g
作者:炎无道
地址:https://justxy.xyz/articles/2020/11/06/1604651247509.html