使用docker 安装oracle 11g 挂载数据目录并修改SID centos-7_docker 安装oracle设置挂载目录

建议:建议使用其它系统去装ubuntu或Rocky(因为centos已经停止维护)
1、安装docker
这里就不细写了,可以查看清华镜像源或者阿里镜像源
清华:https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/
阿里:https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.57e31b11xiluIS

2、在本机创建持久化数据目录

mkdir -p /opt/oracle/flash_recovery_area
mkdir -p /opt/oracle/oradata

3、docker部署oracle _11g
(1)准备工作

#将镜像pull下来
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
#查看一下
docker images
#然后先启动一下生成一下数据文件和控制文件
docker run -d --name oracle -p 1521:1521 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
#将数据目录拷出来
docker cp oracle:/home/oracle/app/oracle/oradata /opt/oracle/oradata

docker cp oracle:/home/oracle/app/oracle/flash_recovery_area/helowin /opt/oracle/flash_recovery_area/helowin
#停止镜像
docker stop oracle
#删除停止镜像
docker rm oracle
#修改用户组
chown -R 500:500 /opt/oracle/
#进行查看权限
 cd /opt/oracle/
 #列出
 ll

(2)开始启动新的镜像并指定创建的数据目录

-d: 以守护(detached)模式运行容器。这意味着容器会在后台运行,而非与当前终端关联,允许您在不附加到容器标准输入和输出的情况下继续使用命令行。

–restart=always: 设置容器的重启策略。当 Docker 主机重启或容器意外退出时,Docker 将始终尝试重新启动此容器。这对于确保关键服务如数据库始终保持运行状态非常有用。

–name oracle_llg: 为新创建的容器指定一个易于识别的名称 oracle_llg,以便后续管理和操作容器时使用。

-p 1521:1521: 映射宿主机(host)端口 1521 到容器内部的端口 1521。这样,外部应用程序可以通过宿主机的 1521 端口访问容器中运行的 Oracle 数据库服务。

–privileged=true: 为容器赋予特权模式。在特权模式下,容器内的进程拥有主机上的所有权限,包括访问硬件设备、执行某些受限操作等。这对于运行需要高度系统权限(如直接访问特定设备)的服务如
Oracle 数据库可能是必要的。

-v /opt/oracle/oradata:/home/oracle/app/oracle/oradata: 创建一个卷挂载,将宿主机目录 /opt/oracle/oradata 挂载到容器内部的 /home/oracle/app/oracle/oradata。这样,容器中的
Oracle 数据库可以使用宿主机上的存储空间来持久化其数据文件,即使容器被删除或重启,这些数据仍会被保留。

-v /opt/oracle/flash_recovery_area/helowin:/home/oracle/app/oracle/flash_recovery_area/helowin:
另一个卷挂载,将宿主机目录 /opt/oracle/flash_recovery_area/helowin
挂载到容器内部的相同路径。这通常是用于存放 Oracle 数据库的闪回恢复区域(Flash Recovery
Area),包含备份、归档日志等重要恢复数据,确保这些数据同样能在容器生命周期之外得到持久化。

registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:
指定要使用的镜像。这是一个从阿里云(Hangzhou region)上的 Docker 注册表拉取的镜像,由 helowin 用户提供的
oracle_11g 镜像。这个镜像包含了运行 Oracle 11g 数据库所需的所有软件环境和配置。

#启动挂载数据目录的镜像(建议再挂载一个备份目录)
docker run \
    -d \
    --restart=always \
    --name oracle_llg \
    -p 1521:1521 \
    --privileged=true \
    -v /opt/oracle/oradata:/home/oracle/app/oracle/oradata \
    -v /opt/oracle/flash_recovery_area/helowin:/home/oracle/app/oracle/flash_recovery_area/helowin \
    registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
#启动后查看
docker ps

(3)创建用户和修改sys的密码

#进入镜像
docker exec -it oracle_llg /bin/bash
#source一下文件
source ~/.bash_profile
#登录qdl修改sys密码并创建用户
sqlplus /nolog
#下面修改其用户的密码并创建用户的操作
SQL> conn / as sysdba
Connected.
#修改sys用户密码
SQL> alter user sys identified by ucaqaz;

User altered.
#创建tianmen用户并设置密码
SQL> create user tianmen identified by ucaqaz;

User created.
#授予权限tianmen
SQL> grant connect,resource,dba to tianmen;

Grant succeeded.
#提交修改
SQL> commit;

Commit complete.

#执行命令更新的Oracle数据库中的默认配置文件,此配置文件关联的所有用户的密码有效期限制被移除。
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

Profile altered.



**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/a76389826ec9ffa7717dcf89e41e54a3.png)
![img](https://img-blog.csdnimg.cn/img_convert/23011670555dc53ee99b85981054a3a6.png)
![img](https://img-blog.csdnimg.cn/img_convert/2b67e77d492923350892666ec24b19a2.png)
![img](https://img-blog.csdnimg.cn/img_convert/794896ca3eb7c817a2af0d7e3ace1b50.png)
![img](https://img-blog.csdnimg.cn/img_convert/015095038b5258ad6b47537fdf339a77.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
![img](https://img-blog.csdnimg.cn/img_convert/6a164c291b7dd78b141cfdb03d0b31bf.jpeg)



为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**

![](https://img-blog.csdnimg.cn/img_convert/aa83837760049950beb28e673a96a824.png)

本份面试集锦涵盖了

*   **174 道运维工程师面试题**
*   **128道k8s面试题**
*   **108道shell脚本面试题**
*   **200道Linux面试题**
*   **51道docker面试题**
*   **35道Jenkis面试题**
*   **78道MongoDB面试题**
*   **17道ansible面试题**
*   **60道dubbo面试题**
*   **53道kafka面试**
*   **18道mysql面试题**
*   **40道nginx面试题**
*   **77道redis面试题**
*   **28道zookeeper**

**总计 1000+ 道面试题, 内容 又全含金量又高**

*   **174道运维工程师面试题**

> 1、什么是运维?

> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

> 3、现在给你三百台服务器,你怎么对他们进行管理?

> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点

> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

> 7、Tomcat和Resin有什么区别,工作中你怎么选择?

> 8、什么是中间件?什么是jdk?

> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?

> 10、什么叫CDN?

> 11、什么叫网站灰度发布?

> 12、简述DNS进行域名解析的过程?

> 13、RabbitMQ是什么东西?

> 14、讲一下Keepalived的工作原理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

[**一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!**](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)

**AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**

bb5a486d4c3ab8389e65ecb71ac0)

**AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值