Oracle数据库服务器Docker映像文档

Oracle Database Server 12c R2是行业领先的关系数据库服务器。Oracle数据库服务器Docker映像包含在Oracle Linux 7上运行的Oracle数据库服务器12.2.0.1企业版。该映像包含具有一个pdb的多租户配置中的默认数据库。

有关Oracle Database Server 12c R2的更多信息,请参考http://docs.oracle.com/en/database/

登录Docker商店

使用您的凭证登录Docker Store

$ docker login

拉取镜像

$ docker pull store/oracle/database-enterprise:12.2.0.1

启动Oracle数据库服务器实例

启动Oracle数据库服务器实例就像执行一样简单

$ docker run -d -it --name <Oracle-DB> store/oracle/database-enterprise:12.2.0.1

其中<Oracle-DB>,容器的名称12.2.0.1是Docker映像标签。

当该STATUS字段显示(healthy)在的输出中时,数据库服务器就可以使用了docker ps

连接到数据库服务器容器

使用sys用户连接到数据库的默认密码是Oradoc_db1

从容器内部连接

可以通过执行SQL * Plus来连接数据库服务器,

$ docker exec -it <Oracle-DB> bash -c "source /home/oracle/.bashrc; sqlplus /nolog"

从容器外部连接

数据库服务器为通过SQL Net协议的 Oracle客户端连接公开端口1521,为Oracle XML DB公开端口5500。可以使用SQL Plus或任何JDBC客户端从容器外部连接到数据库服务器。

要从容器外部进行连接,请使用-P-p选项as来启动容器,

$ docker run -d -it --name <Oracle-DB> -P store/oracle/database-enterprise:12.2.0.1

选项-P表示端口由Docker分配。通过执行以下操作可以发现映射的端口

$ docker port <Oracle-DB> 1521/tcp -> 0.0.0.0:<mapped host port>

使用它<mapped host port>并在环境变量指向的目录中<ip-address of host>创建。tnsnames.ora``TNS_ADMIN

ORCLCDB=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<ip-address of host>)(PORT=<mapped host port>))
(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCLCDB.localdomain)))
ORCLPDB1=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<ip-address> of host)(PORT=<mapped host port>))
(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCLPDB1.localdomain)))

要使用SQL * Plus从容器外部进行连接,

$ sqlplus sys/Oradoc_db1@ORCLCDB as sysdba

自定义配置

Oracle数据库服务器容器还提供用于启动容器的自定义配置参数。所有自定义配置参数都是可选的。可以在ENV文件(ora.conf)中提供以下自定义配置参数列表。

DB_SID

此参数更改ORACLE_SID数据库的。默认值设置为 ORCLCDB

DB_PDB

此参数修改PDB的名称。默认值设置为ORCLPDB1

DB_MEMORY

此参数设置Oracle服务器的内存要求。此值确定要为SGA和PGA分配的内存量。默认值设置为2GB。

DB_DOMAIN

此参数设置要用于数据库服务器的域。默认值为 localdomain

使用自定义配置参数启动Oracle数据库服务器

$ docker run -d -it --name <Oracle-DB> -P --env-file ora.conf store/oracle/database-enterprise:12.2.0.1

确保的自定义值DB_SIDDB_PDBDB_DOMAIN在tnsnames.ora中更新。

注意事项

该Docker映像具有以下限制。

  1. 支持单个实例数据库。
  2. 不支持Dataguard。
  3. 不支持数据库选项和修补程序。

修改SYS用户默认密码

使用默认密码启动Oracle数据库服务器Oradoc_db1。创建容器时使用的密码不安全,应更改。要更改密码,请使用SQL * Plus连接到数据库并执行

alter user sys identified by <new-password>;

资源需求

容器的最低要求是8GB磁盘空间和2GB内存。

数据库日志

可以使用以下命令查看数据库警报日志

$ docker logs <Oracle-DB>

哪里 是容器的名称

重用现有数据库

该Oracle数据库服务器映像使用Docker数据卷来存储数据文件,重做日志,审核日志,警报日志和跟踪文件。数据量安装在的容器内部/ORCL。要使用docker run命令启动具有数据量的数据库,

$ docker run -d -it --name <Oracle-DB> -v OracleDBData:/ORCL store/oracle/database-enterprise:12.2.0.1

OracleDBData是Docker创建并安装在容器内部的数据卷/ORCL。通过重用OracleDBData数据卷,可以将持久化的数据文件与另一个容器重用。

使用主机系统目录进行数据量

要将主机系统上的目录用于数据量,

$ docker run -d -it --name <Oracle-DB> -v /data/OracleDBData:/ORCL store/oracle/database-enterprise:12.2.0.1

/data/OracleDBData主机系统中的目录在哪里。

