Docker 安装部署 ORACLE 11g数据库

Docker 安装部署 ORACLE 11g数据库

背景:

​ 最新在开发数据中台数据接入模块,其中设计很多数据类型,包括ORACLE ,因为是测试使用,想着快速部署测试,于是使用Docker 部署 Oracle , 生产环境不建议使用Docker 安装。

1、安装Docker

​ 首选确保你的机器上已经部署了Docker , Centos7安装部署 docker容器 https://blog.csdn.net/zhangli_li520/article/details/126847001

2、拉去 oracle Docker 镜像

​ oracle11g 镜像文件很大,要等待一会

[root@bigdata01 ~]# docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
Using default tag: latest
latest: Pulling from helowin/oracle_11g
[DEPRECATION NOTICE] Docker Image Format v1, and Docker Image manifest version 2, schema 1 support will be removed in an upcoming release. Suggest the author of registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:latest to upgrade the image to the OCI Format, or Docker Image manifest v2, schema 2. More information at https://docs.docker.com/go/deprecated-image-specs/
ed5542b8e0e1: Already exists 
a3ed95caeb02: Already exists 
1e8f80d0799e: Already exists 
Digest: sha256:4c12b98372dfcbaafcd9564a37c8d91456090a5c6fb07a4ec18270c9d9ef9726
Status: Image is up to date for registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:latest
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:latest

​ 查看下载的镜像

[root@bigdata01 ~]# docker images
REPOSITORY                                             TAG                                 IMAGE ID       CREATED         SIZE
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g   latest                              3fa112fd3642   8 years ago     6.85GB

3、创建启动容器

[root@bigdata01 ~]# docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
95469043158a49b15ce1d290ffe0c23413b860aeed20eb7b6da24359fd3262e4

-d: 表示以后台运行的方式启动容器。
-p 1521:1521: 将主机的端口映射到容器的端口,这里是将主机的 1521 端口映射到容器的 1521 端口,用于访问 Oracle 数据库。
–name oracle11g: 为容器指定一个名称,这里是 “oracle11g”。

查看容器

[root@bigdata01 ~]# docker ps
CONTAINER ID   IMAGE                                                  COMMAND                   CREATED         STATUS         PORTS                                                  NAMES
95469043158a   registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g   "/bin/sh -c '/home/o…"   7 minutes ago   Up 2 minutes   0.0.0.0:1521->1521/tcp, :::1521->1521/tcp              oracle11g

4、进入Oracle 容器

[root@bigdata01 ~]# docker exec -it 95469043158a bash
# 切换 至 root 用户
[oracle@95469043158a /]$ su root
Password: helowin
# 编辑环境变量文件 profile
[root@95469043158a /]# vi /etc/profile
# 在文件末尾加上
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
# 保存退出
# source 一下使得环境变量生效
[root@95469043158a /]# source /etc/profile
# 编辑环境变量文件 .bashrc
[root@95469043158a /]# vi /home/oracle/.bashrc
# 在文件末尾加上
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
# 保存退出
# source 一下使得环境变量生效
[root@95469043158a /]# source /home/oracle/.bashrc

5、设置 Oracle 数据库

[root@95469043158a /]# su oracle
[oracle@95469043158a ~]$ sqlplus /nologSQL*Plus: Release 11.2.0.1.0 Production on Wed Mar 13 17:25:39 2024Copyright (c) 1982, 2009, Oracle.  All rights reserved.
# 使用 SYSDBA 角色登录,该角色具有最高级别的数据库权限
SQL> CONNECT / AS SYSDBA;
Connected.
# 修改 system 密码
SQL> alter user system identified by oracle;
# 创建表空间 
SQL> Create TableSpace test_tablespace_zl
SQL> DataFile '/home/oracle/app/oracle/oradata/helowin/test_tablespace_zl.dbf'
SQL> Size 100m
SQL> Autoextend on;
# 查看表空间 
SQL> select name from v$TABLESPACE;
NAME
SYSTEM
SYSAUX
UNDOTBS1
USERS
EXAMPLE
TEMP
TEST_TABLESPACE_ZL
# 创建用户 分配表空间
SQL> CREATE USER zhangli
SQL> IDENTIFIED BY zhangli
SQL> DEFAULT TABLESPACE test_tablespace_zl
SQL> TEMPORARY TABLESPACE TEMP;# 有了用户,要想使用用户账号管理自己的表空间,还得给它分权限:
SQL> GRANT CONNECT TO zhangli;
SQL> GRANT RESOURCE TO zhangli;
#  dba为最高级权限,可以创建数据库,表等。
SQL> GRANT dba TO zhangli;# 查看用户
SQL> select * from dba_users;# 创建表: student
SQL> create table zhangli.student (
SQL>   sno         number(10) constraint pk_si_sno primary key,
SQL>   sname       varchar2(10),
SQL>   sex         varchar2(2),
SQL>   create_date date
SQL> );# 添加注释
SQL> comment on table zhangli.student is '学生信息表';
SQL> comment on column zhangli.student.sno is '学号';
SQL> comment on column zhangli.student.sname is '姓名';
SQL> comment on column zhangli.student.sex is '性别';
SQL> comment on column zhangli.student.create_date is '创建日期';# 给其他用户授权 student 表的 权限
SQL> grant select, insert, update, delete on zhangli.student to other_user;# 插入数据
SQL> insert into zhangli.student (sno, sname, sex, create_date)values (1, '张三', '1', sysdate);
SQL> insert into zhangli.student (sno, sname, sex, create_date)values (2, '李四', '2', sysdate);
SQL> insert into zhangli.student (sno, sname, sex, create_date)values (3, '王五', '1', sysdate);
SQL> insert into zhangli.student (sno, sname, sex, create_date)values (4, '赵六', '2', sysdate);
SQL> commit;
# 修改数据
SQL> update zhangli.student si
SQL> set si.sex = '2'
SQL> where si.sno = 3;
SQL> commit;# 删除数据
SQL> delete zhangli.student si where si.sno = 1;
SQL> commit;# 查询数据
SQL> select * from zhangli.student;

