Docker安装oracle19c

为什么要做囚徒 2024-08-31 10:37:02 阅读 78

文章目录

Docker安装oracle19c1. 拉取镜像2. 创建目录并赋权3. 构建容器并启动4. 查看日志5. 登录docker容器里面6. 登录sqlplus 创建PDB用户7. 查看show pdbs7. 切换数据库8. 创建用户9. 授权10. 使用navicat连接11. 参考和感谢

Docker安装oracle19c

1. 拉取镜像

<code>docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c

2. 创建目录并赋权

mkdir -p /docker/oracle19c/oradata

chmod 777 /docker/oracle19c/oradata

3. 构建容器并启动

docker run -d -p 1521:1521 \

-p 5502:5500 \

-e ORACLE_SID=ORCLCDB \

-e ORACLE_PDB=ORCLPDB \

-e ORACLE_PWD=oracle \

-e ORACLE_EDITION=standard \

-e ORACLE_CHARACTERSET=AL32UTF8 \

-v /docker/oracle19c/oradata/:/opt/oracle/oradata/ --name oracle_19c\

registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c

docker run: 运行 Docker 容器的命令。

-d: 指定容器在后台运行(detached mode)。

-p 1521:1521: 将容器的 1521 端口映射到主机的 1521 端口,Oracle 数据库监听端口。

-p 5502:5500: 将容器的 5500 端口映射到主机的 5502 端口,用于 Oracle Enterprise Manager Express 访问的端口。

-e ORACLE_SID=ORCLCDB: 设置 Oracle 实例的 SID(System Identifier),这里设置为 ORCLCDB。

-e ORACLE_PDB=ORCLPDB: 设置 Oracle 的 Pluggable Database(PDB)的名称,这里设置为 ORCLPDB。

-e ORACLE_PWD=oracle: 设置 Oracle 系统用户 SYSSYSTEM 的初始密码为 oracle

-e ORACLE_EDITION=standard: 设置 Oracle 的版本为标准版(standard),这影响 Oracle 的功能集。

-e ORACLE_CHARACTERSET=AL32UTF8: 设置 Oracle 数据库的字符集为 AL32UTF8,即 Unicode 字符集。

-v /docker/oracle19c/oradata/:/opt/oracle/oradata/: 将主机上的 /docker/oracle19c/oradata/ 目录挂载到容器内的 /opt/oracle/oradata/ 目录,用于持久化存储数据库文件。

–name oracle_19c: 指定容器的名称为 oracle_19c

registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c: 指定要运行的 Docker 镜像,这里是从阿里云的镜像仓库中拉取并运行名为 oracle:19c 的镜像。

这个命令通过 Docker 在后台运行 Oracle 19c 数据库容器,并配置了数据库实例的 SID、PDB 名称、密码、字符集等参数,同时将数据库数据目录挂载到主机上的指定目录,确保数据持久化。

4. 查看日志

docker logs -ft oracle_19c

安装有点慢,请耐心等待执行完成

5. 登录docker容器里面

<code>docker exec -it oracle_19c /bin/bash

6. 登录sqlplus 创建PDB用户

sqlplus / as sysdba

在 Oracle 数据库中,sqlplus / as sysdba 是一种连接到数据库的方式,其中:

sqlplus 是 Oracle 提供的交互式 SQL 工具,用于与 Oracle 数据库进行交互和执行 SQL 命令。/ as sysdba 是一种特殊的连接方式,其中 / 表示连接时不需要输入用户名,sysdba 是系统管理员角色的一种,具有最高权限,可以执行数据库的管理操作。

因此,当你使用 sqlplus / as sysdba 命令连接到 Oracle 数据库时,你将以系统管理员 (sysdba) 的身份登录,拥有对数据库实例进行各种管理操作的权限。这种连接方式常用于执行数据库的操作和维护,例如创建和修改数据库对象、备份和恢复数据等。需要谨慎使用,以免误操作导致不可逆的损坏。

7. 查看show pdbs

show pdbs

7. 切换数据

<code>alter session set container=ORCLPDB;

8. 创建用户

# create user 用户名 identified by 密码;

create user root identified by root;

9. 授权

grant dba to root;

在 Oracle 数据库中,GRANT DBA TO user; 是一种授权命令,用于赋予指定用户(user)数据库管理员 (DBA) 的权限。具体到你的问题 grant dba to root;,这个命令的含义如下:

GRANT: 这是 Oracle 数据库中用于授权的关键字,用于给予用户特定的权限。DBA: 是一个预定义的角色(Role),代表数据库管理员角色,具有数据库的最高权限。DBA 角色允许用户管理数据库对象、执行系统级别的任务等。TO: 表示授权的目标,即要授予权限的用户或角色。root: 在你的命令中,root 可能指的是操作系统中的 root 用户,但需要注意,在 Oracle 数据库中,通常需要使用数据库用户(例如 SYS 用户)来执行授权操作,而不是操作系统的 root 用户。

10. 使用navicat连接

11. 参考和感谢

docker安装oracle:19c



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。