Docker 安装 oracle11g并配置

Docker 安装文档

拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g


由于镜像有点大,需要等一下

运行镜像并挂载到home下

docker run --name oracle11g -d -p 1521:1521 -h demo \
--privileged=true --restart=always -e TZ=Asia/Shanghai \
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

进入容器

docker exec -it oracle11g bash

切换到root用户

su root
密码:helowin

配置ORACLE环境变量

$ vi /etc/profile

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

更新配置
$ source /etc/profile

创建软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

配置用户信息

切换到oracle 用户

这里还要说一下,一定要写中间的 - 必须要,否则软连接无效

$ su - oracle

登录oracle

$ sqlplus /nolog

SQL> conn /as sysdba

修改sys、system密码

SQL> alter user system identified by system;

SQL> alter user sys identified by sys;

也可以创建用户 create user test identified by test;

并给用户赋予权限 grant connect,resource,dba to test;

修改oracle默认用户密码永不过期

SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

退出软连接

SQL> exit

使用Navicat连接

查看服务名:lsnrctl status

配置Navicat连接信息

总结

所有配置都是在容器内部进行
容器内部的root密码为:helowin
oracle的登录账号有两个,账号/密码分别为:system/system,sys/sys
有两个服务名,helowinhelowinXDB,但是都指向helowin这个实例