在Docker中安装Oracle数据库超详细步骤

 更新时间:2024年01月22日 10:10:18   作者:不掉头发的阿水  
oracle作为全球最强大的关系型数据库,应用在各行各业,下面这篇文章主要给大家介绍了关于在Docker中安装Oracle数据库的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

前言

在这篇博客中,我们将探讨如何使用 Docker 容器轻松地安装和运行 Oracle 数据库。Docker 提供了一种简便的方式,通过容器化,我们可以在任何支持 Docker 的环境中快速部署 Oracle 数据库。

步骤概览

步骤 1:安装 Docker

首先,确保你的系统上已经安装了 Docker。你可以根据官方文档(Docker 官方文档)提供的指南进行安装。

步骤 2:获取 Oracle 11g Docker 镜像

在 Docker Hub 上,有许多社区提供的 Oracle 数据库镜像。你可以选择合适的版本。例如,我将使用 阿里的oracle-11g 镜像。

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

步骤 3:运行 Oracle 11g 容器(我选择持久化)

使用以下命令运行 Oracle 11g 容器:

默认启动容器的方式

docker run -d -it -p 1521:1521 --name oracle11g --restart=always registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
  • -d: 表示以后台运行的方式启动容器。
  • -it: 分别表示分配一个伪终端(pseudo-TTY)并保持 STDIN 打开。
  • -p 1521:1521: 将主机的端口映射到容器的端口,这里是将主机的 1521 端口映射到容器的 1521 端口,用于访问 Oracle 数据库。
  • --name oracle11g: 为容器指定一个名称,这里是 "oracle11g"。
  • --restart=always: 表示当容器退出时,总是重新启动容器。

持久化启动的方式

docker run -d -it -p 1521:1521 --name oracle --restart=always --mount source=oracle_vol,target=/home/oracle/app/oracle/oradata registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

与默认启动方式相比,增加了一个 --mount 选项,用于将一个卷(volume)挂载到容器的指定路径。

  • --mount source=oracle_vol,target=/home/oracle/app/oracle/oradata: 将名为 "oracle_vol" 的 Docker 卷挂载到容器中的 "/home/oracle/app/oracle/oradata" 路径。这样做的目的是将 Oracle 数据库的数据存储在持久化的卷中,以便数据在容器重启时得以保留。

这两种方式的选择取决于你的需求。如果你希望容器在重启时保留数据,可以选择使用挂载卷的方式,这样可以确保数据持久化。如果你对数据的持久性没有特殊要求,可以使用默认的启动方式。

步骤 4:进入 Oracle 容器

通过以下命令进入 Oracle 容器的 shell: 这个容器名称对应你之前--name的参数

docker exec -it 容器名称 bash

步骤 5:在 Oracle 容器内部进行配置

进入容器后切换到root用户,设置环境变量

有说修改/etc/profile也有说修改/home/oracle/.bashrc 这里选择全都修改

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
#末尾加上

修改完之后source一下

source /etc/profile
source /home/oracle/.bashrc

切换回oracle用户

su - oracle

进入oracle的命令行

sqlplus /nolog

接下来可以做一些修改密码啊 等等的操作 举个例子如下:

CONNECT / AS SYSDBA;
alter user system identified by 新密码;
修改system密码
CREATE USER 用户 IDENTIFIED BY 新密码;
新建用户设置密码
GRANT CREATE SESSION TO 用户;
GRANT CREATE TABLE TO 用户;
ALTER USER 用户 QUOTA UNLIMITED ON USERS;
  • CONNECT / AS SYSDBA;

     以 SYSDBA 角色连接到数据库。 使用 SYSDBA 角色登录,该角色具有最高级别的数据库权限,允许进行系统级别的管理任务。
  • alter user system identified by 密码;

    修改系统用户(system)的登录密码。
  • CREATE USER hhhhh IDENTIFIED BY 密码;

     创建一个新用户 hhhhh,并指定其登录密码。
  • GRANT CREATE SESSION TO hhhhh;

     允许用户 hhhhh连接到数据库。
  • GRANT CREATE TABLE TO hhhhh;

     允许用户 hhhhh在数据库中创建新的表。
  • ALTER USER hhhhh QUOTA UNLIMITED ON USERS;

    设置用户 hhhhh 在表空间 USERS 上的存储配额为无限制,允许用户存储数据。

