当前位置: 首页 > news >正文

Docker安装Oracle11g数据库

  • 操作系统:centOS9
  • 使用此方法检查是否安装Docker:docker --help,如果有帮助文件则证明安装成功
  • 使用此语句检查Docker是否正在运行:docker images,实际上是查看本地镜像
  • 如果发现未运行则开启Docker:systemctl start docker
  • 查看正在运行的服务:systemctl list-units --type=service
  • 可能用到的命令:设置Docker自启:systemctl enable docker.service
    查看自启动的项目:systemctl list-unit-files | grep enable

开始安装:

  • 拉取镜像:docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
  • 查看镜像:docker images
  • 为了保证Docker实例停止后数据不会丢失,故需要数据持久化,需要创建数据卷,此处名为oracle_vol
    创建数据卷:docker volume create oracle_vol
    查看数据卷:docker volume ls
    删除数据卷:docker volume rm oracle_vol

  • 数据卷(Data Volume)是Docker中用于持久化数据的一种方法,它可以在容器内部创建一个或多个目录,将主机文件系统中的文件或目录挂载到容器中。数据卷是独立于容器生命周期的,即使容器被删除,数据卷也不会被自动删除。
    文件映射(File Mapping)是通过使用-v或--mount选项将主机上的文件或目录映射到容器中的一种方法。与数据卷相比,文件映射不提供数据持久化的功能,容器删除时,映射的主机文件可能还会保留在主机上,但对容器来说就像是被删除了一样。
    数据卷和文件映射的主要区别:
    持久化:数据卷提供持久化,即使容器删除,数据还会保留;文件映射则不提供持久化。
    主机修改:数据卷中的内容可以在容器外部修改;文件映射的内容可以在主机上修改,并会立即反映到容器内。
    构建容器映射:数据卷通常在容器构建时指定,不能在docker run命令中指定;文件映射可以在docker run命令中指定,也可以在docker-compose文件中指定。

  • 运行镜像,创建容器:docker run -itd \
    -p 1521:1521 \
    --name oracle \
    --restart=always \
    --mount source=oracle_vol,target=/home/oracle/app/oracle/oradata \
    registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

  • 查看容器:docker ps -a

进入容器配置Oracle-11g环境

  • 进入容器环境:docker exec -it oracle bash
  • 切换至root用户,当前为oracle用户,启动镜像时系统创建的:su root密码helowin
  • 编辑环境变量:vi /etc/profile,追加如下内容。docker中的profile文件不支持中文,暂时未解决。
  • # oracle home目录
    export ORACLE_HOME=/home/oracle/app/oracle/prouct/11.2.0/dbhome_2   
    # oracle 服务名或者 SID名,要记住这个名字helowin,它是naivcat或者DBeaver登录的重要选项
    export ORACLE_SID=helowin     
    # oracle环境变量
    export PATH=$ORACLE_HOME/bin:$PATH

     
  • 编辑完保存后,使环境变量生效:source /etc/profile
  • 创建软连接:ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
  • 切换回oracle用户:su - oracle,中间有减号
  • sqlplus修改sys、system用户密码
  • sqlplus /nolog   # 登录

    # 以下是SQL
    conn /as sysdba
    alter user system identified by system; -- 修改system用户账号密码为system;
    alter user sys identified by sys; -- 修改sys用户账号密码为sys;

     

  • 添加远程用户,远程登录参数如下
    • SID:helowin
    • User:test
    • Password:test
  • create user test identified by test; -- 创建内部管理员账号密码;
    grant connect,resource,dba to test; -- 将dba角色授权给内部管理员账号和密码;
    ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; -- 设置密码永不过期
    alter system set processes=1000 scope=spfile; -- 修改数据库最大连接数

     
  • 保存并重启数据库   conn /as sysdba; -- 保存数据库
    shutdown immediate; -- 关闭数据库
    startup; -- 启动数据库
    show user;
  • 远程连接,使用navicat进行连接

相关文章:

  • 关于学习Go语言的并发编程
  • 嘴尚绝卤味:健康美味新选择,开启味蕾新旅程!
  • rust语言初识
  • phpstudy配置网站伪静态
  • 景源畅信电商:做抖音运营怎么开始第一步?
  • 循序渐进Docker Compose
  • SEC批准以太坊ETF了吗?
  • react 使用 Reducer 和 Context 进行纵向扩展
  • 安全攻防三
  • 29【PS 作图】宫灯 夜景转换
  • SCP收容物191~200
  • [Android]将私钥(.pk8)和公钥证书(.pem/.crt)合并成一个PKCS#12格式的密钥库文件
  • 周末总结(2024/05/25)
  • spring cloud config server源码学习(一)
  • 用天工AI写文章,节约了8个人的成本
  • JavaScript-如何实现克隆(clone)函数
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • chrome扩展demo1-小时钟
  • CSS实用技巧
  • E-HPC支持多队列管理和自动伸缩
  • Mysql数据库的条件查询语句
  • Mysql优化
  • SpringBoot 实战 (三) | 配置文件详解
  • Xmanager 远程桌面 CentOS 7
  • 闭包--闭包作用之保存(一)
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 关于 Cirru Editor 存储格式
  • 力扣(LeetCode)22
  • 前端技术周刊 2019-01-14:客户端存储
  • 什么是Javascript函数节流?
  • 我的zsh配置, 2019最新方案
  • 一道面试题引发的“血案”
  • 走向全栈之MongoDB的使用
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • puppet连载22:define用法
  • 阿里云移动端播放器高级功能介绍
  • ​Python 3 新特性:类型注解
  • ​secrets --- 生成管理密码的安全随机数​
  • (2)nginx 安装、启停
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (第一天)包装对象、作用域、创建对象
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (四)图像的%2线性拉伸
  • (转)jQuery 基础
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .Net 6.0 处理跨域的方式
  • .net 7 上传文件踩坑
  • .NET Core跨平台微服务学习资源
  • .net 调用php,php 调用.net com组件 --
  • .net 受管制代码
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?