Oracle Database Server 12.2.0.1企业版Slim Variant

12.2.0.1-slimEE 的Slim Variant(标签)减少了磁盘空间(4GB)的要求,并加快了容器的启动速度。该映像不支持以下功能-分析,Oracle R,Oracle标签安全性,Oracle文本,Oracle Application Express和Oracle DataVault。使用苗条的变体

$ docker run -d -it --name <Oracle-DB> store/oracle/database-enterprise:12.2.0.1-slim

其中<Oracle-DB>,容器的名称12.2.0.1-slim是Docker映像标签。

docker 部署oracle的更多相关文章

  1. docker部署oracle

    oracle部署 创建oracle用户 [root@stpass-15 ~]# useradd oracle[root@stpass-15 oracle]# cd oracle [root@stpas ...

  2. 利用Docker快速部署Oracle环境

    工作中需要频繁使用Oracle环境,但是每次搭建起来比较消耗时间,本想通过虚拟机模板的方式来快速安装oracle vm,但是每次改ip等环境也很耗时,因此想到docker中有没有已经做好的images ...

  3. 使用Docker安装Oracle数据库

    在很多时候,我们需要在本地安装Oracle数据库,但是整个安装的过程时间非常长而且安装文件大,那么有不有更好的办法来安装Oracle数据库既能减少安装的时间而且还能够快速进行部署呢?答案就是使用Doc ...

  4. docker(部署常见应用):docker部署mysql

    上节回顾:docker(部署常见应用):docker部署nginx docker部署mysql:5.7.26 # 下载镜像 docker pull mysql: # 查看镜像 docker image ...

  5. 笔记14:Docker 部署Python项目

    Docker 部署Python项目 导读: 软件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正确,软件才能运行.如果从一种操作系统里面运行另一种操作系统,通常我们采取 ...

  6. docker 安装 oracle

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

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

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

  8. docker部署-windows环境

    docker部署-windows环境 1.      docker windows 1.1.    安装 win7或者win8需要利用docker toolbox来安装,其是一个docker工具集,w ...

  9. 使用 Docker 部署 LNMP 并搭建 wordpress

    准备 系统版本:CentOS Linux release 7.4.1708 (Core)   内核版本:3.10.0-693.el7.x86_64    IP:192.168.31.43    可访问 ...

随机推荐

  1. 【Mybatis】MyBatis之整合Spring(八)

    创建环境 系统:macOS Java:1.8 软件:eclipse,maven,mysql 创建步骤 本例:创建一个Maven项目(SpringMVC+Spring+Mybatis),页面上展示员工列 ...

  2. [转]Xmind 8 pro 软件破解版

    链接地址:https://blog.csdn.net/qq_16093323/article/details/80967867 作者博客:http://www.carrotchou.blog/

  3. 【QT开发】信号转发器QSignalMapper的使用

    QSignalMapper我们可以将它理解为一个信号翻译器或者说是哥信号转发器.它的主要应用在于可以实现一个函数相应不同按钮的实现功能.比如我们 实现一个计算器的时候,很多不同的按钮都有着差不多的功能 ...

  4. 各种软件安装的URL

    Python爬虫动态抓取的工具 PhantomJS

  5. Appium移动自动化测试-----(四)安装 appium Server

    我们可以在Appium官方网站上下载操作系统相应的Appium版本. https://bitbucket.org/appium/appium.app/downloads/ 当前最新版本为 Appium ...

  6. 线性链条件随机场(CRF)的原理与实现

    基本原理 损失函数 (线性链)CRF通常用于序列标注任务,对于输入序列\(x\)和标签序列\(y\),定义匹配分数: \[ s(x,y) = \sum_{i=0}^l T(y_i, y_{i+1}) ...

  7. Angular 发布订阅模式实现不同组件之间通讯

    在我们项目中要实现不同组件之间通讯,Angular的@Input和@Output只能实现有父子组件的限制,如果是复杂跨组件实现不同组件可以通过共享变量的方式实现,比如这个博客的思路:https://w ...

  8. 【面试题】如何删除 ArrayList 中奇数位置的元素?

    如何删除 ArrayList 中奇数位置的元素? 面试题携程 import java.util.ArrayList; import java.util.Iterator; import java.ut ...

  9. 【MIT 6.824 】分布式系统 课程笔记(二)Lecture 03 : GFS

    Lecture 03 : GFS 一.一致性 1, 弱一致性 可能会读到旧数据 2, 强一致性 读到的数据都是最新的 3, 一致性比较 强一致性对于app的写方便, 但是性能差 弱一致性有良好的性能, ...

  10. 使用pyinstaller编译python文件

    1.安装pyinstaller pip install pyinstaller 2.编译 pyinstaller yourprogram.py 具体操作   1.编译 d: cd python pyi ...