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

Docker部署常见应用之Oracle数据库

文章目录

    • 安装部署
    • 参考文章

在这里插入图片描述

安装部署

使用Docker安装Oracle数据库是一个相对简便的过程,可以避免在本地环境中直接安装Oracle数据库的复杂性。

  1. 安装Docker环境:确保你的系统上已经安装了Docker,并且Docker服务正在运行。具体的安装方法可以根据你的操作系统查找相应的 Docker 安装指南。Centos安装可以参考Docker和Docker-Compose安装。

  2. 获取Oracle镜像:使用以下命令从阿里云的仓库拉取Oracle 11g的镜像:

    docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
    

    请注意,镜像较大,需要一定的下载时间。

  3. 创建并启动容器:使用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 目录存在且有适当的权限设置。此外,由于使用的是特定的阿里云镜像仓库,需要确保你有权限从该仓库拉取镜像。

  4. 进入容器:使用docker exec命令进入容器内部,进行必要的配置或操作:

    docker exec -it oracle11g bash
    
  5. 配置环境变量:容器内,需要使用Oracle的环境变量,例如ORACLE_HOMEORACLE_SID,容器已经将环境变量放入/home/oracle/.bash_profile中, 使用下面命令使环境变量生效:

    source ~/.bash_profile
    
  6. 登录并创建用户:使用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;
    
  7. 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)

题目&#xff1a;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语言中的函数指针&#xff0c;可用于函数传…...

深入理解计算机系统 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脚本中的环境变量沙盒&#xff1a;setlocal与endlocal全解析 在Windows的批处理&#xff08;Batch&#xff09;脚本世界中&#xff0c;setlocal和endlocal是两个至关重要的命令&#xff0c;它们为脚本中环境变量的修改提供了一个隔离的环境。这就像是为变量创建了一个临时…...

AI引领创意潮流:高效生成图片,参考图助力,一键保存到指定文件夹

在这个数字与创意交融的时代&#xff0c;我们迎来了AI绘画的新纪元。借助先进的AI技术&#xff0c;我们不仅能够高效生成图片&#xff0c;还能在参考图的启发下&#xff0c;激发无限创意&#xff0c;让您的想象力在数字世界中自由翱翔。 首助编辑高手软件中的魔法智能绘图板块&…...

ADOP带你了解:数据中心的高速互联解决方案

随着大语言模型和AIGC的飞速发展&#xff0c;数据中心对于高速、高可靠性的网络连接需求日益增长。ADOP系列产品正是在这样的背景下应运而生&#xff0c;为现代数据中心提供了全面的连接解决方案。 ADOP系列产品概览 ADOP系列产品旨在为云、高性能计算、Web 2.0、企业、电信、…...

使用SpringBoot整合Servlet

一、SpringBoot和Servlet的整合 1、用注解WebServlet配置Servlet映射 创建一个SpringBoot的web工程&#xff0c;在工程用创建一个Servlet 2、在SpringBoot的启动类上加注解ServletComponentScan 二、额外的方式 1、不使用WebServlet配置Servlet映射 创建一个SpringBoot工…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求&#xff0c;本次涉及的主要是收费汇聚交换机的配置&#xff0c;浪潮网络设备在高速项目很少&#xff0c;通…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

macOS 终端智能代理检测

&#x1f9e0; 终端智能代理检测&#xff1a;自动判断是否需要设置代理访问 GitHub 在开发中&#xff0c;使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新&#xff0c;例如&#xff1a; fatal: unable to access https://github.com/ohmyzsh/oh…...