Docker如何安装Oracle 19c

 更新时间:2023年12月16日 09:36:23   作者:Expect-乐  
这篇文章主要介绍了Docker如何安装Oracle 19c问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

安装Oracle 19c

有时候为了试验,需要安装Oracle新版本数据库,由于安装比较繁琐耗时,所以可通过docker快速安装部署。

说明

有两种方式安装:

1.通过官方dockerfile自己编译镜像安装

2.通过已编译好的镜像安装(已上传到hub.docker.com仓库中)

地址:docker pull zqldocker/oracle:3

下载官方oracle的docker镜像

[root@docker LEI]# git clone https://github.com/oracle/docker-images.git
Cloning into 'docker-images'...
remote: Enumerating objects: 77, done.
remote: Counting objects: 100% (77/77), done.
remote: Compressing objects: 100% (52/52), done.
remote: Total 9878 (delta 25), reused 55 (delta 23), pack-reused 9801
Receiving objects: 100% (9878/9878), 10.20 MiB | 2.47 MiB/s, done.
Resolving deltas: 100% (5686/5686), done.
[root@docker LEI]# cd /docker-images/OracleDatabase/SingleInstance/dockerfiles/
[root@docker dockerfiles]# ll
总用量 24
drwxr-xr-x. 2 1101 oinstall  126 12月 24 04:12 11.2.0.2
drwxr-xr-x. 2 1101 oinstall 4096 12月 24 04:12 12.1.0.2
drwxr-xr-x. 2 1101 oinstall 4096 12月 24 04:12 12.2.0.1
drwxr-xr-x. 2 1101 oinstall 4096 12月 24 04:12 18.3.0
drwxr-xr-x. 2 1101 oinstall  159 12月 24 04:12 18.4.0
drwxr-xr-x. 2 1101 oinstall 4096 1月   7 17:36 19.3.0
-rwxr-xr-x. 1 1101 oinstall 5103 12月 24 04:12 buildDockerImage.sh

目前支持以上几个版本的docker安装。

开始安装

1. 下载官方的dockerfile

[root@docker LEI]# git clone https://github.com/oracle/docker-images.git
Cloning into 'docker-images'...
remote: Enumerating objects: 77, done.
remote: Counting objects: 100% (77/77), done.
remote: Compressing objects: 100% (52/52), done.
remote: Total 9878 (delta 25), reused 55 (delta 23), pack-reused 9801
Receiving objects: 100% (9878/9878), 10.20 MiB | 2.47 MiB/s, done.
Resolving deltas: 100% (5686/5686), done.
[root@docker LEI]# cd /docker-images/OracleDatabase/SingleInstance/dockerfiles/
[root@docker dockerfiles]# ll
总用量 24
drwxr-xr-x. 2 1101 oinstall  126 12月 24 04:12 11.2.0.2
drwxr-xr-x. 2 1101 oinstall 4096 12月 24 04:12 12.1.0.2
drwxr-xr-x. 2 1101 oinstall 4096 12月 24 04:12 12.2.0.1
drwxr-xr-x. 2 1101 oinstall 4096 12月 24 04:12 18.3.0
drwxr-xr-x. 2 1101 oinstall  159 12月 24 04:12 18.4.0
drwxr-xr-x. 2 1101 oinstall 4096 1月   7 17:36 19.3.0
-rwxr-xr-x. 1 1101 oinstall 5103 12月 24 04:12 buildDockerImage.sh      ---制作镜像

我们看到是存在19.3.0的dockerfile的,同时检查其安装的安装包文件名:

[root@docker dockerfiles]# cd 19.3.0/
[root@docker 19.3.0]# cat Dockerfile|grep INSTALL_FILE_1
    INSTALL_FILE_1="LINUX.X64_193000_db_home.zip" \             --可以看到Oracle的安装介质文件名
COPY --chown=oracle:dba $INSTALL_FILE_1 $INSTALL_RSP $INSTALL_DB_BINARIES_FILE $INSTALL_DIR/

2. 将安装包拷贝到该目录下

运行开始安装:

需要提前下载Oracle安装介质,文件名默认是不需要更改的,应该是LINUX.X64_193000_db_home.zip,然后将其复制到对应版本的目录下即可。

[root@docker 19.3.0]# ll
总用量 2988068
-rwxr-xr-x. 1 1101 oinstall       1050 12月 24 04:12 checkDBStatus.sh
-rwxr-xr-x. 1 1101 oinstall        905 12月 24 04:12 checkSpace.sh
-rw-r--r--. 1 1101 oinstall         63 12月 24 04:12 Checksum.ee
-rw-r--r--. 1 1101 oinstall         63 12月 24 04:12 Checksum.se2
-rwxr-xr-x. 1 1101 oinstall       3088 12月 24 04:12 createDB.sh
-rw-r--r--. 1 1101 oinstall       9204 12月 24 04:12 dbca.rsp.tmpl
-rw-r--r--. 1 1101 oinstall       6878 12月 24 04:12 db_inst.rsp
-rw-r--r--. 1 1101 oinstall       3357 12月 24 04:12 Dockerfile
-rwxr-xr-x. 1 1101 oinstall       2526 12月 24 04:12 installDBBinaries.sh
-rw-r--r--. 1 1101 oinstall 3059705302 1月   2 19:13 LINUX.X64_193000_db_home.zip         --安装介质
-rwxr-xr-x. 1 1101 oinstall       6526 12月 24 04:12 runOracle.sh
-rwxr-xr-x. 1 1101 oinstall       1015 12月 24 04:12 runUserScripts.sh
-rwxr-xr-x. 1 1101 oinstall        758 12月 24 04:12 setPassword.sh
-rwxr-xr-x. 1 1101 oinstall        932 12月 24 04:12 setupLinuxEnv.sh
-rwxr-xr-x. 1 1101 oinstall        678 12月 24 04:12 startDB.sh

