当前位置: 首页 > news >正文

Dockerfile制作Oracle19c镜像

Dockerfile文件

cat > Dockerfile << 'EOF'
# 使用 Oracle Linux 8 作为基础镜像
FROM oraclelinux:8# 复制 Oracle 19c 安装包
COPY oracle-database-ee-19c-1.0-1.x86_64.rpm /tmp/# 安装 Oracle 19c 数据库和依赖
RUN yum localinstall -y /tmp/oracle-database-ee-19c-1.0-1.x86_64.rpm && \yum -y clean all && \rm -f /tmp/oracle-database-ee-19c-1.0-1.x86_64.rpm# 初始化数据库脚本
COPY Instance_initialization.sh /opt/oracle/scripts/Instance_initialization.sh
RUN chmod +x /opt/oracle/scripts/Instance_initialization.sh# 切换Oracle
USER oracle# 设置环境变量
ENV ORACLE_BASE=/opt/oracle \ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 \ORACLE_VERSION=19.3.0 \PATH=/opt/oracle/product/19c/dbhome_1/bin:$PATH# 创建目录用于挂载持久化表空间和 dump 文件
RUN mkdir -p $ORACLE_BASE/oradata && \mkdir -p $ORACLE_BASE/admin/dump# 暴露端口
EXPOSE 1521 5500# 配置数据库启动时的命令
CMD ["/usr/bin/sh /opt/oracle/scripts/Instance_initialization.sh"]
EOF

初始化脚本

vim Instance_initialization.sh
#!/bin/bash
# 设置数据库环境变量
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATHexport ORACLE_SID=${ORACLE_SID:-orcl}
export ORACLE_PWD=${ORACLE_PWD:-oracle}
export DB_USER=${DB_USER:-oracleuser}
export DB_PWD=${DB_PWD:-oraclepwd}# 创建监听
netca -silent -responsefile $ORACLE_HOME/assistants/netca/netca.rsp# 创建实例配置文件--dbca.rsp
cat > $ORACLE_BASE/scripts/dbca.rsp << EOF
responseFileVersion=$ORACLE_HOME/assistants/rspfmt_dbca_response_schema_v19.0.0
gdbName=$ORACLE_SID
sid=$ORACLE_SIDdatabaseConfigType=SItemplateName=General_Purpose.dbc
sysPassword=$ORACLE_PWD
systemPassword=$ORACLE_PWDdatafileDestination=$ORACLE_HOME/oradata
recoveryAreaDestination=$ORACLE_HOME/flash_recovery_areacharacterSet=ZHS16GBK
nationalCharacterSet=AL16UTF16
totalMemory=4096listeners=LISTENER
sampleSchema=true
databaseType=OLTP
emConfiguration=NONE
EOF# 创建实例
dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile $ORACLE_BASE/scripts/dbca.rsp# 查看监听
lsnrctl status# 创建普通用户并授权远程登录
sqlplus / as sysdba <<EOF
CREATE USER $DB_USER IDENTIFIED BY $DB_PWD;
GRANT CREATE SESSION TO $DB_USER;
EXIT;
EOF# 保持容器运行
tail -f /dev/null

totalMemory: 修改为实际内存值

制作镜像

docker build -t oracle-19c .

docker-compose文件

version: '3'
services:oracle-db:image: oracle-19c:latestcontainer_name: oracle19cuser: oracleenvironment:- ORACLE_SID=orcl- ORACLE_PWD=oracle#2012- DB_USER=orcl- DB_PWD=orcl#2012ports:- "1521:1521"- "5500:5500"volumes:- ./oradata:/opt/oracle/oradata  # 数据持久化- ./dump:/opt/oracle/admin/dump  # DUMP 文件持久化networks:- oracle-networkrestart: unless-stoppednetworks:oracle-network:driver: bridge

相关文章:

Dockerfile制作Oracle19c镜像

Dockerfile文件 cat > Dockerfile << EOF # 使用 Oracle Linux 8 作为基础镜像 FROM oraclelinux:8# 复制 Oracle 19c 安装包 COPY oracle-database-ee-19c-1.0-1.x86_64.rpm /tmp/# 安装 Oracle 19c 数据库和依赖 RUN yum localinstall -y /tmp/oracle-database-ee-…...

【时间之外】IT人求职和创业应知【23】

目录 新闻一:央行发布首个买断式逆回购交易公告 新闻二:2024CCF科技创业大赛报名截止 新闻三:BNB Chain将在迪拜主办第四届BNB孵化联盟(BIA) 认知决定你的赚钱能力。以下是今天可能影响你求职和创业的热点新闻: 今日关键字:TCL两连扳,已经跑了,我的认知就到此了 新…...

后端:Spring-1

文章目录 1. 了解 spring(Spring Framework)2. 基于maven搭建Spring框架2.1 纯xml配置方式来实现Spring2.2 注解方式来实现Spring3. Java Config类来实现Spring 2.4 总结 1. 了解 spring(Spring Framework) 传统方式构建spring(指的是Spring Framework)项目&#xff0c;导入依…...

OTX系统架构分析

OTX&#xff08;Open Test Sequence Exchange&#xff09;系统架构是一种专门为汽车行业设计的测试序列交换格式&#xff0c;它基于ISO 13209标准&#xff0c;旨在提供一种独立于测试人员的可执行测试序列描述格式。 一、OTX系统架构概述 OTX架构是一种标准化的平台和格式&am…...

ASO如何低预算进行优化

