在 Docker 中安装 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

docker下载oracle,SQL,Docker,数据库,docker,oracle步骤 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用户,设置环境变量

docker下载oracle,SQL,Docker,数据库,docker,oracle

有说修改/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
#末尾加上

docker下载oracle,SQL,Docker,数据库,docker,oracle

修改完之后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;
  1. CONNECT / AS SYSDBA;

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

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

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

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

     允许用户 hhhhh在数据库中创建新的表。
  6. 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 目录下,你可能会找到以下一些重要的配置文件:

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

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

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

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

docker下载oracle,SQL,Docker,数据库,docker,oracle

docker下载oracle,SQL,Docker,数据库,docker,oracle

docker下载oracle,SQL,Docker,数据库,docker,oracle

systemctl restart docker

步骤 6:连接到 Oracle 数据库

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

docker下载oracle,SQL,Docker,数据库,docker,oracle

这只是一个简要的指南,具体的步骤可能会根据使用的 Oracle Docker 镜像版本而有所不同。在实际操作中,请确保遵循相关文档并保持对 Oracle 数据库许可的合规性。文章来源地址https://www.toymoban.com/news/detail-765791.html

到了这里,关于在 Docker 中安装 Oracle 数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SQL Developer的下载、安装和连接Oracle数据库

    SQL Developer–Oracle常用管理工具。 如需SQL Developer安装包可以下方留言。 该软件不需要安装,下载解压后 双击sqldeveloper.exe即可运行 。 第一次运行需要输入JDK路径。 【若没下载或不清楚是否已经下载JDK,指路下载、安装JDK并检测JDK是否安装成功】 SQL Developer是图形界面查询工

    2024年02月07日
    浏览(66)
  • 【Docker】Docker中安装MySQL数据库

    点击跳转:Docker安装MySQL、Redis、RabbitMQ、Elasticsearch、Nacos等常见服务全套(质量有保证,内容详情) 虽然 docker 安装 mysql 不是一个很好的方案,但是为了个人使用方便,使用 docker 安装 mysql 还是没什么问题的。 且安装时把主机文件挂载到容器上,保证了 mysql 的持久化,对开

    2024年02月14日
    浏览(43)
  • Docker中安装Oracle-12c

    MySQL和Oracle是开发中常用到的两个 关系型数据库管理系统 ,接上一期内容,这一期在Docker中完成 oracle-12c 的安装和配置。 1、拉取oracle-12c镜像 启动 Docker Desktop 后在cmd窗口中执行 docker search oracle 命令,搜索Oracle相关的镜像,可以看到搜索结果中的 truevoly/oracle-12c 不指定版本则

    2024年02月12日
    浏览(32)
  • Docker中安装MySQL数据库(实测)

    本案例重点介绍docker安装mysql过程,docker原理及基本案例不做阐述。 centos中安装docker注意点:docker要求centos系统的内核版本高于3.10 案例中使用centos7.x作为测试版本。 推荐使用官网搜索,因为信息阅读更加的方便 官网地址:Docker 【官网地址如下】 【在搜索框中输入mysql关键

    2024年02月10日
    浏览(43)
  • 在docker中安装使用达梦数据库

    关于在docker中安装达梦数据库,达梦官方网站其实是有提供安装使用方法的,但可能还是有朋友不会,这里将在原文基础上简单扩充下。 注意:docker容器中,数据库安装后没有创建服务的脚本,只有bin、bin2、conf、data、log五个目录 软硬件 版本 终端 X86-64 架构 Docker 2022 年 8

    2024年02月08日
    浏览(69)
  • 【Oracle】收集Oracle数据库内存相关的信息

    【声明】文章仅供学习交流,观点代表个人,与任何公司无关。 编辑|SQL和数据库技术(ID:SQLplusDB) Oracle数据库包含多个内存区域,每个区域都包含多个子组件。 Oracle Database Memory Structures 根据具体问题的需要,可以通过如下命令收集Oracle数据库内存相关的信息。 例: 注:SET

    2024年01月21日
    浏览(71)
  • Oracle数据库面试题 精选 Oracle 面试题

    1.解释冷备份和热备份的不同点以及各自的优点 冷备份 发生在数据库已经正常关闭的情况下,将关键性文件拷贝到另外位置的一种说法。适用于所有模式的数据库。 优点 1. 是非常快速的备份方法(只需拷贝文件) 2. 容易归档(简单拷贝即可) 3. 容易恢复到某个时间点上(只

    2024年02月05日
    浏览(104)
  • 【Oracle】使用 SQL Developer 连接 Oracle 数据库

    SQL Developer 是 Oracle 官方推出的一款免费的数据库开发工具,它提供了丰富的数据库开发功能,其中包括连接 Oracle 数据库的功能。 在本文中,我们将从多个方面详细阐述如何使用 SQL Developer 连接 Oracle 数据库。 在连接 Oracle 数据库前,需要需要做一些准备工作,包括安装 SQ

    2024年02月06日
    浏览(70)
  • Oracle数据库

    ①层次型数据库 ②网状型数据库 ③关系型数据库(主要介绍) E-R图:属性(椭圆形),实体(矩形),联系(菱形-一对一、一对多、多对多) 注:有的联系也有属性 关系型数据库的设计范式: 第一范式(1NF):属性不可再分,字段保证原子性 第二范式(2NF):在满足1

    2024年02月08日
    浏览(59)
  • Oracle 开发篇+Java通过HiKariCP访问Oracle数据库

    标签:HikariCP、数据库连接池、JDBC连接池、 释义:HikariCP 是一个高性能的 JDBC 连接池组件,号称性能最好的后起之秀,是一个基于BoneCP做了不少的改进和优化的高性能JDBC连接池。 ★ Java代码 ※ 如果您觉得文章写的还不错, 别忘了在文末给作者点个赞哦 ~

    2024年02月13日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包