oracle2c-r2(12.2.0.1) 的镜像

docker- 构建 oracle2c-r2(12.2.0.1) 的镜像

需求

由于公司的数据库需要使用新的oracle版本(12c-r2 -->12.2.0.1),从之前的oracle11g迁移到12c。所以,便有了我们今天的内容。

首先,我们就先来介绍一下如何构建oracle12c的镜像(docker image)。

如果大家有使用的需求而又不是正式的项目,可以直接到docker hub 上面 pull 一个别人家的。在这里附上链接:https://hub.docker.com/r/mritschel/oracle12cr2_base/

PS.这个真的不是广告啊,我本来也是想这么搞得,毕竟不用重复造轮子么。。。无奈是公司的项目需求,不能使用第三方的,所以就只能自己构建吧。。。

准备

准备工作主要分为两部分:

part1

需要下载oracle相关的东东,例如安装文件,dockerfile。这些都可以从oracle 的github 上面找到。https://github.com/oracle/docker-images/tree/master/OracleDatabase

下载完成以后,新建一个目录,我这里是/oracle12c,把dockerfile(其实是一个shell脚本buildDockerImage.sh)放到里面:

然后再在这个目录下创建一个子目录,我这里是/oracle12c/12.2.0.1; 最后再把下载的oracle12c-r2的安装包和从GitHub上面下载的相关文件统统放到里面。类似下图:

Part2

在这里还需要强调一点,由于Oracle12c需要container的空间 大于默认值(10g),因此我们需要为container扩容。请注意:只有 Storage Driver = devicemapper 的文件存储格式才支持扩容。由于我这里环境是centos7,且安装的docker版本是1.13,而且文件存储格式是devicemapper, 所以可以按照下面方法对container进行扩容。。。貌似最新的docker17.03采用的是 “overlay2”的文件存储格式,也许可以省略这一步。

solution1 - 启动docker daemon时设定参数

# dockerd --storage-opt dm.basesize=30G

solution2 - 修改配置文件 "/etc/sysconfig/docker-storage"

# vi /etc/sysconfig/docker-storage

修改参数为:DOCKER_STORAGE_OPTIONS=--storage-opt dm.basesize=30G

到这里,我们的准备工作就完成了。

开始构建

构建工作相对简单,只是需要运行dockerfile即可。由于构建的过程中需要在线下载和安装一些组件,此时需要保证网络畅通。

 

完成构建

完成构建之后,我们可以看到oracle12c-r2的docker image 已经存在于本地:

运行镜像

# docker run -it --name ora12c-r2 -p 1521:1521 -p 5500:5500 -e ORACLE_SID=xxx -e ORACLE_PDB=xxx -e ORACLE_PWD=xxx -e ORACLE_CHARACTERSET=AL32UTF8 -v /DATA/oracle_12c/sharedData:/opt/oracle/oradata oracle/database:12.2.0.1-se2

这里贴出命令行参数:

Parameters:
   --name:        The name of the container (default: auto generated)
   -p:            The port mapping of the host port to the container port.
                  Two ports are exposed: 1521 (Oracle Listener), 5500 (OEM Express)
   -e ORACLE_SID: The Oracle Database SID that should be used (default: ORCLCDB)
   -e ORACLE_PDB: The Oracle Database PDB name that should be used (default: ORCLPDB1)
   -e ORACLE_PWD: The Oracle Database SYS, SYSTEM and PDB_ADMIN password (default: auto generated)
   -e ORACLE_CHARACTERSET:
                  The character set to use when creating the database (default: AL32UTF8)
   -v             The data volume to use for the database.
                  Has to be owned by the Unix user "oracle" or set appropriately.
                  If omitted the database will not be persisted over container recreation.

第一次运行容器是,会根据我们的指令进行初始化操作,例如安装oracle instance, 启动服务等等。。。直到我们看到

#########################
DATABASE IS READY TO USE!########################

我们的oracle12c-r2数据库就创建完成。

进入运行的container,连接数据库:

# docker exec -it ora12c-r2 /bin/bash
# sqlplus sys/<your password>@//localhost:1521/<your SID> as sysdba

OK, 我们的工作已经完成了,现在我们就可以在本地使用oracle12c-r2啦 :)  最后,感谢大家的观看,欢迎留言交流。。。

参考资料:

https://blogs.oracle.com/developer/creating-an-oracle-database-docker-image

http://www.projectatomic.io/blog/2016/03/daemon_option_basedevicesize/

https://bobcares.com/blog/docker-container-size/

时间: 2024-10-11 22:51:10

oracle2c-r2(12.2.0.1) 的镜像的相关文章

