一、Docker 创建 Oracle 容器:
1、查找一下oracle 相关的镜像:
docker search oracle
第一个应该是官方给的空的Linux系统,下载之后需要自行在里面安装Oracle。所以选择第二个,镜像中有Oracle 的安装脚本,启动镜像会直接安装。
2、下载镜像:
docker pull jaspeen/oracle-11g
3、从Oracle官网下载Oracle11g的安装包:
存放到指定位置并解压,这里存放路径为 /tmp 。解压两个压缩包:
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
两个都解压完成后,会在解压目录下出现一个database文件夹:
4、创建容器:
docker run --privileged --name docker_oracle -p 1521:1521 -v /tmp:/install jaspeen/oracle-11g
容器名称:docker_oracle ,-v /database文件夹的存放路径:/install
等待安装,时间会有点长。。。。。。。。。。。。。。。。。。。。
查看日志,日志中会出现 100% complete,代表数据库安装完成
5、另开起一个终端,设置容器自启动:
docker container update --restart=always docker_oracle
docker_oracle :容器名称
6、重启容器:
docker restart docker_oracle
7、进入容器:
docker exec -it docker_oracle /bin/bash
8、切换到容器内的oracle用户下:
su - oracle
9、使用sys用户登录数据库:
10、修改sys用户密码:
alter user sys identified by 123456;
二、配置Windows,使用 PL/SQL 连接 Docker Oracle:
Docker中的配置到此结束。想要在windows使用 PL/SQL 连接Oracle,还需要进行以下操作。
1、在Windows下安装 oracle 客户端,这里下载的是Windows 精简版:
解压并安装Oracle客户端。
2、配置环境变量:
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
ORACLE_HOME=\Oracle安装目录
path后添加:%ORACLE_HOME%\bin
3、配置oracle TNS:
修改Oralce安装目录\dbhomeXE\network\admin\tnsnames.ora 文件,在 tnsnames.ora 文件中追加以下内容:
TNS名称 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = docker物理机ip )(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = 实例名 )
)
)
例如,容器安装的实例名默认为 orcl:
ORA_127 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.127 )(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl )
)
)
4、使用PL/SQL Developer连接配置好的数据库:
5、连接成功: