在Centos中用Docker部署oracle-12c
一、介绍
Oracle 12c是Oracle 11g的后续版本。12c代表云计算(Cloud Computing),这是Oracle在该版本中强调的一个关键概念。它具有多租户架构、数据库内存、安全增强、大数据管理和自动化管理等功能。它被广泛应用于企业级应用程序和大型数据中心。
- 多租户架构:
Oracle12c允许在单个数据库实例中容纳多个独立的租户。 - 数据库内存:
Oracle12c可以将热数据加载到内存中,可以显著加快数据访问速度。 - 安全增强:
Oracle12c提供了更强大的安全功能,包括数据红外线和统一审计等。 - 大数据管理:
Oracle12c集成了与大数据技术的连接,支持直接访问和处理大规模数据集。这使得Oracle数据库能够更好地与Hadoop和NoSQL数据库集成。 - 自动化管理:自动化备份和恢复、自动化性能调整和自动化存储管理。
二、安装
1、搜索oracle-12c
docker search oracle-12c

2、拉取镜像
我们选择第一个版本

3、创建数据库挂载文件
将docker中的数据库文件挂载到你的主机目录下,并给该目录读和写的权限。
mkdir -p /mydata/oracle/ora_data
chmod -R 777 /mydata/oracle/ora_data
4、创建Oracle容器并运行
docker run --privileged=true -d -p 2122:22 -p 9090:8080 -p 1521:1521 -v /mydata/oracle/ora_data:/u01/app/oracle/ --name oracle-12c truevoly/oracle-12c
参数解释:
- -d 后台运行容器,并返回容器ID。
- -p 指定端口。
- -v 指定数据卷位置。
- –privileged=true 为容器提供特权模式,允许对主机的底层系统进行更高级别的访问。

查看oracle-12c启动日志
docker logs -f oracle-12c

5、DBCA Operation failed. 错误
如果你的虚拟机没有给2G以上的内存,那么在运行容器时会失败。启动日志会报如下错误:
Database not initialized. Initializing database.
Starting tnslsnr
Copying database files
1% complete
2% complete
4% complete
DBCA Operation failed.
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/xe/xe.log" for further details.
同时,由于容器没有启动成功,因此你无法查看/u01/app/oracle/cfgtoollogs/dbca/xe/xe.log该日志文件。
这个报错是由于oracle-12c需要2G以上的内存环境才能运行,虚拟机的内存设置为2G以上就可以了。
6、进入容器修改账号密码设置
#查看容器ID
docker ps
#进入容器
docker exec -it 6a29ce3c4e9f /bin/bash
#切换成oracle用户
su oracle
#进入sqlplus
$ORACLE_HOME/bin/sqlplus / as sysdba
//设置密码有效期为无限制
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
//解锁system用户
alter user SYSTEM account unlock;
//创建一个账号
create user zheng identified by 123456
//为这个用户赋予管理员的权限
grant dba to zheng;
7、使用Pl/SQL测试连接
登录成功,说明oracle已安装成功。

