docker 部署oracle
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_SID,DB_PDB并DB_DOMAIN在tnsnames.ora中更新。
注意事项
该Docker映像具有以下限制。
- 支持单个实例数据库。
- 不支持Dataguard。
- 不支持数据库选项和修补程序。
修改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的更多相关文章
- docker部署oracle
		oracle部署 创建oracle用户 [root@stpass-15 ~]# useradd oracle[root@stpass-15 oracle]# cd oracle [root@stpas ... 
- 利用Docker快速部署Oracle环境
		工作中需要频繁使用Oracle环境,但是每次搭建起来比较消耗时间,本想通过虚拟机模板的方式来快速安装oracle vm,但是每次改ip等环境也很耗时,因此想到docker中有没有已经做好的images ... 
- 使用Docker安装Oracle数据库
		在很多时候,我们需要在本地安装Oracle数据库,但是整个安装的过程时间非常长而且安装文件大,那么有不有更好的办法来安装Oracle数据库既能减少安装的时间而且还能够快速进行部署呢?答案就是使用Doc ... 
- docker(部署常见应用):docker部署mysql
		上节回顾:docker(部署常见应用):docker部署nginx docker部署mysql:5.7.26 # 下载镜像 docker pull mysql: # 查看镜像 docker image ... 
- 笔记14:Docker 部署Python项目
		Docker 部署Python项目 导读: 软件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正确,软件才能运行.如果从一种操作系统里面运行另一种操作系统,通常我们采取 ... 
- docker 安装 oracle
		docker 安装 oracle 部署链接:https://www.linuxidc.com/Linux/2017-03/141760.htm 本次使用docker安装oracle 1.搜索可使用的镜 ... 
- 用 Docker 搭建 ORACLE 数据库开发环境
		用 Docker 搭建 ORACLE 数据库开发环境 需要安装 ORACLE 数据库做开发,直接安装的话因为各类平台的限制,非常复杂,会遇到很多问题. 还好,现在有 Docker 化的部署方式,省去很 ... 
- docker部署-windows环境
		docker部署-windows环境 1. docker windows 1.1. 安装 win7或者win8需要利用docker toolbox来安装,其是一个docker工具集,w ... 
- 使用 Docker 部署 LNMP 并搭建 wordpress
		准备 系统版本:CentOS Linux release 7.4.1708 (Core) 内核版本:3.10.0-693.el7.x86_64 IP:192.168.31.43 可访问 ... 
随机推荐
- ABAP DMEO 通过工单号读取内部对象号
			*&---------------------------------------------------------------------* *& Report YDEMO_013 ... 
- 单独使用MyBatis的简单示例
			单独使用MyBatis的简单示例:mybaties-config.xml:MyBatis配置文件 <?xml version="1.0" encoding="UTF ... 
- array_fill 填充数组内容
			<?php $a = array_fill(, , 'banana'); $b = array_fill(-, , 'pear'); print_r($a); print_r($b) Array ... 
- linux信号量例子
			semaphore.h 提供的是 POSIX 标准定义的 semaphore 接口,而 sys/sem.h 里 提供的是符合 System V 标准的 semaphore接口 (semget, sem ... 
- jqweui  Popup 使用说明
			使用步骤说明: 今天遇到一个问题,无论怎么点击一个图标都不会弹出对应的遮罩层,但是把示列代码拷贝过来又可以正常显示:结果是由于在复制的时候把 # 号弄掉了 错误操作展示: <a href=&qu ... 
- v-for key的作用
			v-for中的key来给每个节点做一个唯一的标识,diff算法就可以正确的识别此节点,找到正确的位置区插入新的节点:key的主要作用是为了高效的更新虚拟dom,另外vue在使用相同标签名元素的过渡切换 ... 
- Java基础教程:多线程杂谈——双重检查锁与Volatile
			Java基础教程:多线程杂谈——双重检查锁与Volatile 双重检查锁 有时候可能需要推迟一些高开销的对象初始化操作,并且只有在使用这些对象时才进行初始化.此时程序员可能会采用延迟初始化.但要正确实 ... 
- 系统调用system call以及strace/dtruss
			计算机系统的各种硬件资源是有限的,在现代多任务操作系统上同时运行的多个进程都需要访问这些资源,进程是不允许直接操作这些资源的,所有对这些资源的访问都必须有操作系统控制.也就是说操作系统是使用这些资源的 ... 
- Django:ORM中ForeignKey外键关系分析
			假设有两张表,Role和User,因为多个用户会对应一个角色,属于多对一关系,所以User中的rolename字段使用ForeignKey,第一个参数为要关联的表Role,第二个参数related_n ... 
- 批处理快速合并多分Excel文件并将指定列的数据去重复
			1.批处理快速合并多个excel文件方法: 新建一个.txt文本文件,就命名为合并.txt吧. 而后开启文件,复制以下代码到文件中: @echo off E: cd xls dir copy *.cs ... 
