zoukankan      html  css  js  c++  java
  • docker的安装和docket拉取Oracle

    博客转载https://blog.csdn.net/qq_38380025/article/details/80647620,https://blog.csdn.net/qq_27039845/article/details/84947345, https://www.cnblogs.com/yufeng218/p/8370670.html  侵删

    一、安装docker

    1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

    通过 uname -r 命令查看你当前的内核版本

     $ uname -r

    2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

    $ sudo yum update

    3、卸载旧版本(如果安装过旧版本的话)

    $ sudo yum remove docker  docker-common docker-selinux docker-engine

    4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

    $ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

    5、设置yum源

    $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

     

    6、可以查看所有仓库中所有docker版本,并选择特定版本安装

    $ yum list docker-ce --showduplicates | sort -r

    7、安装docker

    $ sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
    $ sudo yum install <FQPN>  # 例如:sudo yum install docker-ce-17.12.0.ce

     

    8、启动并加入开机启动

    $ sudo systemctl start docker
    $ sudo systemctl enable docker

    9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

    $ docker version

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

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

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

    可以看到已经下载好了

    ② 、创建容器

    docker run -d -p 1521:1521 --name oracle11gregistry.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环境变量

    export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
    
    export ORACLE_SID=helowin
    
    export PATH=$ORACLE_HOME/bin:$PATH

    在最后加上

    保存并退出 :wq

    5、创建软连接

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

    6、切换到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

    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)
       )
    )

    欧克,登录成功。

    navicate 连接已经拉取的Oracle

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

    (2)创建oracle容器

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

    (3)启动容器

    docker start oracle11g

    (4)进入镜像配置

    docker exec -it oralce11g(这个地方可以是容器名也可以是容器id)

    (5)创建软连接sqlplus /nolog,此时是无效的 command not found

    (6)先切换到root用户去解决软连接的问题

    切换root用户,并编辑profile文件

    [root@a8a161b66e1d /]# 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

    这是才真正创建l软连接

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

    su - oracle

    conn sys/ as sysdba;

    alter user sys identified by sys;

    alter user system identified by system;

    创建用户

    create user dlsys identified by dlsys;

    赋予权限

    grant connect,resource,dba to dlsys;

    (5)配置listener.ora以及 tnsnames.ora

    进入oracle用户的家目录

    输入 lsnrctl status查看监听状态

    cd /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin

    目录下有两个文件listener.ora以及 tnsnames.ora

    用vi编辑这两个文件修改host为自己的ip

    至此就可以用客户端连接oracle了

    接下来讲下怎么导入dmp数据到oracle库中

    (6)将dmp文件上传到容器中

    docker cp syszdb.DMP 容器id:/home/oracle/(注意syszdb.DMP文件放在dockertoolbox的安装目录下)

    (7)创建一个逻辑目录并赋予去权限(导入命令的时候需要用到)

    查看刚才创建的目录

    (7)创建表空间及用户

    CREATE TABLESPACE "DLGIS"

    LOGGING

    DATAFILE '/home/oracle/app/oracle/oradata/helowin/DLGIS.ORA' SIZE 400M

    REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

    ALTER DATABASE

    DATAFILE '/home/oracle/app/oracle/oradata/helowin/DLGIS.ORA' AUTOEXTEND

    ON NEXT 10M MAXSIZE UNLIMITED;

    表空间及用户名创建完后就可以返回到oracle用户的家目录

    (oracle用户的家目录可以通过su root输入密码helowin后切换oracle用户su - oracle)

    (8)最后输入导入命令:(针对expdp的导出命令)

    impdp dlsys/dlsys@helowin directory=dir_dump dumpfile=syszdb.dmp

  • 相关阅读:
    把Windows装进U盘
    Java 潜拷贝和深拷贝(浅复制和深复制)
    《远大前程——从软件新手到行业大牛》读书笔记
    解决windows8 metro应用不能联网
    [转载]schtasks命令使用实例介绍
    程序员网址
    VS2008,vs2010 快捷键大全 转载
    题解:2018级算法第一次练习赛 妙妙趣排序
    题解:2018级算法第一次上机 C1pair
    #编译原理# 词法分析(三)第二部分
  • 原文地址:https://www.cnblogs.com/MyJavaStudy/p/10736450.html
Copyright © 2011-2022 走看看