以前在没有docker的时候安装Oracle需要配置一大堆复杂的参数、安装很多依赖包,导致几乎每次安装都会遇到各种奇奇怪怪的问题,现在有了docker这个神器,安装oracle只要轻松点一下,几乎没有要配置的地方,每次都能成功,非常的方便。
当然这个安装的oracle我们一般只是用来做测试的,如果生产环境,还是建议使用裸金属机器安装。
先决条件,安装docker-ce请参考:https://blog.terrynow.com/2021/12/15/centos-install-latest-docker-ce-simple-steps/
安装步骤
本次安装的镜像是Oracle11g,开源地址在:https://github.com/jaspeen/oracle-11g
- 首先pull镜像
docker pull jaspeen/oracle-11g
默认docker pull镜像速度可能不快,可以参考这篇文章加速:https://blog.terrynow.com/2021/12/24/docker-set-registry-mirrors-to-speed-up-pull/
- 下载oracle11g的安装文件
一般Oracle的镜像都会有版权问题,直接把Oracle集成到镜像中,会有风险,所以我们还需要下载Oracle11的安装文件,放在指定位置后启动镜像,我们不需要做什么,只要等一会儿oracle11g就已经可以使用了。
安装镜像网盘提供
https://cloud.189.cn/web/share?code=mUF7r2RJFzyu(访问码:9zqp)
百度网盘:
链接: https://pan.baidu.com/s/1crtpo3nS7o8gckfYaDvX4w 提取码: eju4 复制这段内容后打开百度网盘手机App,操作更方便哦
把网盘提供的两个zip包分别解压(linux.x64_11gR2_database_1of2.zip和linux.x64_11gR2_database_2of2.zip)
# 假设加载的两个zip文件,放在/opt/oracle下面 cd /opt/oracle unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip # 解压后,database文件夹是在/opt/oracle下面 ls -l total 2295592 drwxr-xr-x 8 root root 128 Aug 21 2009 database -rw-r--r-- 1 root root 1239269270 Dec 21 14:00 linux.x64_11gR2_database_1of2.zip -rw-r--r-- 1 root root 1111416131 Dec 21 14:01 linux.x64_11gR2_database_2of2.zip
- 启动容器
# /opt/oracle 就是oracle安装文件夹database所在的位置 docker run --privileged --name oracle11g -p 1521:1521 -v /opt/oracle:/install jaspeen/oracle-11g
我们稍微等个10分钟左右,跑到类似这里的界面,就说明可以了:
这个窗口如果退不出去,就直接关闭,再重新用Terminal进入一次。
继续运行:
docker commit oracle11g oracle11g-installed
这样就好了,镜像image保存成oracle11g-installed,后续如果还需要重新安装,就直接用oracle11g-installed这个image,不需要重新安装了,非常的简单,例如:
docker run --privileged --name oracle11g -p 1521:1521 -v /opt/oracle:/install oracle11g-installed
- 安装好后的一些默认参数
数据库路径是在容器里面的: /opt/oracle
容器里的 OS users:
- root/install
- oracle/install
默认的Oracle账号密码是:
username/password: SYS/oracle
SID: orcl
可根据需要修改sys密码:
# 进入oracle11g的容器 docker exec -it oracle11g /bin/bash # 切换用户到oracle su - oracle 进入sqlplus操作 sqlplus / as sysdba
SQLPlus下操作
# 查看数据库状态 select status from v$instance; # 修改sys的密码 alter user sys identified by oracle;
文章评论