当前位置:首页 > 数据库 > 正文内容

docker安装oracle, 准备工作

admin1个月前 (12-13)数据库15

安装Oracle数据库到Docker容器中是一个相对复杂的过程,因为Oracle数据库本身对硬件和内存有较高的要求。以下是使用Docker安装Oracle数据库的一般步骤:

1. 获取Oracle官方镜像: 你可以从Oracle官方的Docker Hub页面获取Oracle数据库的Docker镜像。由于Oracle软件的版权限制,你可能需要注册Oracle账户并接受相关条款才能下载镜像。

2. 拉取镜像: 使用Docker命令拉取Oracle数据库的镜像。例如,如果你要安装Oracle 19c,可以使用以下命令: ```bash docker pull containerregistry.oracle.com/database/enterprise:19.3.0ee ```

3. 创建容器: 创建一个新的Docker容器来运行Oracle数据库。在创建容器时,你需要设置环境变量、端口映射、卷等。以下是一个基本的示例命令: ```bash docker run d p 1521:1521 p 5500:5500 name oracle19c e ORACLE_PWD=Oracle_123 e ORACLE_SID=ORCLCDB e ORACLE_PDB=ORCLPDB1 v /path/to/oradata:/opt/oracle/oradata containerregistry.oracle.com/database/enterprise:19.3.0ee ``` 在这个示例中: `d` 表示容器在后台运行。 `p` 表示端口映射,将宿主机的端口映射到容器的端口。 `name` 为容器设置一个名称。 `e` 设置环境变量,例如数据库密码、SID和PDB名称。 `v` 将宿主机的目录挂载到容器中,用于存储数据文件。

4. 配置Oracle网络: 如果你的容器需要访问外部网络或被外部访问,你可能需要配置网络。这通常涉及到设置Docker网络和防火墙规则。

5. 访问Oracle数据库: 一旦容器运行,你可以使用SQLPlus或其他数据库客户端工具连接到Oracle数据库。例如,使用SQLPlus连接到数据库: ```bash docker exec it oracle19c /bin/bash sqlplus sys/Oracle_123@localhost:1521/ORCLCDB as sysdba ```

6. 管理容器: 你可以使用Docker命令来管理容器,例如启动、停止、重启、删除容器等。

请注意,上述步骤可能需要根据你的具体需求和环境进行调整。此外,由于Oracle数据库的复杂性,你可能需要参考Oracle官方文档或社区资源来获取更详细的信息。

使用Docker安装Oracle数据库

随着云计算和容器技术的快速发展,Docker已经成为部署和管理应用程序的首选平台之一。Oracle数据库作为企业级数据库的佼佼者,其稳定性和可靠性在业界享有盛誉。本文将详细介绍如何在Docker环境中安装Oracle数据库,并分享一些实用的技巧。

Docker容器技术允许您将应用程序及其依赖项打包到一个可移植的容器中,然后发布到任何支持Docker的平台上,实现“一次编写,到处运行”。而Oracle数据库作为企业级数据库,其强大的功能和稳定性使其在许多企业级应用中扮演着重要角色。本文将指导您如何在Docker中安装Oracle数据库,并介绍一些实用的配置技巧。

准备工作

在开始之前,请确保您的系统满足以下要求:

1. 已安装Docker引擎。

2. 已安装Docker Compose(可选,用于管理多容器应用)。

3. 已安装Oracle客户端(可选,用于连接到Docker容器中的Oracle数据库)。

安装Oracle数据库

1. 拉取Oracle镜像

首先,从Docker Hub或阿里云容器镜像服务拉取Oracle数据库镜像。以下是从阿里云容器镜像服务拉取Oracle 11g镜像的示例:

```bash

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

2. 创建并启动Oracle容器

使用以下命令创建并启动Oracle容器:

```bash

docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle11g

其中,`-d` 参数表示以守护进程模式运行容器,`-p 1521:1521` 将容器的1521端口映射到宿主机的1521端口,`--name oracle11g` 为容器指定名称。

3. 配置Oracle数据库

进入Oracle容器,并切换到root用户:

```bash

docker exec -it oracle11g bash

su root

编辑`/etc/oratab`文件,将`ORACLE_HOME`和`ORACLE_SID`设置为正确的值:

```bash

vi /etc/oratab

例如:

/oracle/oracle/product/11.2.0/dbhome_1:oracle

启动Oracle数据库:

