用Docker搭建Oracle数据库

1,拉取镜像:

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

2,创建容器 

docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

3,启动容器

docker start oracle11g

4,进入镜像配置

docker exec -it oracle11g bash

进行软连接:  sqlplus /nolog

如果没有该命令则切换到root用户下:

su root;

密码:helowin

编辑环境变量:

vi /etc/profile

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
5、创建软连接
   ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

6、切换到oracle 用户

              这里还要说一下,一定要写中间的内条 -   必须要,否则软连接无效

su - oracle

7,登陆sqlplus 修改system用户密码

sqlplus /nolog

conn /as sysdba

接着执行下面命令

        alter user system identified by system;

        alter user sys identified by sys;
---------------------

 如果此时去连接oracle的话,navicat会报错:

ORA-12514, TNS:listener does not currently know of service requested in connect descriptor

不着急,还需要进入oracle的docker容器做一个配置:

docker exec -it oracle11g bash

需要找到这个文件tnsnames.ora;

然后修改tnsnames.ora

docker_oracle11 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT =1521))
)
(CONNECT_DATA =
(SERVICE_NAME = helowinXDB)
)
)

然后重启容器:

docker restart 容器id

现在可以用system用户连接,密码:system

连接之后创建表空间,创建用户就可以使用了

原文地址:https://www.cnblogs.com/baojunblog/p/11340258.html