如何利用docker安装oracle?

前言

Oracle Database是一个可扩展、高性能和可靠的关系数据库管理系统,被广泛用于企业的数据管理和应用开发。它提供了强大的数据存储、查询和处理功能,支持复杂的数据模型和大规模的数据处理需求。Docker作为一个强大的容器化平台,因此我们可以利用docker来安装我们的oracle,以此提高开发和运维的效率。

安装docker

  • 多的不说,少的不唠,咱们先把要用的docker安装下(安装过的请忽略),按顺序执行以下命令:
csharp 复制代码
#安装Docker所需的依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
#添加Docker的Yum仓库地址为阿里云镜像站点,用于获取Docker软件包
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装指定版本的Docker软件包
yum -y install docker-ce-18.03.1.ce 
#检测是否成功
docker version

安装oracle

获取镜像

bash 复制代码
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
或者
docker pull registry.aliyuncs.com/helowin/oracle_11g
  • 如果你是公司内网,就无法像上面那样拉取镜像了,因此我们需要将需要的镜像上传到服务器某个目录,利用docker load加载进来就行了。
bash 复制代码
#从别的服务器生成docker-oracle.rar
docker save oracle(你服务器中镜像名称) -o docker-oracle.rar(你定义的镜像包名称)
#导入
docker load < docker-oracle.rar #注意自己的docker-oracle.rar目录

运行

ruby 复制代码
docker run -itd -p 1521:1521 --name oracle --restart=always --mount source=oracle_vol,target=/home/oracle/app/oracle/oradata -e ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2 -e ORACLE_SID=helowin registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:latest
#检查是否成功
docker ps

oracle配置

  1. 进入oracle容器内部:docker exec -it oracle /bin/bash
  2. 切换到root用户 su root 密码:helowin
  3. 配置环境变量, 使用vi /etc/profile进行编辑, 末尾加上如下:
bash 复制代码
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLEHOME/bin:PATH
  1. 保存退出后,重新加载配置 source /etc/profile
  2. 创建软链接 ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
  3. 切换回oracle用户:su - oracle
  4. 添加远程登录用户:
sql 复制代码
create user test identified by 123456; #创建内部管理员账号密码
grant connect,resource,dba to test; #将dba权限授权给内部管理员账号和密码
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; #设置密码永不过期
alter system set processes=1500 scope=spfile; #修改数据库最大连接数据
  1. 修改完成之后,要重新启动一下数据库,使配置生效,先进入数据库 conn /as sysdba;,然后先关闭再开启(如下图)
  2. 利用navicat工具连oracle:sid:helowin 账号:test 密码 123456

结语

初次接触oracle,如有不足还请指正。后续如果有时间,会深入研究。

相关推荐
叼烟扛炮2 分钟前
Linux 学习笔记(九):自动化构建神器 Make 与 Makefile
linux·运维·服务器
lisanmengmeng5 分钟前
监控Kubernetes集群的GPU资源(三)
linux·容器·kubernetes
蜡笔羊驼9 分钟前
ModuleNotFoundError: No module named ‘torchvision.transforms.functional_tensor‘
linux·人工智能·python
箓维10 分钟前
线程池&&线程安全与可重入
linux·网络·安全
程序员-Benothing30 分钟前
Linux端口与连接排查:ss、lsof、nc、telnet、curl
linux·运维·服务器
邪修king1 小时前
Re:Linux系统篇(三十七):进程间通信Chapter4:System V 共享内存深度解析:为什么它是最快的 IPC?
android·linux·运维
captain3761 小时前
MyBatis操作数据库(入门1)
数据库·oracle·mybatis
张张123y2 小时前
2026 Agent 框架怎么选?拆 3 层底层逻辑(运行循环 / 记忆 / 工具协议)+ 一张决策表
linux·ubuntu·microsoft·langgraph·mcp·crewai·agent 框架
零域行者2 小时前
Linux入门基础命令
linux·服务器·安全·web安全
打工仔折腾 AI2 小时前
Linux 网络编程:从零掌握 TCP Socket 编程与 C++ 实战落地
linux·网络·人工智能·后端·python·tcp/ip·性能优化