Docker安装oracle19c

Docker安装oracle19c

1. 拉取镜像

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4. 查看日志

docker logs -ft oracle_19c

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

5. 登录docker容器里面

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. 切换数据库

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值