在很多时候,我们需要在本地安装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的文档,请点击这里

使用Docker安装Oracle数据库的更多相关文章

  1. mac系统用docker安装oracle数据库

    oracle没有mac可用的版本,最好的办法是通过docker安装 一.下载docker 1.通过brew下载 brew cask install docker 2.手动下载(需要vpn) https ...

  2. docker安装oracle

    最近工作上面遇到一个性能相关的问题,大体描述一下: 批量任务执行的过程中导致数据库sql执行时间过长,查看之后是由于批量任务占满数据库连接池导致的,至于为什么批量任务会不受系统控制导致连接池占满就不说 ...

  3. docker 安装 oracle

    docker 安装 oracle 部署链接:https://www.linuxidc.com/Linux/2017-03/141760.htm 本次使用docker安装oracle 1.搜索可使用的镜 ...

  4. 用 Docker 搭建 ORACLE 数据库开发环境

    用 Docker 搭建 ORACLE 数据库开发环境 需要安装 ORACLE 数据库做开发,直接安装的话因为各类平台的限制,非常复杂,会遇到很多问题. 还好,现在有 Docker 化的部署方式,省去很 ...

  5. Docker | Mac 通过 Docker 安装 Oracle

    Docker | Mac 通过 Docker 安装 Oracle 前言: Oracle 10g 以后就不支持 Mac 版本,因此 Mac 用户需要安装的话可以通过虚拟机或者 Docker 1.在 do ...

  6. CentOS安装Oracle数据库详细介绍及常见问题汇总

    一.安装前准备 1.软件硬件要求 操作系统:CentOS 6.4(32bit)Oracle数据库版本:Oracle 10g(10201_database_linux32.zip)最小内存:1G(检查命 ...

  7. 《Oracle Database 12c DBA指南》第二章 - 安装Oracle和创建数据库(2.1 安装Oracle数据库软件和创建数据库概览)

    当前关于12c的中文资料比较少,本人将关于DBA的一部分官方文档翻译为中文,很多地方为了帮助中国网友看懂文章,没有按照原文句式翻译,翻译不足之处难免,望多多指正. 2.1 安装Oracle数据库软件和 ...

  8. 第一安装oracle数据库后,需要创建一个用户,给用户解锁并赋予权限

    1.第一次安装oracle数据库应该做的事情. 注: 1.安装oracle后需要创建用户,连接数据库,(注意数据库名,还有好像后面的 ":"也有影响) 2.解锁用户, 3.授予新登 ...

  9. Docker学习实践 - Docker安装MySql数据库

    Docker安装MySQL数据库 1.Ubuntu安装MySQL安装 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libnc ...

随机推荐

  1. 微信公众号开发C#系列-1、微信公众平台注册

    微信公众号简介 微信公众号分为服务号.订阅号.企业号,订阅号可以个人申请,服务号和企业号要有企业资质才可以. 我们所说的微信公众号开发主要指的是公众号的账号类型,公众号的账号类型分为订阅号.服务号.企 ...

  2. Spring Cloud Alibaba 新版本发布:众多期待内容整合打包加入!

    在Nacos 1.0.0 Release之后,Spring Cloud Alibaba也终于发布了最新的版本.该版本距离上一次发布,过去了整整4个月!下面就随我一起看看,这个大家期待已久的版本都有哪些 ...

  3. JavaScript小记二则:接上一节:用.net写Textbox控件关于数字的判断的另一则方法

    方法二.通过写JS进行判断控制输入的只能为数字,源码如下: <!DOCTYPE html> <html> <body> <h1></h1> ...

  4. C#知识拾遗

    参数验证方式 1.    一般方法 1.1 手动验证 最为普遍常见,略. 1.2 使用扩展方法验证 在C#3.0 中,引入了扩展方法,可以以一种更优雅的方式来进行参数验证,如: //参数辅助类 pub ...

  5. 69道Spring面试题和答案,简单明了无套路

    目录 Spring 概述 依赖注入 Spring beans Spring注解 Spring数据访问 Spring面向切面编程(AOP) Spring MVC Spring 概述 1. 什么是spri ...

  6. 迭代器模式 Iterator 行为型 设计模式(二十)

    迭代器模式(Iterator)   走遍天下,世界那么大,我想去看看   在计算机中,Iterator意为迭代器,迭代有重复的含义,在程序中,更有“遍历”的含义 如果给定一个数组,我们可以通过for循 ...

  7. vue中v-text / v-html

    vue中v-text / v-html使用 <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  8. Spring笔记

    Spring概念 Spring是一个开源的轻量级的框架 Spring核心主要两部分 (1) Aop面向切面编程,扩展功能不是修改源代码实现 (2) Ioc控制反转, 比如说有一个类,在类里面有方法(不 ...

  9. android WebView技术笔记(存储技术)

    作为刚刚开始工作的新手程序猿,各种知识还不算熟练,所以将学习到的知识记录一下以免以后忘记. WebView加载h5的知识现在可以说非常的常用,通过加载h5的网页可以在不更新app的情况下来更新app的 ...

  10. 安卓投屏助手(B1358)之辅助调试

    Android远程桌面助手的中文版——安卓投屏助手正式上线.安卓投屏和远程控制的软件其实已经非常多了,如Vysor.Total Control.Mobizen.ApowerMirror.TeamVie ...