Docker 拉取 oracle 11g镜像配置

话很少说,开始记录docker拉取阿里的oracle11g 镜像并进行配置,用pl/sql 能够登陆为最终结果html

这是咱们所须要进行拉取oracle镜像的楼主所给出的说明java

参考:http://www.noobyard.com/article/p-qkoeadnw-bq.htmlsql

可是根据这个进行配置会有一些问题,因此写这篇记录一下,但愿能够帮助其余人docker

开始:数据库

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

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

        下载的过程少长,等待吧,喝杯咖啡,休息一会!(镜像6.8G)oracle

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

    能够看到已经下载好了ide

② 、建立容器

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

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

        若是建立成功能会返回容器id

③、启动容器 

        docker start oracle11g

        

④、进入镜像进行配置

     一、 docker exec -it oracle11g bash

          

       

     二、进行软链接

            sqlplus /nolog

    

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

     三、切换到root 用户下

            su root

            密码:helowin

        

        

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

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2

export ORACLE_SID=helowin

export PATH=$ORACLE_HOME/bin:$PATH

        

        在最后加上

        

            保存并退出  :wq

       五、建立软链接

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

        六、切换到oracle 用户

              这里还要说一下,必定要写中间的内条 -   必需要,不然软链接无效

            

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

        sqlplus /nolog

        conn /as sysdba

       

 

        接着执行下面命令

        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 进行链接

          以前咱们把端口映射到了1521上,因此咱们须要进行配置 tnsnames.ora

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

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

     plsql安装配置工具包    http://www.noobyard.com/article/p-ycidqucz-qw.html

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

 

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

 

            

                

        这时咱们须要去看一下oracle 的 lsnrctl 服务

        

        看到这两个了么,任选其一,修改 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)
   )
)

     欧克,登陆成功。