DockerDesktop安装Oracle

前言

出于某些原因,需要安装Oracle12c,但不想在本机和虚拟机内安装,所以安装在Docker内

安装环境

  • Doecke Desktop v24.0.2

  • windows11

  • Navicat16

安装oracle-12c

拉取oracle-12c镜像

打开DockerDesktop,搜索oracle-12c并拉取镜像(默认下载最新版本的镜像)

image-20230821091728885

由于镜像比较大,时间可能会有点久

运行oracle-12c镜像

image-20230821092158970

配置运行环境

这里我映射物理机的1521和9090端口,9090可以登录网页端管理,1521是数据库的连接接口

将容器内的oracle目录/u01/app/oracle挂载到主机的F盘中F:\Code\Docker\WorkSpace\Oracle(主机目录可以自己选择)

image-20230821093725974

查看日志

image-20230821100723068

连接Oracle数据库

修改oracle账号密码

这个镜像创建的容器用户密码默认有效期是180天,180天后用户会自动锁住,需要进入oracle-12c容器内将密码的有效期设置为永久,下面是默认用户的服务和密码

 hostname: localhost #主机名
 port: 1521 #端口号
 sid: xe 
 service name: xe #服务名
 username: system #用户名
 password: oracle #密码

进入容器内

image-20230821103955296

修改oracle账号密码命令

 # 切换成oracle用户
 su oracle
 # 进入sqlplus
 $ORACLE_HOME/bin/sqlplus / as sysdba
 # 设置密码有效期为无限制
 ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
 # 解锁system用户
 alter user SYSTEM account unlock;

image-20230821103849425

Navicat连接数据库

image-20230821102352758

创建表空间与用户

  • 第一步:创建数据表空间

  • 第二步:创建用户并制定表空间

  • 第三步:给用户授予权限

连接成功后,选中oracle数据库,新建查询

image-20230821104651649

在空白区域输入以下命令

 -- 创建XUANDE数据表空间
 create tablespace xuande datafile '/u01/app/oracle/oradata/XUANDE.dbf' size 50M;

创建表空间成功,同时也会在挂载的目录下生成相应数据文件

image-20230821112318073

创建一个用户,并设置刚才创建的空间为默认表空间

 -- 创建xuande用户密码为123456并设置XUANDE为它的默认表空间
 create user xuande identified by 123456 default tablespace XUANDE;
 -- 给用户xuandeg授权dba(管理员的权限)
 grant connect,resource,dba to xuande;

刷新后可以看到新创建的用户

image-20230821112456146

重启Oracle服务

Docker Desktop中可以一键重启,以下是Linux命令重启服务

 -- 查看监听状态
 lsnrctl status
 -- 停止监听
 lsnrctl stop
 sqlplus / as sysdba
 -- 停止oracle
 SQL>shutdown immediate;
 -- 启动服务
 SQL>startup;
 SQL>exit
 -- 启用监听
 lsnrctl start

参考文章

Docker中安装Oracle-12c_docker安装oracle12c_遇见0和1的博客-CSDN博客

Docker安装Oracle 12c_docker安装oracle12c_goodjob110的博客-CSDN博客

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值