开始记录docker安装oracle11g 镜像并进行配置,

用pl/sql 可以登录为最终结果
navicat连接是在最后一步

参考:https://blog.csdn.net/zwx521515/article/details/77982884

       https://blog.csdn.net/qq_38380025/article/details/80647620

但是根据这个进行配置会有一些问题,所以写这篇记录一下,希望可以帮助其他人

开始:
①、开始拉取镜像-执行命令:

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

    下载的过程少长,耐心等待吧(镜像6.85G)

    下载完成后 查看镜像: docker images

在这里插入图片描述
可以看到已经下载好了
② 、创建容器

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

    这里说一下,命令后面的地址一定要是你下载的镜像地址也就是你拉取镜像名字,否则会出现名字已存在等问题!

    如果创建成功能会返回容器id

③、启动容器

    docker start oracle11g

在这里插入图片描述

④、进入镜像进行配置

 1、 docker exec -it oracle11g bash

在这里插入图片描述

 2、进行软连接

        sqlplus /nolog

在这里插入图片描述

发现没有这个命令,用不了

 3、切换到root 用户下

        su root

        密码:helowin

在这里插入图片描述

    注意这里还是在容器当中。。有朋友退去了。。。。。。。

  4、编辑profile文件配置ORACLE环境变量

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

在这里插入图片描述

        保存并退出  :wq

       接着, 使其生效

source /etc/profile
5、创建软连接

        ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

    6、切换到oracle 用户

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

注意:这里如果有报错的话需要修改一个配置文件在这里插入图片描述

su:无法执行/bin/bash:资源暂时不可用 su: failed to execute /bin/bash: Resource temporarily unavailable

处理参考链接:https://blog.csdn.net/weixin_45005012/article/details/126306048

⑤ 、登录sqlplus并修改sys、system用户密码

    sqlplus /nolog

    conn /as sysdba

![在这里插入图片描述](https://img-blog.csdnimg.cn/5faf47d6f71d46fca5a5b979a001a777.png
在这里插入图片描述

    接着执行下面命令

    alter user system identified by system;

    alter user sys identified by sys;

    也可以创建用户  create user test identified by test;

      并给用户赋予权限  grant connect,resource,dba to test;

在这里插入图片描述

注意:当执行修改密码的时候出现 :    database not open

  提示数据库没有打开,不急按如下操作

  输入:alter database open;

注意了:这里也许还会提示  :   ORA-01507: database not mounted

  不急!继续!

在这里插入图片描述

=========== 解决方法===========

 输入:alter database mount;

  输入 :alter database open;

在这里插入图片描述

  然后就可执行 修改数据库密码的命令了

  改完之后输入:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

  刷新下表

    exit  是退出sql 软连接

在这里插入图片描述

⑥、使用pl/sql 进行连接
navicat 连接的直接跳过 第 ⑥ 步
但是 oracle 的 lsnrctl 服务 在第6步所以你还是看完在看第7步(虽然不需要干啥)
第7步是navicat连接的在最后

      之前我们把端口映射到了1521上,所以我们需要进行配置 tnsnames.ora

几个朋友不知道ora文件在哪,所以添加了这一步   

pl/sql 安装包,汉化包,秘钥工具 https://download.csdn.net/download/qq_38380025/11168289

 plsql安装配置工具包    https://blog.csdn.net/qq_38380025/article/details/89677588

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



打开pl/sql 进行登录 :提示监听程序当前无法识别连接描述符中请求的服务

在这里插入图片描述
在这里插入图片描述

    这时我们需要去看一下oracle 的 lsnrctl 服务
    lsnrctl status

在这里插入图片描述

在这里插入图片描述

    看到这两个了么,任选其一,修改 tnsnames.ora的 service_name=helowinXDB

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

 登录成功。

在这里插入图片描述

第7步是navicat连接

有几个朋友用的是navicat连的所以故此添加这一步

打开navicat后(navicat12不用配置oci.dll文件了)

直接新建连接

在这里插入图片描述
在这里插入图片描述

原文链接:https://blog.csdn.net/qq_38380025/article/details/80647620

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