文章目录
Docker安装oracle19c
1. 拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
2. 创建目录并赋权
mkdir-p /docker/oracle19c/oradata
chmod777 /docker/oracle19c/oradata
3. 构建容器并启动
docker run -d-p1521:1521 \-p5502:5500 \-eORACLE_SID=ORCLCDB \-eORACLE_PDB=ORCLPDB \-eORACLE_PWD=oracle \-eORACLE_EDITION=standard \-eORACLE_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 系统用户
SYS
和SYSTEM
的初始密码为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容器里面
dockerexec-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 setcontainer=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
版权归原作者 为什么要做囚徒 所有, 如有侵权,请联系我们删除。