越来越觉得docker的出现极大的降低了系统构建的时间成本,小到tomcat,大到oracle,mysql,linux运行环境等等,这次的oracle安装仅需要几步就安装好了,极大方便了自己做测试或搭建小网站用的快速需求,好了,言归正传。
首先要有docker环境,docker已经安装好了,具体步骤在另一篇里有详细写:
deepin安装docker下载tomcat镜像并发布war包以及管理tomcat
去dockerhub查找oracle镜像
登录https://hub.docker.com
搜索oracle-xe-11g,选了一个下载次数比较多同时又不是很老的上传版本
点击进去里面有简单的quik start描述教程
https://hub.docker.com/r/oracleinanutshell/oracle-xe-11g
下载镜像
docker pull oracleinanutshell/oracle-xe-11g
运行docker images可以查看我们下载的镜像
创建oracle容器
docker run -d --name myoracle11g -p 1521:1521 -p 8080:8080 -e ORACLE_ALLOW_REMOTE=true -e ORACLE_PWD=oracle --shm-size=1g --restart=always oracleinanutshell/oracle-xe-11g
这里有几点需要注意的是:
1 --name:给容器起别名 。
2 --shm-size=1g:设置/dev/shm的大小。格式为:。number必须大于0。unit可选,可以是b,k,m或g。如果不指定unit,系统默认使用字节。如果此参数不指定,默认使用64m。
对于/dev/shm 以下链接会有详细解释
https://www.cnblogs.com/createyuan/p/4341349.html
3 --restart=always --restart 标志会检查容器的退出代码,并据此来决定是否要重启容器,默认是不会重启。--restart的参数说明 always:无论容器的退出代码是什么,Docker都会自动重启该容器。on-failure:只有当容器的退出代码为非0值的时候才会自动重启。另外,该参数还接受一个可选的重启次数参数,--restart=on-fialure:5
表示当容器退出代码为非0时,Docker会尝试自动重启该容器,最多5次。(注意:这里如果不限定该重启策略,那么每一次重启电脑后都要手动通过docker start命令来重启当前容器)
4 ORACLE_PWD用于设置当前Oracle数据库密码。
5 -p:映射主机端口
6 -d:后台运行
7 -e:设置环境变量 -e ORACLE_ALLOW_REMOTE=true 设置允许远程连接
运行docker ps可以看到names为myoracle11g的容器正在运行
下载linux版的sql developer
去oracle官网下载sql developer工具
https://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html
oracle默认支持linux rpm,deepin不要选这个,选择Other Platforms版本下载,其实是个解压就可以用的zip免安装版,实测deepin15.10.2是可以用的,前提是电脑安装了jdk1.8并配置了环境变量。
解压打开下载的工具包,运行sqldeveloper.sh
可以发到桌面快捷方式方便启动。
打开工具连接数据库
用户名为system 密码为oracle 密码不过期,测试状态为成功,点击连接就可以登录数据库啦!
新建用户
创建用户
create user 用户名 identified by 密码;
系统权限
grant/revoke create session to/from 用户名;
grant/revoke create table to/from 用户名;
grant/revoke unlimited tablespace to/from 用户名;
grant create session to public;
查询当前用户拥有的系统权限
select * from user_sys_privs;
详情参考:
oracle用户名详解
好啦 至此oracle安装运行连接成功,可以愉快的使用数据库啦
以下是重启停止启动容器的命令
docker restart myoracle11g
docker stop myoracle11g
docker start myoracle11g