用Docker搭建Oracle数据库

3 篇文章 0 订阅
2 篇文章 0 订阅

参考:https://blog.csdn.net/qq_38380025/article/details/80647620#commentsedit;;

原文有些地方不是很详细,所以参考该文,并做补充

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;

8,用客户端连接oracle

我这里用的navicat,需要去oracle官网下载一个instantclient,然后解压到navicat安装目录

 然后navicat选项配置刚刚解压的oci.dll文件

 如果此时去连接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;

这个文件在:  $ORACLE_HOME/network/admin

 然后修改tnsnames.ora

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

然后重启容器:

docker restart 容器id

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

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

如有问题,欢迎留言区讨论留言

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值