Docker安装oracle19c

news2024/12/25 23:27:39

文章目录

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1953337.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQLite3(3):Qt中使用SQLite3

目录 一、前言 二、Qt相关类 2.1 QSqlDatabase 2.2 QSqlQuery 2.3 QSqlQueryModel 三、Qt基本应用实现 3.1 mainwindow.h 3.2 mainwindow.cpp 3.3 应用界面 四、总结 一、前言 本文进行在Qt中实现SQLite3的基本功能实现演示。 在Qt中不论我们连接的何种类型的关系型…

尝鲜免费文生视频!【智谱清影】

🚀🚀震撼发布!你还在为制作短视频头疼吗?耗时太长?技术门槛高?别怕,AI生成视频神器——清影(Ying)来啦!只需30秒,就能get到一段6秒的炫酷视频&…

vue2实现el-tab的内容框右击关闭除了首页的其他所有页面

效果图 <!-- 右键功能 --><div v-show"contextMenuVisible"><ul :style"{left:menuLeft px,top:menuToppx}" class"contextmenu"><li><el-button type"text" click"closeAll" size"mini&qu…

分类预测 | Matlab实现CNN-LSSVM多特征故障诊断/分类预测

分类预测 | Matlab实现CNN-LSSVM多特征故障诊断/分类预测 目录 分类预测 | Matlab实现CNN-LSSVM多特征故障诊断/分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现CNN-LSSVM卷积神经网络结合最小二乘支持向量机故障诊断/分类预测&#xff08;Matlab完…

springboot高等职业院校实验室信息管理-计算机毕业设计源码24015

摘 要 本文旨在设计并实现一个基于Spring Boot框架的高等职业院校实验室信息管理系统。该系统采用B/S体系结构&#xff0c;以MySQL作为数据库管理平台&#xff0c;结合前端技术如HTML、CSS和JQuery&#xff0c;为用户提供一个功能全面、操作便捷的实验室信息管理平台。 在系统设…

Keras入门:一维线性回归问题

目录 一、一维变量线性回归 1. 数据生成 2. 建立训练模型 3. 作图 4. 完整代码 一、一维变量线性回归 1. 数据生成 import keras import numpy as np import matplotlib.pyplot as plt #matplotlib inline xnp.linspace(0, 100, 30) #0~100之间&#xff0c;生成30个数 y…

xLua | xLua Framework | 2 加载

0. 基础 0.1 不同加载模式 测试用 编辑器模式&#xff1b;打包模式&#xff1b;更新模式 public enum GameMode {EditorMode,PackageBundle,UpdateMode, } 0.2 加载资源步骤与接口 private void LoadAsset(string assetName, Action<Object> action) {if (AppConst.G…

vue3使用递归组件渲染层级结构

先看看是不是你想要的&#xff1a; 当有层级去渲染的时候&#xff0c;嵌套的层级不明确&#xff0c;这时只能通过递归组件去渲染。 数据如下&#xff1a; 通过判断subCatalog这个字段的长度是否大于0来确定是否有下级。 上代码&#xff1a;(代码是使用uniapp开发的&#xff0…

visual studio 问题总结

一. Visual Studio: 使用简体中文&#xff08;GB2312&#xff09;编码加载文件, 有些字节已用Unicode替换字符更换 解决方法&#xff1a;vs 工具-》选项-》文本编辑器

24年第三届钉钉杯大学生大数据挑战赛浅析

需要完整资料&#xff0c;请关注WX&#xff1a;“小何数模”&#xff01; 本次钉钉杯大数据挑战赛的赛题已正式出炉&#xff0c;无论是赛题难度还是认可度&#xff0c;该比赛都是仅次于数模国赛的独一档&#xff0c;可以用于国赛前的练手训练。考虑到大家解题实属不易&#xf…

【BUG】已解决:ERROR: Failed building wheel for jupyter-nbextensions-configurator

ERROR: Failed building wheel for jupyter-nbextensions-configurator 目录 ERROR: Failed building wheel for jupyter-nbextensions-configurator 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我…

【深入理解SpringCloud微服务】深入理解nacos

【深入理解SpringCloud微服务】深入理解nacos Nacos服务注册内存注册表内存注册表的更新通知客户端服务变更、服务同步、健康检查2.x版本nacos的变化 Nacos服务注册 spring-cloud-alibaba-nacos-discovery通过实现spring-cloud-commons规范定义的接口&#xff0c;完成nacos接入…

西电网络空间安全综合953考研分享||西安电子科技大学

一、院校选择 如何选择适合自己的学校以及专业 1. 首先要对自己选择的学校有热情&#xff0c;选择自己最想去的学校 2. 其次选择在自己能力范围内努力能考上的学校&#xff0c;综合考虑地区&#xff08;不同地区公共课分数有一定的差别&#xff09;、学校&#xff08;建议跨…

MySQL索引、事务(数据库管理与高可用)

一、索引的概念 索引&#xff1a;排序的列表&#xff0c;对数据进行快速的查询&#xff1b; 针对不同的产品需求&#xff0c;或者不同的数据库结构&#xff0c;会创建不同的索引&#xff1b; 1&#xff1a;普通索引&#xff08;默认索引&#xff09; 2&#xff1a;唯一索引…

如何有效的进行小程序的优化

如今小程序已经成为了许多开发者开展业务&#xff0c;提供服务的重要平台 。所以如何有效的优化小程序成为了开发者关注的首要问题&#xff0c;以下是一份详细的小程序优化方案&#xff1a; 一、目标设定 明确小程序优化的主要目标&#xff0c;例如提高用户留存率、增加用户活…

writing classes ... [xxx of xxxx] 执行时间太长

一、问题展示 二、解决方法 打开设置【File - Settings…】修改堆大小

MySQL内如何改变编码格式

查找数据库的编码格式&#xff1a; show variables like character%;具体内容时这些 在创建表时设定编码格式&#xff1a; create database <要创建的数据库的名字> charset utf8; 修改数据库默认编码&#xff1a; set character_set_databaseutf8mb4; character_…

『 Linux 』信号概念与信号的产生 ( 万字 )

文章目录 信号概念前台进程与后台进程信号的本质硬件理解信号的产生Core dump 标志 信号概念 "信号"一词指用来传达信息或只是的各种形式的提示或标志; 在生活中常见的信号例如红绿灯,交通标志,短信通知等 在操作系统中,"信号"是一种用于异步通知进程发生特…

Flink大状态作业调优——DataStream篇

一、Flink 状态&#xff08;State&#xff09;简介 在流式计算中有些操作一次处理一个独立的事件(比如解析一个事件), 有些操作却需要记住多个事件的信息(比如窗口操作)。那些需要记住多个事件信息的操作就是有状态的。流式计算分为无状态计算和有状态计算两种情况。状态可以理…

jionlp根据词典进行行政区划补全

背景 需要对地址数据进行行政区划补全的,可以用下面的方法,当然是有条件限制的,只限于提供本省的词典和补全本身的地址数据,否则容易错乱 效果测试 lp = LocationParser() loc = 侨英街道乐海南里170号 res = lp(loc) print(res)1、安装或者更新 python安装 pip insta…