zoukankan      html  css  js  c++  java
  • 使用Docker安装Oracle数据库

      在很多时候,我们需要在本地安装Oracle数据库,但是整个安装的过程时间非常长而且安装文件大,那么有不有更好的办法来安装Oracle数据库既能减少安装的时间而且还能够快速进行部署呢?答案就是使用Docker来数据库容器,那么具体该怎么进行呢?本文介绍如何在Win7和Win10上面进行Oracle镜像的安装以及如何使用DataGrip建立连接。

      一 Windows7上面的安装

           首先就是在Window7上面安装Docker Toolbox,具体安装的过程,请参考这篇文档。安装完成后在桌面上一般会有一个Oracle VM VirtualBox和一个Docker Quickstart Terminal,一般在进行操作之前右键单击Docker Quickstart Terminal,然后进入启动界面,如果出现下面的界面就表示安装已经成功了。

    图一 启动Docker Quickstart Terminal

      启动完毕后我们就可以进行镜像的拉取和运行了,这里我们使用 docker search oracle 来搜索oralce镜像。 

      A    搜索镜像

    图二 搜索Oracle镜像

      B 创建volume以持久化数据

      在命令行输入 docker volume create exeed-db命令创建名称为exeed-db的volume

      C 创建并运行Oracle数据库

            在命令行中输入:docker run -d --name exeed-db -p 1521:1521 -p 8080:8080 --shm-size=1g --restart=always -e ORACLE_PWD=XXX -v exeed-db:/u01/app/oracle/oradata zerda/oracle-database:11.2.0.2-xe

      这里有几点需要注意的是:

      1 --name exeed-db指定创建的volume .

      2  --shm-size=1g:设置/dev/shm的大小。格式为:。number必须大于0。unit可选,可以是b,k,m或g。如果不指定unit,系统默认使用字节。如果此参数不指定,默认使用64m。

      3  --restart=always  --restart 标志会检查容器的退出代码,并据此来决定是否要重启容器,默认是不会重启。--restart的参数说明  always:无论容器的退出代码是什么,Docker都会自动重启该容器。on-failure:只有当容器的退出代码为非0值的时候才会自动重启。另外,该参数还接受一个可选的重启次数参数,`--restart=on-fialure:5`表示当容器退出代码为非0时,Docker会尝试自动重启该容器,最多5次。(注意:这里如果不限定该重启策略,那么每一次重启电脑后都要手动通过docker start命令来重启当前容器)

      4   ORACLE_PWD用于设置当前Oracle数据库密码。

      5   -v exeed-db:/u01/app/oracle/oradata zerda/oracle-database:11.2.0.2-xe用于指定使用的Oracle镜像如果本地找不到的话那么就会去联网进行下载。

      当上面的命令执行完毕以后,如果出现下面的提示,则表示Oracle已经在当前机器上安装完毕并且没有错误。  

      SQL> Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
      #########################
      DATABASE IS READY TO USE!
      #########################

      D 查看安装镜像的状态

    图三 查看已经正确运行的镜像

      E  使用DataGrip来连接创建的Oracle数据库

    图四 DataGrip连接Oracle数据库

      这里也许对Host有疑问,不应该是localhost,这里其实我们安装的oracle是跑在虚拟机上面的,这里的地址指的是虚拟机的地址,我们可以在命令行中输入 docker-machine ls来查看当前的虚拟机的地址。

    图五 获取当前的Docker Machine 信息

      这里我们使用sys as sysdba来作为登录用户,这里的密码就是执行docker run 运行时创建的密码,然后点击测试就可以连接自己的oracle数据库了。

      F 后续操作

      使用sys as sysdba登录后创建新的用户:AfterSales,这里记住要创建默认的表空间,接着我们就可以给刚才创建的用户AfterSales授予权限了,这样下次我们就可以通过新建的账户来进行数据库操作了。

      -- Oracle 管理用户

      -- 创建用户
      CREATE USER AfterSales IDENTIFIED BY XXX  DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA UNLIMITED ON users;

      -- 赋予权限
      GRANT CONNECT, CREATE TABLE, CREATE TRIGGER, CREATE PROCEDURE, CREATE VIEW, CREATE SEQUENCE, DEBUG CONNECT SESSION TO AfterSales ;

      -- 删除用户
      DROP USER AfterSales CASCADE;

      二  Windows10上面的安装

      Windows10上面的安装和Windows7上面有些差别,具体使用的技术也是完全不同的。

       A   启用Hyper-V

      打开控制面板 - 程序和功能 - 启用或关闭Windows功能,勾选Hyper-V,然后点击确定即可,如图:

    图六 开启Hyper-V

      B 安装Docker

      Docker下载地址请点击这里, 点击如图处即可下载安装包,然后进行安装。

      C 重启机器

      在重启机器后我们可以在任务栏中发现已经运行的Docker,这点和Windows7上面不同,Windows7需要每次重启启动Docker Quickstart Terminal,Windows10则不需要。  

    图七 Windows10中Docker任务栏图标

      另外后续的过程和Windows7中完全一样,只不过Windows10中Host不再是虚拟机的地址了,而是直接使用localhost便可以进行登录了。

      最后附上Oracle官方给出的在Docker上面安装Oracle的文档,请点击这里。 

  • 相关阅读:
    LeetCode 566 重塑矩阵
    LeetCode 283 移动零
    C++Template(类模板二)
    Qt之简单绘图实现
    QT控件之QSlider
    Redis
    布局总结三: icon图标+标题上下两排排列
    vue中在data中引入图片的路径方法
    布局总结二:宽高比固定比例---移动端
    在vue中使用vue-awesome-swiper插件
  • 原文地址:https://www.cnblogs.com/seekdream/p/10643544.html
Copyright © 2011-2022 走看看