当一个产品打造出来之后&#xff0c;正式上线是从零到一的过程&#xff0c;那从一到一百的路径就是获取流量到商业变现这个环节产生的&#xff0c;之前的文章也说过&#xff0c;一个产品只有有了一定的曝光才能获得相应的搜索流量或下载流量 ASO的江湖地位&#xff1a;有数据显…...

非线性数据结构之数

一、基本概念 1. 二叉树的节点与深度 节点&#xff1a;二叉树的基本组成单位&#xff0c;每个节点包含一个数据值、一个左子节点和一个右子节点。树的深度&#xff08;Height&#xff09;&#xff1a;指树的根节点到叶子节点的最长路径所包含的边数。 2. 二叉树的类型 叶节…...

个人开发三步走

一、开发准备 1&#xff0e;需求分析&#xff1a;需求是开发的起点。第一步要做的就是明确需求&#xff0c;具体来说就是分析目标用户、他们的需求(功能需求、性能需求、安全需求)和痛点。 2&#xff0e;技术选型&#xff1a;综合开发需求、个人能力&#xff08;能熟练使用&a…...

qt QAction详解

1、概述 QAction是Qt框架中的一个抽象类&#xff0c;用于表示用户界面中的一个动作&#xff08;action&#xff09;。这些动作可以绑定到菜单项、工具栏按钮或快捷键上&#xff0c;提供了一种灵活的方式来处理用户交互。QAction不仅包含了动作的名称、图标、提示信息等属性&am…...

建立maven项目常见问题解决办法

从git拉的项目爆红 https://blog.csdn.net/wsdbld_/article/details/115380325 idea点击具体的类没有反应 https://www.likecs.com/show-204943934.html maven Could not find artifact com.** 无法下载原因分析 https://www.cnblogs.com/thinkingandworkinghard/p/100824…...

Windows 10 安装使用Docker踩过的坑和解决-31/10/2024

目录 环境版本 一、Docker Desktop双击启动没反应&#xff0c;open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified. 二、Docker Desktop运行run命令时显示错误HTTP code 500 并且错误大意是服务器拒绝访问 三、Docker Engine stopped/启动…...

微服务之间的调用关系

从数据的流向来区分有 1.直接调用&#xff08;推&#xff09;A直接B的接口直接将数据推送给B; 2.间接调用&#xff08;拉&#xff09;A先调B&#xff0c;B根据A给信息再去调A拉取数据&#xff1b; 感觉间接调用有点多此一举&#xff01;&#xff01;&#xff01; 直接调用的…...

Chinese Spelling Correction as Rephrasing Language Model(AAAI2024)

Chinese Spelling Correction as Rephrasing Language Model(AAAI2024) 一&#xff0e;概述 目前最先进的方法将CSC(Chinese Spelling Correction)作为序列标注任务&#xff0c;并在句子对上微调基于bert的方法。然而&#xff0c;我们注意到在将一个字符标注为另一个字符的过…...

DirectShow过滤器开发-写MP3音频文件过滤器(再写 写MP3)

下载本过滤器DLL 本过滤器将MP3音频流写到MP3音频文件。 过滤器信息 过滤器名称&#xff1a;写MP3_2 过滤器GUID&#xff1a;{AE46BC15-71E5-471C-8540-3B73094111EC} DLL注册函数名&#xff1a;DllRegisterServer 删除注册函数名&#xff1a;DllUnregisterServer 过滤器有1个…...

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《基于对等架构的虚拟电厂-配电网双层电碳协同调度模型》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…...

大数据-204 数据挖掘 机器学习理论 - 混淆矩阵 sklearn 决策树算法评价

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…...

Fsm1

为了处理有时间上先后的事件&#xff0c;在FPGA中采用状态机的形式完成事件处理。 Mealy 状态机&#xff1a;输出不仅取决于当前状态&#xff0c;还取决于输入状态。 Moore 状态机&#xff1a;组合逻辑的输出只取决于当前状态&#xff0c;而与输入状态无关。 二段式状态机&…...

C. Gorilla and Permutation

time limit per test 2 seconds memory limit per test 256 megabytes Gorilla and Noobish_Monk found three numbers nn, mm, and kk (m<km<k). They decided to construct a permutation†† of length nn. For the permutation, Noobish_Monk came up with the …...

从0开始学python-day17-数据结构2

2.3 队列 队列(Queue)&#xff0c;它是一种运算受限的线性表,先进先出(FIFO First In First Out) 队列是一种受限的线性结构 受限之处在于它只允许在表的前端&#xff08;front&#xff09;进行删除操作&#xff0c;而在表的后端&#xff08;rear&#xff09;进行插入操作 P…...

(蓝桥杯C/C++)—— 编程基础

文章目录 一、C基础格式 1.打印hello, world 2.基本数据类型 二、string 1.string简介 2.string的声明和初始化 3.string其他基本操作 (1)获取字符串长度 (2) 拼接字符串( 或 append) (3&#xff09;字符串查找&#xff08;find&#xff09; (4)字符串替换 (5)提取子字符串…...

企业物流管理数据仓库建设的全面指南

文章目录 一、物流管理目标二、总体要求三、数据分层和数据构成&#xff08;1&#xff09;数据分层&#xff08;2&#xff09;数据构成 四、数据存储五、数据建模和数据模型&#xff08;1&#xff09;数据建模&#xff08;2&#xff09;数据模型 六、总结 在企业物流管理中&…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...