6、设置远程连接

# 修改监听配置文件 tnsnames.ora , listener.ora 将文件里的 HOST 改成 访问的ip地址  测试环境 改 0.0.0.0 全部方通,现网环境需要注意
[oracle@95469043158a ~]$ cd /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin
[oracle@95469043158a admin]$ ls
listener.ora  samples  shrept.lst  sqlnet.ora  tnsnames.ora
[oracle@95469043158a admin]$ vi listener.ora 
# listener.ora Network Configuration File: /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/listener.ora
# Generated by Oracle configuration tools.LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))(ADDRESS = (PROTOCOL = TCP)(HOST =0.0.0.0 )(PORT = 1521))))ADR_BASE_LISTENER = /home/oracle/app/oracle[oracle@95469043158a admin]$ vi tnsnames.ora 
# tnsnames.ora Network Configuration File: /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.LISTENER_HELOWIN =(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))HELOWIN =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = helowin)))# 修改完重启 oracle 容器
[root@bigdata01 ~]# docker restart 95469043158a

7、使用客户端工具连接

​ 填写好用户名密码 服务名等参数,点击测试连接,显示连接成功。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/747341.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv7-Openvino和ONNXRuntime推理【CPU】

纯检测系列: YOLOv5-Openvino和ONNXRuntime推理【CPU】 YOLOv6-Openvino和ONNXRuntime推理【CPU】 YOLOv8-Openvino和ONNXRuntime推理【CPU】 YOLOv7-Openvino和ONNXRuntime推理【CPU】 YOLOv9-Openvino和ONNXRuntime推理【CPU】 跟踪系列: YOLOv5/6/7-O…

onecloud刷CasaOS系统后如何安装内网穿透实现公网访问本地文件

文章目录 1. CasaOS系统介绍2. 内网穿透安装3. 创建远程连接公网地址4. 创建固定公网地址远程访问 2月底,玩客云APP正式停止运营,不再提供上传、云添加功能。3月初,有用户进行了测试,局域网内的各种服务还能继续使用,但…

十二、项目采购管理

十二、项目采购管理 1、规划采购管理 ​ 规划采购管理是记录项目采购决策、明确采购方法,及识别潜在卖方的过程。 1,1、关键输入 组织过程资产 组织使用的各种合同协议类型也会影响规划采购管理过程中的决策。能够影响规划采购管理过程的组织过程资产包括&#xf…

力扣爆刷第96天之hot100五连刷66-70

力扣爆刷第96天之hot100五连刷66-70 文章目录 力扣爆刷第96天之hot100五连刷66-70一、33. 搜索旋转排序数组二、153. 寻找旋转排序数组中的最小值三、4. 寻找两个正序数组的中位数四、20. 有效的括号五、155. 最小栈 一、33. 搜索旋转排序数组 题目链接:https://le…

【研发日记】Matlab/Simulink技能解锁(五)——Simulink布线技巧

前言 见《【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug》 见《【研发日记】Matlab/Simulink技能解锁(二)——在Function编辑窗口Debug》 见《【研发日记】Matlab/Simulink技能解锁(三)——在Stateflow编辑窗口Debug》 见《【研发日记】Matlab/Simulink…

虚拟环境的激活

(此博客仅用于我记录虚拟环境的激活方法) 虚拟环境的激活命令: venv/Scripts/activate 在F:\git repo\Database-Course-Design 这个文件夹中启动命令行 这个文件夹中含有虚拟环境venv 输入命令venv/Scripts/activate,就得到下面的结果: 此时就激活了虚拟环境&…

python 基础知识点(蓝桥杯python科目个人复习计划64)

今日复习内容:做题 例题1:蓝桥课程抢购 问题描述: 为了能让更多的同学学到IT技术,蓝桥云课又开始了课程限时打折活动。 作为初学者的你,希望尽可能买到含金量总额更高的课程,当然其他同学也是这么想。 …