[root@docker dockerfiles]# ./buildDockerImage.sh -v 19.3.0 -e 

-e表示企业版

Successfully built 701b50f5832a
Successfully tagged oracle/database:19.3.0-ee


  Oracle Database Docker Image for 'ee' version 19.3.0 is ready to be extended: 
    
    --> oracle/database:19.3.0-ee

  Build completed in 2624 seconds.

当出现上面的提示,就表示镜像制作完成了,剩下就是利用该镜像启动容器即可。

3. 启动容器:安装数据库

注意:oracle 企业版的docker run的命令格式如下(XE版的都有所区别):

[root@docker dockerfiles]# docker run --name oracle-19c \
-p 1521:1521 -p 5500:5500 \
-e ORACLE_SID=lei \
-e ORACLE_PDB=leipdb \
-e ORACLE_PWD=Oracle \
-v /oracle/oradata:/opt/oracle/oradata \
oracle/database:19.3.0-ee

注意:/oracle/oradata目录权限一定要正确,在容器中oracle用户的uid是54321,所以要保证容器内的oracle用户有权限读写该目录。

如创建oracle用户且uid是54321:

groupadd -g 1000 oinstall 
groupadd -g 1300 dba
groupadd -g 1301 oper 
useradd -u 54321 -g oinstall -G dba,oper -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle 
echo "oracle" | passwd --stdin oracle

chown oracle:oinstall /oracle/oradata

注:如果"DATABASE IS READY TO USE!"提示信息,表示数据库已成功安装了。

登陆主机或数据库进行操作:

[root@docker dockerfiles]# docker exec -it oracle-19c /bin/bash
[oracle@6a5cd3f9fb6c dbs]$ export ORACLE_SID=LEI
[oracle@6a5cd3f9fb6c dbs]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Wed Jan 8 02:00:16 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> show pdbs;

    CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
	 2 PDB$SEED			  READ ONLY  NO
	 3 LEIPDB			  READ WRITE NO
SQL> 

至此就完成了docker安装Oracle 19c!对于测试、试验非常方便~

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • CentOS 7.x docker使用overlay2存储方式

    CentOS 7.x docker使用overlay2存储方式

    这篇文章主要介绍了CentOS 7.x docker使用overlay2存储方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 详解如何基于Docker镜像逆向生成Dockerfile

    详解如何基于Docker镜像逆向生成Dockerfile

    这篇博客文章我们将通过使用一些开源工具,带领您逐步解读 Docker 镜像并转换为 Dockerfile 的过程,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • docker的overlay2中存的都是什么及如何清理/var/lib/docker/overlay2

    docker的overlay2中存的都是什么及如何清理/var/lib/docker/overlay2

    docke roverlay2是Docker中的存储驱动之一,用于管理镜像和容器层的数据,这篇文章主要给大家介绍了关于docker的overlay2中存的都是什么及如何清理/var/lib/docker/overlay2的相关资料,需要的朋友可以参考下
    2024-04-04
  • Docker配置代理的详细步骤记录

    Docker配置代理的详细步骤记录

    docker是一个流行的容器化平台,它让应用程序可以在操作系统层面上隔离运行,从而提供了更高的可移植性和可靠性,这篇文章主要给大家介绍了关于Docker配置代理的详细步骤,需要的朋友可以参考下
    2024-08-08
  • 使用Docker部署Angular项目的方法步骤

    使用Docker部署Angular项目的方法步骤

    这篇文章主要介绍了使用Docker部署Angular项目的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Docker环境搭建的简单方法

    Docker环境搭建的简单方法

    这篇文章主要给大家介绍了关于Docker环境搭建的简单方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • docker 安装TDengine 时序数据库的技术指南

    docker 安装TDengine 时序数据库的技术指南

    TDengine是一个高性能、分布式a的时序数据库,专为物联网(loT)和大数据分析日设计,下面给大家分享docker 安装TDengine 时序数据库的技术指南,感兴趣的朋友一起看看吧
    2025-04-04
  • 分享8个基本的Docker容器管理命令

    分享8个基本的Docker容器管理命令

    本文给大家分享8个基本的Docker容器管理命令,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-06-06
  • Docker 环境配置以及问题解决方案

    Docker 环境配置以及问题解决方案

    这篇文章主要介绍了Docker 环境配置以及问题解决方案的相关资料,需要的朋友可以参考下
    2022-11-11
  • 三分钟完成 ubuntu16.04初始化,Java,maven,docker环境的部署问题

    三分钟完成 ubuntu16.04初始化,Java,maven,docker环境的部署问题

    这篇文章主要介绍了三分钟完成 ubuntu16.04初始化,Java,maven,docker环境的部署问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-11-11

最新评论