前言

最近实习导师要求部署公司项目,其中需要使用Oracle。在经历了window的部署之后他竟然神奇的卡了3小时进度条!无奈之下只能取消,结果可想而知,我还需要卸载我的window版本的Oracle!!

接下来由我为大家带来使用Docker安装Oracle。如果不熟悉Docker的就看看如何使用Docker哦!将来有机会我也会写一篇Docker的简单使用!

1、下载镜像

第一步是下载我们的镜像,也就是Oracle的镜像,我们需要从远程仓库中pull到本地Docker中

docker pull truevoly/oracle-12c

docker windowsservercore干啥用 docker windows server 2012_容器

 在经历过漫长的下载之后,使用Docker images查看镜像是否下载 成功

docker windowsservercore干啥用 docker windows server 2012_SQL_02

在这里可以看到,我们的Oracle已经下载成功了

2、使用Oracle

在确认镜像已经下载成功之后,我们已经可以使用Oracle了

docker run -d -p 1521:1521 --name oracle truevoly/oracle-12c

 简单介绍一下:

  • -d:表示后台启动
  • -p:端口映射 把oracle的1521端口映射到本机的1521端口
  • --name 其别名

启动成功后将会返回一段id,这段id就是Oracle的容器id,我们即可对此id做许多事情

然后进行docker ps 可以查看当前正在运行的容器

docker windowsservercore干啥用 docker windows server 2012_SQL_03

可以看到,Oracle以及运行成功了! 

3、更改Oracle配置

当看到容器id时,容器已经可以启动成功了,现在我们通过容器id进入容器内部,更改Oracle配置

docker exec -it 5727bd997b59 /bin/bash

因为我这边的容器Id是5727bd997b59 所以大家需要更改为自己所docker ps出来的容器id,进入之后即可发现我们的定位已经更改了,现在已经在容器内部了

docker windowsservercore干啥用 docker windows server 2012_docker_04

接下来需要更改Oracle的一些配置,使我们可以使用SqlPlus。

vi /etc/profile

使用vi 进入profile后使用 vi命令来更改配置文件

简单使用vi

  1. 键盘上按下  i 进入编辑模式-插入操作
  2. 键盘上按下Esc退出编辑模式
  3. 键盘上输入:进入命令行模式
  4. 命令行模式键入wq进行保存退出操作

进入到profile后需要在文件最底下添加一下3行配置

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH

保存后即可。

4、进入SqlPlus

使用su 转入oracle账号,然后进入sqlplus,成功后显示sql

root@5727bd997b59:/# su oracle
oracle@5727bd997b59:/$ $ORACLE_HOME/bin/sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Wed Sep 21 09:23:57 2022

Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production
SQL>

然后修改直接system和sys的密码

SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

Profile altered.

SQL> alter user SYSTEM account unlock;

User altered.

SQL> alter user system identified by rootadmin;

User altered.

SQL> alter user sys identified by rootadmin;

User altered.

然后进入navicat进行查看 填入对应的信息用户名密码为刚刚自己更改的那个

服务名需要到sql下使用select命令即可查看直接Oracle的服务名

SQL> select name from v$database;

NAME
---------
XE

docker windowsservercore干啥用 docker windows server 2012_SQL_05

  填写完毕测试连接,连接成功!

docker windowsservercore干啥用 docker windows server 2012_SQL_06

 总结

使用Docker能极大快速的部署我们的所需要的运行环境(因为踩过Oracle-window的坑),本篇文章中给大家带来嘞在Linux环境下部署Docker的Oracle,希望我所写的内容能给大家带来帮助,也希望大佬们能多多指正,谢谢!