docker安装oracle11g_实际操作成功

docker安装oracle11g_实际操作成功

解决方案goocz2025-01-13 10:32:0627A+A-

参考官方镜像地址信息:

https://registry.hub.docker.com/r/iatebes/oracle_11g

Docker image for Oracle Database 11g (database installed)

Build from this guide : https://github.com/jaspeen/oracle-11g


Run Oracle DB 11g from docker

$ docker run -d -p 1521:1521 iatebes/oracle_11g


OS users

  • root/install
  • oracle/install

DB users

  • SYS/oracle

SID

  • orcl

Database location

/opt/oracle

TNS String pattern

(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=<IP_DOCKER_HOST>)(PORT=<PORT_MAPPING>)))(CONNECT_DATA=(SERVICE_NAME=orcl)))

Example in my case with above docker run command : IP_DOCKER_HOST = 10.33.66.127 PORT_MAPPING = 1521

(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.33.66.127)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))


Docker run command with folder mapping

Optionally you can map dpdump folder to easy upload dumps:

docker run -d --privileged --name oracle11g -p 1521:1521 -v <local_dpdump>:/opt/oracle/dpdump iatebes/oracle_11g

To execute impdp/expdp just use docker exec command:

docker exec -it oracle11g impdp ..

-------以上参考官方提供的信息;下面是实际操作过程;

docker rm containId 删除以前创建的不需要的oracle容器(首次可省略)


使用 docker pull iatebes/oracle_11g 从仓库拉取镜像文件

docker run -d -p 1521:1521 iatebes/oracle_11g //创建11g容器

docker start c40c11c3737a // 启动容器

docker exec -it containId /bin/bash (进入docker容器的内部;一定先进入容器再切用户)

su oracle (切记一定要切换成oracle用户)

sqlplus sys/oracle as sysdba

Sqlplus 使用sys登录后创建表空间

Create tablespace TEST_DS datafile '/home/oracle_for_docker/TEST_DS.dbf' size 500M autoextend on maxsize unlimited;

在docker容器创建oracle的表空间遇到无法创建问题,导致原因是文件夹的执行权限不足导致,需要授权,注意是在容器里面授权操作。

解决方法:

切换到root su root (root/install)

使用sqlplus登录

注意创建表空间时有可能出现权限不足的问题,需要授权操作:

[root@15de95e3000d oradata]# chmod -Rf 777 /home/oracle_for_docker 授权后就可以创建表空间,最后就是常规操作了,创建用户和授权,导入数据,添加工具连接的配置信息即可连接;

(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=IP)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl))) //官网给出的连接信息

注意将本地或者docker容器外面目录的dmp文件上传到docker oracle容器内部指定的目录,使用下面的指令复制文件:

docker cp 本地文件路径 ID全称:容器路径

到此操作结束,可以愉快的使用orcl了.谢谢浏览!

点击这里复制本文地址 以上内容由goocz整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

果子教程网 © All Rights Reserved.  蜀ICP备2024111239号-5