前段时间工作中需要在不少开发环境中快速提供开发可用的oracle环境,由于一一培训并部署原生oracle人力和时间成本过高,后来使用docker版本oracle,大大方便了开发工作的快速启动,方法记录如下:

1. 前提条件

需要在相关环境上安装好docker,建议版本在17以上,越新越好;同时安装好 docker-compose 。

docker安装(CentOS系统上)可以参考官方文档: https://docs.docker.com/install/linux/docker-ce/centos/

docker-compose 安装参考官方文档: https://docs.docker.com/compose/install/

2. 安装完毕后,编辑好oracle的docker-compose 启动描述文件

使用oracle-xe-11 版本,

首先,下载镜像并创建目录

 docker pull sath89/oracle-xe-11g
mkdir oracle-xe-11g
cd oracle-xe-11g
vi docker-compose.yaml

docker-compose.yaml描述文件内容如下:

version: "3"
services:
orcl11g:
image: sath89/oracle-xe-11g
environment:
processes: "500"
sessions: "555"
transactions: "610"
DEFAULT_SYS_PASS: "oracle"
ports:
- "18080:8080"
- "11521:1521"
volumes:
- ./db-data:/u01/app/oracle
- ./db-initsql:/docker-entrypoint-initdb.d

最后启动该oracle镜像:

 docker-compose up -d

注意:若使用docker-compose up 命令启动一段时间(比如30秒)后ctrl+C中断,再docker-compose up -d 则可能出现该oracle再也无法启动,报错信息各异。此时使用 docker-compose down -v清理一次,并删除挂载的目录后,再次启动即可。

3. oracle的基本管理

管理员权限连接上该oracle实例:

sqlplus /nolog
connect system@oracle@//localhost:11521/XE;

注意:上述命令中,oracle为system的默认密码,在docker-compose.yaml 中进行配置,且仅在初次启动时生效;11521为docker映射的端口;XE为默认ServiceName

创建应用数据库以及用户名:

 create tablespace user1 datafile '/u01/app/oracle/oradata/XE/user1_1.dbf' size 10m autoextend on;
create user user1 identified by password1234 default tablespace user1 temporary tablespace temp quota unlimited on user1;
grant resource to user1;
grant connect to user1;

注意:上述命令将创建用户user1,密码为password1234,默认表空间名为user1,初始大小为10m且自动扩展;同时赋予该用户基本的connect和resources权限

解锁用户

 alter user user1 account unlock;

彻底删除用户和对应的表空间:

 drop user user1 cascade
; drop tablespace user1 including contents and datafiles
;

最后,特别说明:

1. 该版本的oracle支持的最大表空间为11G左右,即其总表空间大小达到11G左右时会出现无法分配空间的情况。

2. 上述SQL指令,若无特别说明,则应该在sqlplus管理员权限模式下执行。

一种快速部署开发用oracle的办法的更多相关文章

  1. 【FindReport】图表快速部署开发

    在线帮助文档:http://help.finereport.com/ 开发部署环境:Java Tomcat 数据可视化工具 大屏动态显示

  2. 开发环境中快速部署Oracle Essbase(Rapid deployment of oracle essbase in development envrioments)

    版本:Oracle Enterprise Performance Management System Release11.1.2.4 快速部署自动安装组件: Essbase Oracle Essbas ...

  3. 为 Python Server Pages 和 Oracle 构建快速 Web 开发环境。

    为 Python Server Pages 和 Oracle 构建快速 Web 开发环境. - 在水一方 - 博客频道 - CSDN.NET 为 Python Server Pages 和 Oracl ...

  4. Linux上oracle精简版客户端快速部署

    RHEL6 + Oracle 11g客户端快速部署 需求:只是用到客户端的sqlplus, sqlldr功能. 方案:用精简版实现客户端的快速部署 1.上传oracle精简版客户端到服务器/tmp目录 ...

  5. ios-实现项目在开发、测试、正式环境快速部署

    快速部署:简单的来说,就是不用更改开发.测试.正式环境下的 url ,来实现在同一台测试手机快速部署三种项目状态. Bundle ID一样只会出现一个app:不一样会出现三个app: 具体步骤: 一. ...

  6. Spring Boot 五种热部署方式,极速开发就是生产力!

    1.模板热部署 在 Spring Boot 中,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面的,因此我们可以在application.properties中关闭 ...

  7. 开发阶段,将SpringBoot应用快速部署到K8S

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  8. 如何使用华为软件开发云快速部署PHP网站

    华为软件开发云这个工具,从去年推出我就一直在关注,毕竟是华为最新的一款软件开发工具,最近我一直在使用华为软件开发云进行开发项目管理,它有在线编译和构建.云端在线代码检查等功能,编译省去了很多物理机器的 ...

  9. 快速部署ldap服务

    快速部署ldap服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.LDAP概述 .什么是目录服务 ()目录是一类为了浏览和搜索数据二十几的特殊的数据库,例如:最知名的的微软公 ...

随机推荐

  1. 音频科普---oggs

    做为一个做音频的人,很多基础的东西还是要牢记的.最近一个客户用ogg格式的音频,感觉这个很陌生,就翻了这方面的 资料.好比是认识一个大牛,只有在你有一个困扰你很久的困难问题被他瞬间解决的时候,才知道什 ...

  2. 线程误区-join,wait(里边还是调用的wait)

    1.一个线程执行结束后会执行该线程自身对象的notifyAll方法,这个是在jvm中实现的. 2.join的作用是:当我们调用某个线程的这个方法时,这个方法会挂起调用线程,直到被调用线程(thread ...

  3. [每天解决一问题系列 - 0007] 如何创建Catalog并用其签名

    问题描述: 校验一组文件的完整性 解决方法: https://msdn.microsoft.com/en-us/library/windows/desktop/aa386967(v=vs.85).as ...

  4. 取消vim打开文件全是黄色方法

    如下图: 取消方法: 按下esc键 :nohl 回车

  5. 使用Dockerfile创建支持SSH服务的镜像

    1.前面我们学习了使用Dockerfile,那接下来我们就用Dockerfile创建一个支持SSH服务的镜像. 2.首先创建一个目录ssh_centos [root@rocketmq-nameserv ...

  6. Spring Boot初识(2)- Spring Boot整合Mybaties

    一.本文介绍 首先读这篇文章之前如果没有接触过Spring Boot可以看一下之前的文章,并且读这篇文章还需要你至少能写基本的sql语句.我在写这篇文章之前也想过到底是选择JPA还是Mybaties作 ...

  7. Linux问题杂谈

    1. 虚拟机 SSH 无法登录 1.1 问题1:未安装ssh服务端 ssh: connect to host 192.168.58.129 port 22: Connection refused 问题 ...

  8. Make 输出重定向到文件

    系统的输入与输出: 方式 描述符 含义 stdin 0 标准输入 stdout 1 标准输出 stderr 2 标准错误输出 把 make 输出的全部信息重定向到某个文件中: make <xxx ...

  9. 使用Nexus2.x为Maven3.x搭建私服构件仓库

    前言 在笔者的前一篇博文<Use Maven3.x>中,笔者详细的讲解了如何通过使用Maven3.x来构建及管理你的项目.其中笔者提到过些关于私服的概念,但却没有明确的对私服做出详细的阐述 ...

  10. jQuery文档操作方法对比和src写法

    jQuery文档操作方法对比 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...