# Docker 安装 oracle11g并配置
> [Docker 安装文档](https://blog.levnli.cn/archives/centos7an-zhuang-docker)
# 拉取镜像
`docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g`

由于镜像有点大,需要等一下
# 运行镜像并挂载到home下
```shell
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`
```shell
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
> 有两个服务名,`helowin`,`helowinXDB`,但是都指向`helowin`这个实例
Docker 安装 oracle11g并配置