解锁基于LLMS的咒语:通过上下文学习重新思考对齐

一、写作动机: 最近的一项研究,LIMA,表明仅使用1K个示例进行SFT也可以实现显著的对齐性能,这表明对齐微调的效果可能是“表面的”。(知识和推理能力来源于预训练,而不是必须通过对齐微调获得的。&#xff…

计算机图形学学习(一)——线的绘制、三角形填充绘制

以下摘抄自本人的计算机图形学上机报告 实验内容及要求: 理解并掌握中点画线法、Bresenham算法、扫描线法和重心坐标法的基本原理和算法步骤。使用编程语言C实现上述算法,并编写相应的代码。对于直线绘制算法,要求能够绘制水平、垂直、斜向等…

【消息队列开发】 实现内存加载

文章目录 🍃前言🌳实现思路🚩读取消息长度🚩读取相应长度的消息🚩进行反序列化🚩判定是否有效🚩加入有效消息🚩收尾工作🚩代码实现 ⭕总结 🍃前言 本次开发目…

未解决的问题:字符数组中元素的个数

情形1&#xff1a; #include<stdio.h> int main() {int arr_int1[10];int arr_int2[]{1,2,3,4,5};char arr_char1[10];char arr_char2[]"world";char arr_char3[]{h,e,l,l,o};int i;i0;while(arr_char2[i]!\0){i;}printf("%d\n",i);i0;while(arr_ch…

lwip优化任务优先级

在lwIP中&#xff0c;ethernetif_input线程负责接收和处理从以太网接口接收到的数据包&#xff0c;而tcpip主线程则负责处理lwIP协议栈中的各种事件和数据包。一般情况下&#xff0c;ethernetif_input线程的优先级应该设置为低于tcpip主线程的优先级。 这是因为在实时操作系统…

HarmonyOS ArkUI入门—HarmonyOS ArkUI来开发一个健康饮食应用

本文演示如果在DevEco Studio 3里面&#xff0c;用HarmonyOS的ArkUI来开发一个健康饮食应用。体验HarmonyOS 3最新API 9&#xff01; 获取HarmonyOS应用 HarmonyOS的ArkUI来开发一个健康饮食的ArkUI程序“ArkUIHealthyDiet”&#xff0c;基础代码已经有了[1]&#xff0c;个人…

20 OpenCV像素重映

文章目录 像素重映remap 重映算子代码示例 像素重映 简单点说就是把输入图像中各个像素按照一定的规则映射到另外一张图像的对应位置上去&#xff0c;形成一张新的图像。 g(x,y)是重映射之后的图像&#xff0c;h(x,y)是功能函数&#xff0c;f是源图像 remap 重映算子 Remap…

Java项目:52 springboot基于SpringBoot的旅游网站的设计与实现013

作者主页&#xff1a;舒克日记 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 旅游网站主要功能如下&#xff1a; 1.用户管理&#xff1a;注册、登录、退出、修改密码&#xff1b; 2.分类显示&#xff1a;显示旅游路线的分类&am…

MD5算法:密码学中的传奇

title: MD5算法&#xff1a;密码学中的传奇 date: 2024/3/15 20:08:07 updated: 2024/3/15 20:08:07 tags: MD5起源算法原理安全分析优缺点比较技术改进示例代码应用趋势 MD5算法起源&#xff1a; MD5&#xff08;Message Digest Algorithm 5&#xff09;算法是由MIT的计算机…

OpenHarmony教程指南—ArkTS时钟

简单时钟 介绍 本示例通过使用ohos.display 接口以及Canvas组件来实现一个简单的时钟应用。 效果预览 使用说明 1.界面通过setInterval实现周期性实时刷新时间&#xff0c;使用Canvas绘制时钟&#xff0c;指针旋转角度通过计算得出。 例如&#xff1a;"2 * Math.PI /…

Python QT 之PySide6简单入门

目录 1.开发环境配置 1.1 下载PySide6 2.2 配置pycharm相关快捷方式 PySide6_Designer - QT Designer 设计UI PySide6_UIC - 将QT Designer生成的UI文件转换为python文件 PySide6_RCC - 将RCC文件转换为python文件 2.第一个开发实例 2.1 QT desiger设计界面 2.2 将ui文…

一篇普通的生活周记

学习进度汇报&#xff1a; 这周主要是参考着视频敲完了一个vue2后台项目&#xff0c;主要是vue2element-ui,因为之前写项目的时候用过lay-ui&#xff0c;虽然是结合着node.js写的&#xff0c;但是大差不差&#xff0c;所以上手也很快。同时&#xff0c;学长发给我们了ruoyi项目…

关于如何重燃学习的激情

3月1日是我回学校的第一天。经历了长达8个月在家的昏暗时刻&#xff0c;我这10天的感觉和在家的感觉发生了翻天覆地的变化&#xff0c;最明显的莫过于学习状态的改变。 倒不是说在家学的不好&#xff0c;而是说在学校&#xff0c;我对学习的整体感觉&#xff0c;以及专注程度&…