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_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映像标签。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 人工智能_2_特征处理.py

    Dean0731
  • Bootstarp

    <link href="assets/plugins/bootstrap/css/bootstrap.min.css" type="text/css" rel...

    Dean0731
  • npm

    Dean0731
  • 网络工程师从入门到精通-通俗易懂系列 | PPP协议+PPPoE看完后我忍不住敲了几波实验!

    · PPP可以用于多种类型的物理介质上,包括串口线、电话线、光纤(例如SDH),也用于Internet接入。

    网络技术联盟站
  • 腾讯云GAME-TECH沙龙干货回顾:三七互娱游戏全球化运营心得分享

    在红海时代来临的游戏行业,“全球化”已成为近年来的TOP热点。 游戏全球化运营,对节点分布、网络稳定、网络加速、安全防护等云端基础能力提出了很高要求。作为国...

    腾讯游戏云
  • 盗版破解严重,游戏开发公司在混乱中不断寻找新突破口

    大家都知道,国内的游戏版权审查制度一直都很严格,因为审查才让一些不良游戏开发公司盗版破解。一款游戏开发创作从立案,到研发最后上市,这中间要耗费巨大的人力和财力!...

    西安弈聪软件公司
  • 使用shell对文件重命名

    需要把上面2018年度下面的每个子目录的文件重命名,命名规则是就是改为1.jpg到n.jpg

    咪啪咪啪
  • Linux 软硬链接

    inode是一组描述文件的数据,包括文件类型,权限,以及最重要的一点文件数据所在的数据池,inode在inode表中以数字形式表示。

    Yif
  • 小技巧|在GitHub中查看分支差别

    在GitHub上,直接修改URL就可以让用户以多种形式查看差别。这里我以Ruby on rails的仓库为例,给各位介绍直接修改URL的一些技巧。

    Dunizb
  • 优化IPv6业务可用性全过程

    导语| 截止到2020年5月,中国IPv6活跃用户已经高达2.83亿,云服务平台中完成IPv6改造的云产品占比超过64%。越来越多的用户会使用IPv6的CLB(...

    持之以恒

扫码关注云+社区

领取腾讯云代金券