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工…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
小木的算法日记-多叉树的递归/层序遍历
🌲 从二叉树到森林:一文彻底搞懂多叉树遍历的艺术 🚀 引言 你好,未来的算法大神! 在数据结构的世界里,“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的,它…...
STL 2迭代器
文章目录 1.迭代器2.输入迭代器3.输出迭代器1.插入迭代器 4.前向迭代器5.双向迭代器6.随机访问迭代器7.不同容器返回的迭代器类型1.输入 / 输出迭代器2.前向迭代器3.双向迭代器4.随机访问迭代器5.特殊迭代器适配器6.为什么 unordered_set 只提供前向迭代器? 1.迭代器…...
PostgreSQL 对 IPv6 的支持情况
PostgreSQL 对 IPv6 的支持情况 PostgreSQL 全面支持 IPv6 网络协议,包括连接、存储和操作 IPv6 地址。以下是详细说明: 一、网络连接支持 1. 监听 IPv6 连接 在 postgresql.conf 中配置: listen_addresses 0.0.0.0,:: # 监听所有IPv4…...

统计按位或能得到最大值的子集数目
我们先来看题目描述: 给你一个整数数组 nums ,请你找出 nums 子集 按位或 可能得到的 最大值 ,并返回按位或能得到最大值的 不同非空子集的数目 。 如果数组 a 可以由数组 b 删除一些元素(或不删除)得到,…...