相关文章:
在Centos中用Docker部署oracle-12c
一、介绍 Oracle 12c是Oracle 11g的后续版本。12c代表云计算(Cloud Computing),这是Oracle在该版本中强调的一个关键概念。它具有多租户架构、数据库内存、安全增强、大数据管理和自动化管理等功能。它被广泛应用于企业级应用程序和大型数据…...
JS进阶——高级技巧
版权声明 本文章来源于B站上的某马课程,由本人整理,仅供学习交流使用。如涉及侵权问题,请立即与本人联系,本人将积极配合删除相关内容。感谢理解和支持,本人致力于维护原创作品的权益,共同营造一个尊重知识…...
TG-ADMIN 权限管理系统
项目简介 该项目是一款基于 SpringBoot + Vue2 + Jwt + ElementUi的 RBAC模型管理系统。 主要以自定义拦截器和jwt结合进行权限验证 通过自定义指令实现按钮级别权限,使用经典的RBAC模型 什么是RBAC? 1、RBAC模型概述 RBAC模型(Role-Based Access Control:基于角色的…...
十五届蓝桥杯第三期模拟赛题单(C++、java、Python)
备战2024年蓝桥杯 省赛第三期模拟赛题单 备战Python大学A组 第一题 【问题描述】 请问 2023 有多少个约数?即有多少个正整数,使得 2023 是这个正整数的整数倍。 【问题描述】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果…...
嵌入式驱动学习第一周——git的使用
前言 本文主要介绍git的使用,包括介绍git,gitee,以及使用gitee创建仓库并托管代码 嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程,未来预计四个月将高强度更新本专栏,喜欢的可以关注本博主并订阅本专栏…...
界面控件DevExpress .NET MAUI v23.2新版亮点 - 拥有全新的彩色主题
DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具。屡获大奖的软件开发平台DevExpress 今年第一个重要版本v23.1正式发布,该版本拥有众多…...
大语言模型LLM Pro+中Pro+(Prompting)的意义
—— Pro ,即Prompting,构造提示 1.LLM Pro中Pro(Prompting)的意义 Prompting不仅是大语言模型交互和调用的一种高效手段,而且已成为推动模型泛化能力和应用灵活性的关键技术路径,它不仅极大地拓展了模型功…...
React 中,children 属性
在 React 中,children 属性是一个特殊的属性,它允许你将组件作为其他组件的子元素传递。这意味着你可以在组件内部嵌套任何类型的子组件或元素,并且在父组件中通过 props.children 访问它们。这为组件的复用和组合提供了极大的灵活性。 以下…...
多行业万能预约门店小程序源码系统 支持多门店预约小程序 带完整的安装代码包以及搭建教程
随着消费者对于服务体验要求的不断提升,门店预约系统成为了许多行业提升服务质量、提高运营效率的重要工具。然而,市面上的预约系统往往功能单一,无法满足多行业、多场景的个性化需求。下面,小编集合了多年的行业经验和技术积累&a…...
Node.js 中 fs 模块文件操作的应用教程
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它可以让 JavaScript 代码在服务器端运行。在 Node.js 中,fs 模块是用来处理文件系统操作的模块。通过 fs 模块,我们可以进行文件的读取、写入、删除等操作。本教程将介绍如何在 No…...
一些常用到的git命令
git stash -a //缓存所有文件 git checkout -b dev origin/dev //切换到dev分支上,接着跟远程的origin地址上的dev分支关联起来 //推送本地分支到远程仓库 git push origin localbranchname:remotebrancname git revert onefile //https://www.freecodecamp.org/news/git-re…...
spring boot3解决跨域的几种方式
⛰️个人主页: 蒾酒 🔥系列专栏:《spring boot实战》 🌊山高路远,行路漫漫,终有归途。 目录 1.前言 2.何为跨域 3.跨域问题出现特征 4.方式一:使用 CrossOrigin 注解 5.方式二:自定义…...
【Spring】19 @Autowired注解使用详解
文章目录 构造函数注入Setter方法注入字段注入数组和集合注入特殊情况处理特殊接口类型的注入异常处理结语 Spring 框架的 Autowired 注解是实现依赖注入的一种强大而灵活的方式。在本文中,我们将介绍 Autowired 注解的多种用法,包括构造函数、setter方法…...
Educational Codeforces Round 132 (Rated for Div. 2) E. XOR Tree(启发式合并+贪心)
题目 n(n<2e5)个点的树,点i权值ai(1<ai<2^30) 修改最少的点的权值,使得树上不存在异或和为0的简单路径,输出最少的点数 权值可以被修改成任意正整数(可以是无限大) 思路来源 官方…...
JavaScript 基本数据类型的详解
JavaScript的基本数据类型 以下都是JS内置的几种类型 数据类型描述number数字,不区分整数和小数string字符串类型booleantrue 真, false 假undefined表示未定义的值null只有唯一的值 null,表示空值 number 数字类型 JavaScript 中不区分整数和浮点数&…...
DDR5内存相比DDR4内存的优势和区别?选择哪一个服务器内存配置能避免丢包和延迟高?
根据幻兽帕鲁服务器的实际案例分析,选择合适的DDR4与DDR5内存大小以避免丢包和延迟高,需要考虑以下几个方面: 性能与延迟:DDR5内存相比DDR4在传输速率、带宽、工作电压等方面都有显著提升,但同时也伴随着更高的延迟。D…...
篮球游戏中的挑战精神与怄气心理:扣篮被帽后的再度冲击
在篮球比赛中,扣篮无疑是最具观赏性和震撼力的动作之一,它展示了球员的爆发力、技巧和自信。而在篮球游戏中,玩家即便面临连续扣篮被盖帽的挫折,仍渴望继续杀入内线尝试扣篮的现象,实则是体育竞技精神、挑战意识与怄气…...
JavaScript高级程序设计
前言 《JavaScript高级程序设计》 第1章——什么是JavaScript DOM将整个页面抽象为一组分层节点。 BOM用于支持访问和操作浏览器的窗口。 第2章——HTML中的JavaScript 2.1 < script >元素 元素描述async立即开始下载脚本,但不能阻止其他页面动作&#…...
初阶数据结构:栈与队列
目录 1. 简述:栈2. 栈的功能分析与实现2.1 功能分析2.2 栈的实现2.2.1 栈的结构创建与初始化2.2.2 压栈,出栈与判空:2.2.3 获取栈顶元素,检索栈的长度与栈的销毁 3. 简述:队列4. 队列的功能分析与实现4.1 队列的功能分…...
Houdini学习笔记
按住Alt / 空格 左键:进行旋转 按住Alt / 空格 中间:移动屏幕画面 按住Alt / 空格 右键:缩放视口 如果不要Alt,就先按ESC,再去左键、中键、右键操作 这里有对应的层级关系,类似于树形结构ÿ…...
2026年企业薪酬管理的数字化底座:eHR工资系统
eHR工资系统是企业人力资源管理系统(eHR)中负责薪酬核算、发放与管理的核心模块,它将传统手工算薪转变为自动化、规则化的数字流程。 一套成熟的eHR工资系统能覆盖薪资结构配置、个税计算、社保公积金联动、多维度薪酬报表等场景,…...
这是我的第一篇文章
以后将会发布一些有关我Java的学习过程...
如何将Style Dictionary与React无缝集成:打造现代化前端样式管理系统
如何将Style Dictionary与React无缝集成:打造现代化前端样式管理系统 【免费下载链接】style-dictionary A build system for creating cross-platform styles. 项目地址: https://gitcode.com/gh_mirrors/st/style-dictionary Style Dictionary 是一个强大的…...
Volo gRPC-Web支持:让浏览器直接调用gRPC服务
Volo gRPC-Web支持:让浏览器直接调用gRPC服务 【免费下载链接】volo Rust RPC framework with high-performance and strong-extensibility for building micro-services. 项目地址: https://gitcode.com/gh_mirrors/vo/volo Volo是一个基于Rust的高性能、强…...
Scarab终极指南:5步轻松管理空洞骑士模组,告别安装烦恼
Scarab终极指南:5步轻松管理空洞骑士模组,告别安装烦恼 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 你是否曾经因为安装空洞骑士模组而感到头疼&…...
如何在普通电脑上运行AI绘画神器:6GB显存玩转FLUX.1-dev FP8量化模型终极指南
如何在普通电脑上运行AI绘画神器:6GB显存玩转FLUX.1-dev FP8量化模型终极指南 【免费下载链接】flux1-dev 项目地址: https://ai.gitcode.com/hf_mirrors/Comfy-Org/flux1-dev 想要在普通电脑上体验专业级AI绘画的魅力吗?FLUX.1-dev FP8量化模型…...
从‘拳打沙包’到稳定信号:一个射频工程师的阻抗匹配避坑日记
从‘拳打沙包’到稳定信号:一个射频工程师的阻抗匹配避坑日记 实验室的时钟指向凌晨三点,频谱仪上跳动的波形像心电图般起伏不定。我盯着那根倔强的S11曲线,它固执地卡在-5dB的位置不肯下降——这已经是本周第七次在Wi-Fi模块调试中遭遇阻抗匹…...
龙芯k - 走马观碑组MPU驱动移植扒
先回顾:三次握手(建立连接)核心流程(实际版) 为了让挥手流程衔接更顺畅,咱们先快速回顾三次握手的实际核心,避免上下文脱节: 第一步(客户端→服务器)…...
Block Copy 的内存布局详解榔
核心摘要:这篇文章能帮你 ?? 1. 彻底搞懂条件分支与循环的适用场景,告别选择困难。 ?? 2. 掌握遍历DOM集合修改属性的标准姿势与性能窍门。 ?? 3. 识别流程控制中的常见“坑”,并学会如何优雅地绕过去。 ?? 主要内容脉络 ?? 一、痛…...
用Shapely给你的数据加点‘空间感’:非GIS背景也能上手的Python地理分析入门
用Shapely给你的数据加点‘空间感’:非GIS背景也能上手的Python地理分析入门 想象一下,你手里有一份包含全国星巴克门店位置的数据集。传统的分析方法可能告诉你每家店的营业额、客流量,但如果能回答"哪些门店位于地铁站500米范围内&quo…...
