返回 导航

Docker / K8s

hangge.com

Docker - 通过容器安装部署Oracle 11g数据库教程(第三方镜像)

作者:hangge | 2020-03-19 08:10
    我在之前写过文件介绍如何使用 Oracle 官方的安装程序进行 Oracle 11g 数据库的安装(点击查看)。如果只是单纯地日常测试使用或者学习的话,可以使用本文介绍另一种方式:通过 Docker 来快速搭建 Oracle 数据库环境,使用这种方式可以免去很多安装配置上的麻烦,方便快捷。

1,拉取镜像

(1)首先执行如下命令将镜像下载到本地(这个其实就是一个已经安装好 Oracle 数据库的镜像,我们运行后稍作配置就可以直接使用了):
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

(2)由于镜像比较大,执行如下命令删除所有 dangling 数据卷(即无用的 Volume),避免空间不足:
docker volume rm $(docker volume ls -qf dangling=true)

2,启动容器 

(1)执行如下命令实例化 Oracle 服务:
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

(2)执行 docker ps 命令确认容器启动成功。

3,进行配置

(1)首先执行如下命令进入 oracle 的命令环境中:
docker exec -it oracle11g bash

(2)接着执行如下命令切换到 oracle 数据库的 root 用户下(密码为:helowin
su root

(3)编辑 profile 文件:
vi /etc/profile

(4)在末尾处添加如下 ORACLE 环境变量参数后保存退出:
注意:作者原先制作这个镜像时,设置的数据库 SID helowin,所以这里的 SID 不做修改(修改了也没用,因为要改变 SID 的话修改多处地方)。
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH

(5)接着执行如下命令创建软连接:
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

(6)然后执行如下命令切换到 oracle 用户:
注意:一定要写中间的那一横条(-)必须要,否则软连接无效。
su - oracle

(7)接着依次执行如下命令登录 sqlplus
sqlplus /nolog
conn /as sysdba

(8)执行如下命令将 system sys 两个账户的密码设为 abc
alter user system identified by abc;
alter user sys identified by abc;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

(9)我们还可以执行如下命令解锁 scott 用户,同时将其密码设置为 abc
SCOTT ORACLE 内部的一个示例用户,下面有 empdept 等实例表,这些表和表间的关系演示了关系型数据库的一些基本原理。
alter user scott account unlock;
alter user scott identified by abc;
commit;

(10)配置完毕后,连续执行多个 exit 即可退出容器,返回到宿主机。

4,连接测试

我们使用客户端工具连接下这个 Oracle 数据库(其中 SID helowin),可以发现连接成功:

评论

全部评论(0)

回到顶部