开启远程连接(修改监听)

exit;
先退出刚才oracle命令行,已退出来的不用管了

cd /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin

在 /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin 目录下,你可能会找到以下一些重要的配置文件:

  • listener.ora: 这个文件包含了 Oracle 数据库监听器的配置信息。你可以在这里指定监听的端口、协议、监听地址等。

  • tnsnames.ora: 这个文件包含了数据库连接的别名和连接信息。你可以在这里定义数据库的连接方式。

  • sqlnet.ora: 这个文件包含了 SQL*Net 的配置信息,定义了 Oracle 客户端与服务器之间的通信参数。

这里目前修改tnsnames.ora和listener.ora,把他们的hosts改为你访问的ip我这测试环境直接全放了0.0.0.0

systemctl restart docker

步骤 6:连接到 Oracle 数据库

最后,我使用nacivat连接(阿里的这个镜像,所有的密码都是统一的 helowin) 如果没修改的话直接用helowin登录就好

这只是一个简要的指南,具体的步骤可能会根据使用的 Oracle Docker 镜像版本而有所不同。在实际操作中,请确保遵循相关文档并保持对 Oracle 数据库许可的合规性。

总结

到此这篇关于在Docker中安装Oracle数据库的文章就介绍到这了,更多相关Docker安装Oracle数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 运行中的docker容器端口映射如何修改详解

    运行中的docker容器端口映射如何修改详解

    这篇文章主要给大家介绍了关于运行中的docker容器端口映射如何修改的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • docker安装redis设置密码并连接的操作

    docker安装redis设置密码并连接的操作

    这篇文章主要介绍了docker安装redis设置密码并连接的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • docker修改容器内存大小的实现方式

    docker修改容器内存大小的实现方式

    我们使用docker时,经常会遇到docker容器使用内存大于docker宿主机内存,导致宿主机奔溃,从而影响其他宿主机上容器的运行,下面这篇文章主要给大家介绍了关于docker修改容器内存大小的相关资料,需要的朋友可以参考下
    2022-09-09
  • 如何下载docker镜像包

    如何下载docker镜像包

    这篇文章主要介绍了如何下载docker镜像包问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • docker搭建CMS点播系统带播放器功能

    docker搭建CMS点播系统带播放器功能

    熟悉docker的童鞋都知道,安装是非常的便利的,也可以在线体验的,今天通过本文给大家介绍docker搭建CMS点播系统带播放器功能,感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • 解决docker run 或者 docker restart 启动镜像就自动退出

    解决docker run 或者 docker restart 启动镜像就自动退出

    这篇文章主要介绍了解决docker run 或者 docker restart 启动镜像就自动退出的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker容器网络更改的实现

    Docker容器网络更改的实现

    本文主要介绍了Docker容器网络更改的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • docker update命令动态更新容器配置

    docker update命令动态更新容器配置

    Docker的docker update命令提供了一种在不停止容器的情况下动态调整其资源配置的能力,从而优化性能或满足特定需求,本文详细介绍了docker update命令的使用方法、常用选项如CPU和内存限制,感兴趣的可以了解一下
    2024-10-10
  • Docker和宿主机之间如何共享文件

    Docker和宿主机之间如何共享文件

    这篇文章主要介绍了Docker和宿主机之间如何共享文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • docker安装fastdfs镜像的一些注意事项

    docker安装fastdfs镜像的一些注意事项

    在安装docker fastdfs镜像时大家需要注意如果是云服务器则需要在云服务器后台的安全组入口方向放开22122、23000以及8888端口,并且在云服务器防火墙配置放开以上三个端口,具体内容详情大家跟随小编一起看看吧
    2021-05-05

最新评论