基于Docker的Oracle12c的学习与使用
1.安装docker ce
不再赘述。
2.拉取镜像
注意拉取镜像时间较长,建议在最好在空闲或者网络比较好的时间段拉取
$ docker pull mritschel/oracle12cr2_base
下载完成后查看镜像
$ docker images
3.创建容器:
方式一:创建端口运行,每次退出数据不会保留
$ docker run -d -p 8080:8080 -p 1521:1521 sath89/oracle-12c
方式二:使用数据卷实现容器数据分离,实现数据持久化(本次采用)
$ docker run -d -p 8080:8080 -p 5500:5500 -p 1521:1521 -v /home/gugu/oradata:/u01/app/oracle --name oracle-base mritschel/oracle12cr2_base
解释:-d后台运行容器,并返回容器id,-p指定端口映射关系 -v指定数据卷位置
在上面的docker run命令中的参数如下
参数名 | 默认值 | 备注 |
DBCA_TOTAL_MEMORY | 1024 | 如果将此值设置得太低,DBCA将失败 |
ORACLE_BASE | /u01/app/oracle | 基础路径 |
ORACLE_HOME | /u01/app/oracle/product/12.1.0.2/dbhome_1 | 主目录 |
PATH | $ORACLE_HOME/bin:$ORACLE_HOME/OPatch/:/usr/sbin:$PATH \ |
|
ORACLE_SID | ORCLCDB | SID |
SOFTWARE_HOME | $ORACLE_BASE/install | 安装路径 |
SCRIPTS_HOME | $ORACLE_BASE | 脚本路径 |
查看日志:
$ docker logs oracle-base
最下面可以找到
说明Oracle正常启动和创建实例,耐心等待一下,如果分分钟创建成功,就需要查看是不是创建失败了解读一下日志,可以比较方便的分析出原因。
说明您的数据库实例化并且准备就绪
查看docker运行进程
$ docker ps
4.进入系统
$ docker exec -it oracle-base /bin/bash
5.重置oracle密码
运行脚本
$ ./set_password.sh password
6.Sqlplus登录
$ sqlplus system/asd@//localhost:1521/ORCLCDB
本地的navicat测试
美滋滋。
参考说明