Docker安装部署Oracle 11g
拉取镜像
首先执行如下命令将镜像下载到本地(这个其实就是一个已经安装好 Oracle
数据库的镜像,我们运行后稍作配置就可以直接使用了)
1 | docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g |
启动容器
执行如下命令实例化 Oracle
服务
1 | docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g |
执行 docker ps
命令确认容器启动成功。
进行配置
首先执行如下命令进入 oracle 的命令环境中:
1
docker exec -it oracle11g bash
接着执行如下命令切换到 oracle 数据库的 root 用户下(密码为:
helowin
)1
su root
编辑
profile
文件:1
vi /etc/profile
在末尾处添加如下 ORACLE 环境变量参数后保存退出
注意:作者原先制作这个镜像时,设置的数据库
SID
为helowin
,所以这里的SID
不做修改(emmm…因为要改SID
的地方挺多的)1
2
3export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH接着执行如下命令创建软连接
1
ln -s $ORACLE_HOME /bin/sqlplus /usr/bin
然后执行如下命令切换到
oracle
用户注:一定要写中间的那一横条(-)必须要,否则软连接无效。
1
su - oracle
接着依次执行如下命令登录
sqlplus
:1
2
3sqlplus /nolog
conn /as sysdba执行如下命令将 system 和 sys 两个账户的密码设为 garvey
1
2
3alter user system identified by garvey;
alter user sys identified by garvey;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;我们还可以执行如下命令解锁 scott 用户,同时将其密码设置为 tiger
SCOTT 是 ORACLE 内部的一个示例用户,下面有 emp、dept 等实例表,这些表和表间的关系演示了关系型数据库的一些基本原理。
1
2
3alter user scott account unlock;
alter user scott identified by tiger;
commit;配置完毕后,连续执行多个 exit 即可退出容器,返回到宿主机。
连接测试
我们使用 Jetbrains
出品的一款数据库连接工具 DataGrip 来连接这个 Oracle 数据库(其中 SID 为 helowin),可以发现连接成功
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小嘉的部落格!
评论