【愚公系列】2022年02月 Docker容器 Oracle的搭建

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 【愚公系列】2022年02月 Docker容器 Oracle的搭建

前言

oracle作为一个重量级的大型关系型数据库、在各行各业的使用中都是很常见的、但是oracle配置异常麻烦、使用过oracle的工程师应该都有体会、特别是在liunx中配置,遇到的坑数不胜数、本文介绍oracle在Docker环境下的安装减少本机配置的麻烦。


一、Oracle的搭建

1.拉取镜像

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

本文以oracle_11g版本为例


image.png

二、Oracle旧版本兼容配置

如果不兼容旧版本,启动oracle容器会报Exited 139错误,解决方案如下:

1.在这个%userprofile%文件夹下创建一个.wslconfig文件

image.png

文件内容如下:


[wsl2]
kernelCommandLine = vsyscall=emulate

上面文件创建好之后


在cmd中执行wsl --shutdown


重启docker desktop


三、Oracle的配置

1.启动oracle

docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

参数说明:


-d 后台进程运行

--name 容器名称

-p port:port 本地端口:容器端口


启动完成之后,使用:docker ps 查看程序运行情况。

image.png


2.进入镜像进行配置

进入镜像进行配置


docker exec -it oracle11 bash

image.png


3.切换到root用户下进行配置

su root

密码:helowin

image.png


4.编辑profile文件配置ORACLE环境变量

vi /etc/profile

最后添加以下3行配置

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH

保存 ::wq

让配置生效:source /etc/profile


5.创建软连接

ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

6.切换到oracle 用户

su - oracle

7.登录sqlplus并修改sys、system用户密码

sqlplus /nolog
conn /as sysdba

image.png


8.修改sys、system用户密码并刷新权限

alter user system identified by oracle;
alter user sys identified by oracle;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;


退出:exit;


9.查看一下oracle实例状态

lsnrctl status

image.png



10.用nacivat连接oracle数据库

服务名:helowin(一定要填写helowin)

密码:oracle(第12步设置的密码)

image.png

目录
打赏
0
0
0
0
4
分享
相关文章
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
141 57
|
19天前
|
如何对应用代码进行优化以提高在Docker容器中的性能?
如何对应用代码进行优化以提高在Docker容器中的性能?
145 1
|
19天前
|
如何对迁移到Docker容器中的应用进行性能优化?
如何对迁移到Docker容器中的应用进行性能优化?
133 58
|
24天前
|
使用Docker Compose工具进行容器编排的教程
以上就是使用Docker Compose进行容器编排的基础操作。这能帮你更有效地在本地或者在服务器上部署和管理多容器应用。
183 11
Docker化运维:容器部署的实践指南
Docker化运维:容器部署的实践指南
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
189 12
Docker网关冲突导致容器启动网络异常解决方案
当执行`docker-compose up`命令时,服务器网络可能因Docker创建新网桥导致IP段冲突而中断。原因是Docker默认的docker0网卡(172.17.0.1/16)与宿主机网络地址段重叠,引发路由异常。解决方法为修改docker0地址段,通过配置`/etc/docker/daemon.json`调整为非冲突段(如192.168.200.1/24),并重启服务。同时,在`docker-compose.yml`中指定网络模式为`bridge`,最后通过检查docker0地址、网络接口列表及测试容器启动验证修复效果。
【赵渝强老师】数据库不适合Docker容器化部署的原因
本文介绍了在Docker中部署MySQL数据库并实现数据持久化的方法,同时分析了数据库不适合容器化的原因。通过具体步骤演示如何拉取镜像、创建持久化目录及启动容器,确保数据安全存储。然而,由于数据安全性、硬件资源争用、网络带宽限制及额外隔离层等问题,数据库服务并不完全适合Docker容器化部署。文中还提到数据库一旦部署通常无需频繁升级,与Docker易于重构和重新部署的特点不符。
239 18
【赵渝强老师】数据库不适合Docker容器化部署的原因
获取Docker基础使用方法:让容器化变得轻松。
对于Docker的初学者来说,了解这些基础知识点就足够了。实践是最好的老师,越是动手操作,对Docker的理解会越深。祝阅读这篇文章的开发者们一切顺利,愿你在Docker的海洋中航行顺利!
124 17
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问