在Windows 2012 R2 64bit下安装 12.1.0.2 32bit Oracle Database Client 时,client 在没有任何错误信息情况下crash掉

参考自: 12.1.0.2 32bit Oracle Database Client Installation on Windows 2012 R2 64bit Crashes without Any Error Messages (Doc ID 1962665.1) 适用于: Oracle Database - Enterprise Edition - Version 12.1.0.2 and later Information in this document applies to any

Oracle Linux 6.3下安装Oracle 11g R2(11.2.0.3)

本文主要描述了在Oracle Linux 6.3下安装Oracle 11gR2(11.2.0.3).从Oracle 11g开始,Oracle官方网站不再提供其Patch的下载链接,需要使用Meatlink账户才可以进行下载.童鞋们不要着急,没有Metalink账户的也可以自己百度一下,网上有很多下载链接,迅雷就可以搞定了.Oracle 11.2.0.3整合为7个zip压缩包,如果仅仅是安装Oracle Database,下载1至2.zip包即可.下面是其安装步骤. 一.准备安装环境1.安装rpm

Windows 2008 server r2 集成usb3.0驱动

在生产工作中发现,现在大部分新生产的机器主板都将usb的接口更换成usb3.0,而作为前置机的设备安装的windows 2008 server r2系统本身并没有usb3.0驱动,导致安装启动U盘不能正常安装操作系统,现将Windows 2008 server r2 集成usb3.0的方法分享给大家.一 · 工具/镜像 1.Windows server 2008 X64 With SP2 简体中文版安装镜像 2.UltraISO软碟通软件(注册码)用于制作镜像 3.Windows usb ins

Atitit jquery &#160;1.4--v1.11 &#160;v1.12 &#160;v2.0 &#160;3.0 的新特性

Atitit jquery  1.4--v1.11  v1.12  v2.0  3.0 的新特性 1.1. Jquery1.12  jQuery 2.2 和 1.12 新版本发布 - OPEN资讯.html   2016.11 1.1.1. jQuery.htmlPrefilter()1 1.2. 2016.7  jq3.0 新特性1 1.3. Jq3.1新特性 jQuery 3.1.1 发布了,该版本包括一些 BUG 修复和改进.3 1.1. Jquery1.12  jQuery 2.2 和

Oracle 12c RAC安装PSU(12.1.0.2.161018)

一.准备工作 1,数据库环境 操作系统版本   : Redhat 6.8 x64   数据库版本     : Oracle 12.1.0.2 x64 RAC    Grid           : 12.1.0.2     Oracle database: 12.1.0.2 2,准备内容 GI PSU : p24412235_121020_Linux-x86-64.zip   OPatch : p6880880_122010_Linux-x86-64.zip    DB PSU : p24006

11.2.0.4手动升级到12.1.0.2

1.手动升级前工作(1).备份数据库(2).运行pre-upgrade information tool(如果是使用DBUA升级,会自动执行该脚本工具) $ cd /u01/app/oracle12/product/12.1.0/dbhome_1/rdbms/admin $ sqlplus '/as sysdba' SQL*Plus: Release 11.2.0.4.0 Production on Thu Aug 6 08:26:57 2015 Copyright (c) 1982, 2013

详解Server 2012 R2部署WSUS4.0之四

在前面的文章中,我们介绍了如何进行WSUS4.0的部署以及如何利用WSUS进行补丁分发.但是现在我们要考虑这样一种情况,在一个大型企业中,一台WSUS服务器是满足不了所有用户的更新需求的,这时我们就需要进行WSUS服务器的链式部署,即分别设置WSUS的上游服务器和下游服务器.所谓上游服务器就是从微软下载更新,而下游服务器则从上游服务器下载更新.我们在最开始部署的第一台WSUS是roleserver,所以在此案例中,他就是我们的上游服务器.在下面的服务器名中填写roleserver.contoso

Windows下安装Oracle Database 12c Release 1(12.1.0.2.0) - Enterprise Edition

Windows下安装Oracle Database 12c Release 1(12.1.0.2.0) 最近因需要在Oracle 数据库上建立ODI的资料档案库,需要安装Oracle Database 12c Release 1(12.1.0.2.0) - Enterprise Edition . 软件下载 http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html?ssSourceSite

探索Oracle之数据库升级十 12c(12.1.0.2)CPU 19774304

探索Oracle之数据库升级十 12c(12.1.0.2)CPU 19774304 一.   补丁描述 参考metalink doc: (Doc ID 19774304.8) Bug19774304 - 12.1.0.2 Bundle Patch 2 for Engineered Systems and DB In-Memory (Nov2014) (Doc ID 19774304.8) 二.   补丁包含 19649591 DATABASE BUNDLE PATCH 12.1.0.2.2 (O