```bash

sqlplus / as sysdba

创建用户和密码:

```sql

CREATE USER user_name IDENTIFIED BY password;

GRANT CONNECT, RESOURCE TO user_name;

退出SQL Plus:

```sql

EXIT

退出root用户:

```bash

exit

4. 连接到Oracle数据库

使用Oracle客户端连接到Docker容器中的Oracle数据库:

```bash

sqlplus user_name/password@localhost:1521/orcl

实用技巧

1. 持久化存储:为了防止容器重启后数据丢失,您可以将Oracle数据库的数据文件和日志文件挂载到宿主机上的目录:

```bash

docker run -d -p 1521:1521 --name oracle11g -v /path/to/oracle/data:/u01/oracle/oradata/orcl -v /path/to/oracle/logs:/u01/oracle/admin/orcl/bdump registry.cn-hangzhou.aliyuncs.com/helowin/oracle11g

2. 配置环境变量:您可以将Oracle环境变量配置到宿主机环境变量中,以便在宿主机上直接使用Oracle客户端:

```bash

export ORACLE_HOME=/u01/oracle/oracle/product/11.2.0/dbhome_1

export ORACLE_SID=orcl

export PATH=$ORACLE_HOME/bin:$PATH

```bash

docker run -d -p 1521:1521 --name oracle11g --cpus=\

扫描二维码推送至手机访问。

版权声明:本文由51Blog发布,如需转载请注明出处。

本文链接:https://www.51blog.vip/?id=1664

分享给朋友:

“docker安装oracle, 准备工作” 的相关文章

MySql 9 in Docker 使用克隆插件建立主从

MySql 9 in Docker 使用克隆插件建立主从

环境阐明 Docker Windows 11 MySql 9.1.0 建立过程 1. 预备主库 预备一个主库的配置文件 master.cnf [mysqld] server-id=1 log-bin=mysql-bin binlog-format=ROW gtid_mode=ON enforce-g...

大数据生命周期,大数据生命周期概述

大数据生命周期,大数据生命周期概述

大数据生命周期是指从数据的产生、收集、存储、处理、分析、共享到消亡的整个过程。这个过程通常包括以下几个阶段:1. 数据产生:数据的产生可以是实时的,也可以是定期的。例如,社交媒体上的帖子、交易记录、传感器数据等都是数据产生的来源。2. 数据收集:数据收集是指将分散的数据源中的数据集中到一个地方,以便...

校园大数据平台,构建智慧教育新生态

校园大数据平台,构建智慧教育新生态

校园大数据平台是一个综合性的信息服务平台,旨在通过大数据技术提升学校的管理效率和教育质量。以下是关于校园大数据平台的一些主要功能和应用: 主要功能1. 平台管理:提供平台运行状态监控、数据标准管理、数据质量管理等功能。2. 数据治理:包括数据采集、存储、清洗、整合等过程,确保数据的准确性和安全性。3...

oracle数据库教程,从安装到基础操作

oracle数据库教程,从安装到基础操作

初学者教程1. Oracle初级入门教程 链接: 内容: 介绍了Oracle数据库的基本概念、安装、创建、查询、修改、删除等操作,以及常用的SQL语句和示例,适合初学者和入门者。2. Oracle数据库初学者入门教程 链接: 内容: 介绍了Oracle数据库的基本概念、...

创建数据库表的sql语句,鍞辨爣涓爣浠悗杩樿兘搴熸爣鍚controllertype

创建数据库表的sql语句,鍞辨爣涓爣浠悗杩樿兘搴熸爣鍚controllertype

当然可以。创建数据库表需要确定表的名称以及它将包含哪些字段。下面是一个基本的SQL语句示例,用于创建一个名为 `users` 的表,其中包含 `id`(主键)、`name`、`email` 和 `age` 字段:```sqlCREATE TABLE users NOT NULL, email...

大数据会查到你银行的钱吗,大数据是否会查到你银行的钱?揭秘隐私与技术的边界

大数据会查到你银行的钱吗,大数据是否会查到你银行的钱?揭秘隐私与技术的边界

大数据本身并不具备查到您银行账户资金的功能。大数据主要是指通过收集、存储、分析和处理大量数据,以发现数据中的模式和趋势。它通常用于商业、科研、政府等多个领域,以支持决策制定和改进服务。大数据技术可以被银行和其他金融机构用于多种目的,包括风险管理和客户分析。例如,银行可能会使用大数据来评估客户的信用状...