如何利用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,如有不足还请指正。后续如果有时间,会深入研究。

相关推荐
迷茫的蜉蝣13 分钟前
linux之时间服务器
linux·服务器·时间同步·ntp同步
2401_8700423919 分钟前
CISAW- CDF 认证电子数据取证训练: Linux 取证分析实战
linux·运维·服务器
喝旺仔la20 分钟前
Linux的基本用法
linux·运维·服务器
进击的程序汪22 分钟前
Linux 系统管理和监控命令---- auditctl命令
linux·服务器·网络
饭桶也得吃饭33 分钟前
部署Apache Doris
linux·apache·doris
wowocpp42 分钟前
ubuntu 22.04 shell
linux·运维·ubuntu
Wangx_wang1 小时前
Linux——Linux环境基础开发工具使用
linux
DisonTangor1 小时前
【个人笔记】如何将 Linux 文件系统扩容
linux·运维·笔记
源来猿往2 小时前
问题An object named ‘ResNetArcFace‘ was already registered in ‘arch‘ registry!
linux·运维·服务器
黄名富2 小时前
SQL 处理数列
数据库·sql·mysql·oracle