一、下载相关资源
在docker上下载oracle-11g镜像。
去官网下载 oracle 11g ,没有oracle账户的话需要注册。需要把两个文件都下载下来,然后一起解压到同个文件下。
我是放到D:/data/oracle/install目录下,解压出来的文件是database
二、安装
运行以下命令,运行容器
# -v是映射物理机和docker的文件目录
# D:/data/oracle/install:/install,前面的是物理机的目录,后面的docker容器的目录
# 必须保证前者的目录下有database这个解压文件,后者的目录是固定的
docker run --privileged --name oracle11g -p 1521:1521 -v D:/data/oracle/install:/install jaspeen/oracle-11g
当出现100%complete的时候,oracle11g已经安装完成。
三、配置
3.1 新开一个终端
输入docker ps -a 查看是否有oracle11g容器在运行。
3.2 连接到容器
[oracle@6de2c18c3eb5 /]$ docker exec -it oracle11g bash
3.3 切换oracle用户
# -的含义是把环境变量切换到oracle用户
[oracle@6de2c18c3eb5 /]$ su - oracle
3.4 解锁用户
# 连接到sql控制台
[oracle@6de2c18c3eb5 /]$ sqlplus / as sysdba
# 因为oracle内置了许多的用户,这里就直接拿来用了
# 解锁scott用户
SQL> alter user scott account unlock;
# 提交事务
SQL> commit;
# 退出
SQL> exit;
# 连接到scott用户
[oracle@6de2c18c3eb5 /]$ conn scott/tiger;
# 设置密码
...
SQL> password: 123abc
# 退出
SQL> exit;
3.5 授权操作(可以不做)
# 使用sysdba登录
[oracle@6de2c18c3eb5 /]$ sqlplus / as sysdba
# 因为是内置的普通用户,所以没有dba权限需要做以下配置
SQL> grant connect,resource,dba to scott;
# 授予任何主机访问数据的权限
SQL> grant all privileges to scott;
3.5 使用连接工具连接到数据库