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

相关推荐
逻辑驱动的ken12 分钟前
Java高频面试考点场景题09
java·开发语言·数据库·算法·oracle·哈希算法·散列表
feng_you_ying_li1 小时前
linux之运行状态(2),内核链表与进程状态
linux
下地种菜小叶1 小时前
定时任务系统怎么设计?一次讲清任务注册、分布式调度、幂等执行与失败补偿
java·开发语言·数据库·oracle·rabbitmq
图图玩ai2 小时前
SSH 命令管理工具怎么选?从命令收藏到批量执行一次讲清
linux·nginx·docker·ai·程序员·ssh·可视化·gmssh·批量命令执行
似水এ᭄往昔2 小时前
【Linux】--基础IO
linux·服务器
-XWB-3 小时前
【Oracle】Oracle诊断系列(5/6):统计信息与执行计划——优化器的“大脑”管理
数据库·oracle
StarryX3 小时前
Mac 用 UTM 装 Debian 实操教程(二)
linux
大江东去浪淘尽千古风流人物3 小时前
【cuVSLAM】项目解析:一套偏工程实战的 GPU 紧耦合视觉惯性 SLAM
数据库·人工智能·python·机器学习·oracle
陆伟峰(云固件作者)3 小时前
Linux Mint 22.3:给初学者的第一份 Linux 说明书
linux·运维·服务器
oradh3 小时前
Oracle数据库视图概述
数据库·oracle·数据库视图·oracle基础·oracle入门