Docker部署常见应用之Oracle数据库
文章目录
- 安装部署
- 参考文章

安装部署
使用Docker安装Oracle数据库是一个相对简便的过程,可以避免在本地环境中直接安装Oracle数据库的复杂性。
-
安装Docker环境:确保你的系统上已经安装了Docker,并且Docker服务正在运行。具体的安装方法可以根据你的操作系统查找相应的 Docker 安装指南。Centos安装可以参考Docker和Docker-Compose安装。
-
获取Oracle镜像:使用以下命令从阿里云的仓库拉取Oracle 11g的镜像:
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g请注意,镜像较大,需要一定的下载时间。
-
创建并启动容器:使用
docker run命令是用来启动一个名为oracle11g的Docker容器的,docker run \-d \--restart unless-stopped \--name oracle11g \-p 1521:1521 \-v /data/docker/oracle/oradata:/home/oracle/app/oracle/oradata/helowin \registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g下面是命令中各个选项的解释:
-
-d:表示以"detached"模式运行容器,即在后台运行。 -
--restart unless-stopped:设置容器的重启策略,这意味着除非容器被显式停止,否则在容器退出时Docker将尝试重启它。 -
--name oracle11g:给容器指定一个名称oracle11g,这样可以通过这个名称来引用容器。 -
-p 1521:1521:将容器内部的1521端口映射到宿主机的1521端口。Oracle数据库默认使用1521端口,这样设置可以使得外部可以访问到容器中的Oracle数据库服务。 -
-v /data/docker/oracle/oradata:/home/oracle/app/oracle/oradata/helowin:使用-v或--volume选项将宿主机的目录/data/docker/oracle/oradata挂载到容器内的/home/oracle/app/oracle/oradata/helowin目录。这样,容器中的Oracle数据库就可以使用宿主机上的持久化存储来存储数据文件。 -
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:指定要运行的Docker镜像的名称。这个镜像存储在阿里云的Docker Registry上,由用户helowin拥有。
请注意,运行这个命令之前需要确保宿主机上的端口1521没有被占用,以及
/data/docker/oracle/oradata目录存在且有适当的权限设置。此外,由于使用的是特定的阿里云镜像仓库,需要确保你有权限从该仓库拉取镜像。 -
-
进入容器:使用
docker exec命令进入容器内部,进行必要的配置或操作:docker exec -it oracle11g bash -
配置环境变量:容器内,需要使用Oracle的环境变量,例如
ORACLE_HOME和ORACLE_SID,容器已经将环境变量放入/home/oracle/.bash_profile中, 使用下面命令使环境变量生效:source ~/.bash_profile -
登录并创建用户:使用
sqlplus登录数据库,并创建新用户:#启动SQL*Plus而不自动连接到任何数据库。 sqlplus /nolog # 以 SYSDBA 身份连接到数据库 CONN / AS SYSDBA # 创建一个新的用户 oracle_11g,并设置密码。 CREATE USER oracle_11g IDENTIFIED BY 123456; # 授予 oracle_11g 用户 DBA 角色,使其具有数据库管理员的权限 GRANT DBA TO oracle_11g; # 退出数据库连接 EXIT; -
Navicat连接数据库 :
-
打开Navicat客户端:
- 启动Navicat软件,准备建立新的数据库连接。
-
创建新连接:
- 在Navicat的主界面上,找到并点击“连接”或“新建连接”按钮,开始创建一个新的数据库连接配置。
-
填写连接信息:
-
连接名:为这个连接自定义一个易于识别的名称,例如“oracle_11g”。
-
主机:输入Oracle数据库服务器的IP地址。
-
端口:输入Oracle数据库服务监听的端口号,通常是1521。
-
服务名:输入Oracle数据库的服务名,这里是
helowin。 -
用户名:使用
oracle_11g作为用户名。 -
密码:输入密码
123456。
-
-
测试连接:在填写完所有信息后,点击“测试连接”按钮以确保所有设置正确无误,并且Navicat能够成功连接到数据库。
-
保存连接:测试连接成功后,点击“确定”或“保存”按钮,将这个连接配置保存在Navicat中。
-
连接到数据库:现在可以通过点击刚刚创建的连接名来连接到Oracle数据库,开始数据库管理和操作。
-
请注意,以上步骤提供了一个基本的指南,具体的命令和配置可能需要根据你的具体需求和Oracle数据库的版本进行调整。另外,Oracle的最新版本可能提供了不同的安装和配置方法,建议参考Oracle官方文档或相关社区的最新指南。
参考文章
Oracle官网 Instant Client Package - Basic
cx_Oracle 8 Installation
instantclient_11_2百度云盘分享
Docker安装Oracle(超详细,清晰)
15分钟解决此问题,DPI-1047: Cannot locate a 64-bit Oracle Client library: “The specified module could not be
Kettle连接Oracle
相关文章:
Docker部署常见应用之Oracle数据库
文章目录 安装部署参考文章 安装部署 使用Docker安装Oracle数据库是一个相对简便的过程,可以避免在本地环境中直接安装Oracle数据库的复杂性。 安装Docker环境:确保你的系统上已经安装了Docker,并且Docker服务正在运行。具体的安装方法可以根…...
小程序中echarts的bug
这个文字在手机上显示会有黑的的阴影 textStyle: {fontSize: 12,wrap: true,textShadowColor: "#fff", // 文字本身的阴影颜色textShadowBlur: 10, // 文字本身的阴影长度textShadowOffsetX: 10, // 文字本身的阴影X偏移textShadowOffsetY: 10, //阴影Y偏移}...
项目验收测试有必要找第三方软件测试机构吗?
在当今信息技术飞速发展的时代,软件测试成为了确保软件质量的重要环节。而在项目的验收测试中,很多企业都面临一个问题,那就是是否有必要找第三方软件测试机构进行验收测试?今天,我们就来探讨一下这个问题。 第三方软件测试机构…...
【python入门】循环语句
文章目录 1. for 循环2. while 循环3. break 和 continue 语句4. else 子句5. 循环控制语句6. 列表推导式7. 循环中的异常处理8. 循环的高级用法 1. for 循环 for 循环通常用于遍历序列(如列表、元组、字典、集合、字符串)或者迭代器。for 循环可以自动…...
php调用soap, 报错 failed to load external entity‘http://xxxxxxxx?wsdl‘ 解决方法
先说下环境,非当前环境参考思路 服务器 centos 6php版本 5.5.39调用java写的soap服务器开启soap缓存出现的问题是, 运行一段时间后就会随机报异常 PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldnt load from http://xxxxxxxx?wsdl : failed to l…...
ts可选参数
可选参数 参数后加个问号,代表这个参数是可选的 function bdd(x:number,y?:number){return x y } console.log(bdd(2,3)) function bdd(x:number,y?:number){return x y } console.log(bdd(2))...
day41--Redis(三)高级篇之最佳实践
Redis高级篇之最佳实践 今日内容 Redis键值设计批处理优化服务端优化集群最佳实践 1、Redis键值设计 1.1、优雅的key结构 Redis的Key虽然可以自定义,但最好遵循下面的几个最佳实践约定: 遵循基本格式:[业务名称]:[数据名]:[id]长度不超过…...
PDF 生成(4)— 目录页
当学习成为了习惯,知识也就变成了常识。 感谢各位的 关注、点赞、收藏和评论。 新视频和文章会第一时间在微信公众号发送,欢迎关注:李永宁lyn 文章已收录到 github 仓库 liyongning/blog,欢迎 Watch 和 Star。 回顾 上一篇 PD…...
黑盒测试用例的四种设计方法
🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、输入域测试用例设计方法 输入域测试法是一种综合考虑了等价类划分、边界值分析等方法的综合…...
GIT重新提交-恢复到暂存状态
Git重新提交 --git reset --soft HEAD~n 有时候我们提交了commit并且push到分支之后,发现代码有需要修改的地方,想要修改重新提交commit应该怎么办呢 这时候我们只需要使用git reset --soft HEAD~n命令,然后修改代码后强制提交修改提交就可以 示例(修改最近的1个提交):…...
半藏酒商业模式解读,半藏酱酒营销案例,半藏总院分院招商模式
半藏酱酒通过新零售模式,实现销售额快速增长。其模式包括私域营销、共享门店和DTC模式 入局酱酒市场短短4个月,销售额便破亿,15个月销售额突破6亿,还成立了700多家分院… 主要步骤是三个身份:分院、联创股东、个人股东…...
从云原生视角看 AI 原生应用架构的实践
本文核心观点: 基于大模型的 AI 原生应用将越来越多,容器和微服务为代表的云原生技术将加速渗透传统业务。API 是 AI 原生应用的一等公民,并引入了更多流量,催生企业新的生命力和想象空间。AI 原生应用对网关的需求超越了传统的路…...
浅学JVM
一、基本概念 目录 一、基本概念 二、JVM 运行时内存 1、新生代 1.1 Eden 区 1.2. ServivorFrom 1.3. ServivorTo 1.4 MinorGC 的过程 (复制- >清空- >互换) 1.4.1:eden 、servicorFrom 复制到ServicorTo,年龄1 …...
算法训练营64-图论-深度优先优先搜索(dfs)-广度优先搜索(bfs)
题目:98. 所有可达路径 (kamacoder.com) 邻接矩阵表示图 #include<bits/stdc.h>using namespace std;vector<vector<int>> reslut; vector<int> path;void dfs(vector<vector<int>>& map, int start, int end) {if(start…...
kotlin函数
1、函数定义 // 下边定义了main函数 fun main() {} 2、函数的类型 // foo函数定义 fun foo () {} // 对应无参类型 () -> Unit fun foo (a: Int):String {} // 对应有参类型 (Int) -> String 3、函数的引用 函数的引用类似C语言中的函数指针,可用于函数传…...
深入理解计算机系统 CSAPP 家庭作业7.12
A:refptr (unsigned)(ADDR(r.symbol) r.addend - refaddr) 0x4004f8 (-4) - 0x4004ea 0xa B:refaddr 0x4004d0 0xa 0x4004da refptr 0x400500 (-4) - 0x4004da 0x22 ...
Batch脚本中的环境变量沙盒:setlocal与endlocal全解析
Batch脚本中的环境变量沙盒:setlocal与endlocal全解析 在Windows的批处理(Batch)脚本世界中,setlocal和endlocal是两个至关重要的命令,它们为脚本中环境变量的修改提供了一个隔离的环境。这就像是为变量创建了一个临时…...
AI引领创意潮流:高效生成图片,参考图助力,一键保存到指定文件夹
在这个数字与创意交融的时代,我们迎来了AI绘画的新纪元。借助先进的AI技术,我们不仅能够高效生成图片,还能在参考图的启发下,激发无限创意,让您的想象力在数字世界中自由翱翔。 首助编辑高手软件中的魔法智能绘图板块&…...
ADOP带你了解:数据中心的高速互联解决方案
随着大语言模型和AIGC的飞速发展,数据中心对于高速、高可靠性的网络连接需求日益增长。ADOP系列产品正是在这样的背景下应运而生,为现代数据中心提供了全面的连接解决方案。 ADOP系列产品概览 ADOP系列产品旨在为云、高性能计算、Web 2.0、企业、电信、…...
使用SpringBoot整合Servlet
一、SpringBoot和Servlet的整合 1、用注解WebServlet配置Servlet映射 创建一个SpringBoot的web工程,在工程用创建一个Servlet 2、在SpringBoot的启动类上加注解ServletComponentScan 二、额外的方式 1、不使用WebServlet配置Servlet映射 创建一个SpringBoot工…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
