[原]运行在容器中的Oracle XE – 11g

by liumiaocn

知行合一 止于至善 / 2018-09-18 12:06

#Oracle XE
Oracle是这样介绍XE的:11g XE(Express Edition)简化版是在Oracle11gR2基础之上一个入门级的小体量数据库,免费用于开发/部署与发布,下载很快,使用简单。

#特性
Oracle XE主要适用对象:

  • 适用与适用Node.js, Python, PHP, Java, .NET, XML和开源项目的开发者
  • 需要一个免费可用于DBA进行起步阶段的数据库培训或者部署
  • 需要一个免费的起步阶段的数据库的独立软件提供商ISV(Independent Software Vendors )和硬件提供商
  • 因课程需要的教育机构或者学生

简单总结:免费的入门级的关系型数据库

#限制
Oracle是这样解释XE的,一个强大的,性能已经得到证实的业界领先的软件,而且升级简单无需其他成本和复杂的移植。
为什么需要升级,因为这是一个精简版,精简的根本在于如下的限制,正是因为有了这个限制,XE才是真正的精简版而不至于才华横溢。

资源项 限制
CPU 一台机器上不超过一CPU
内存 内存不会超过1G
数据 数据库存储的数据量不会超过11G

由于有这些限制,导致即使机器性能出众也无法发挥,特别适合淘汰废弃的机器用于安装和使用,是一个非常环保的软件。

#镜像获取

docker pull liumiaocn/oracle:11.2.0

#启动设定
##端口信息

设定项目 设定值
Oracle监听端口 1521
APEX服务端口 8080

##环境变量

环境变量 设定说明 建议设定
DEFAULT_SYS_PASS 系统用户密码
processes 进程数量设定值
sessions 会话数量设定值 建议值:processes*1.1 + 5
transactions 事务数量设定值 建议值:sessions*1.1

##数据卷

数据卷 容器内卷路径
Oracle数据卷 /u01/app/oracle

##启动实例

docker run -d                          -p 38080:8080 -p 31521:1521            -e DEFAULT_SYS_PASS=liumiaocn          -e processes=500                       -e sessions=555                        -e transactions=611                    --name oracle-11g                      liumiaocn/oracle:11.2.0   

#启动Oracle容器

[root@liumiaocn ~]# docker run -d                          > -p 38080:8080 -p 31521:1521            > -e DEFAULT_SYS_PASS=liumiaocn          > -e processes=500                       > -e sessions=555                        > -e transactions=611                    > --name oracle-11g                      > liumiaocn/oracle:11.2.0   f66b569769e6ba7eacf57b141afccc76cef973f3da3c6a79557c98e5d4727c2b   [root@liumiaocn ~]#   

#结果确认
切换至oracle用户,使用sqlplus以sysdba的身份登录进行确认

[root@liumiaocn ~]# docker exec -it oracle-11g sh   # su - oracle   oracle@32d01719b30a:~$ sqlplus /nolog      SQL*Plus: Release 11.2.0.2.0 Production on Tue Sep 11 15:01:15 2018      Copyright (c) 1982, 2011, Oracle.  All rights reserved.      SQL> connect /as sysdba   Connected.   SQL> select * from v$instance;      INSTANCE_NUMBER INSTANCE_NAME   --------------- ----------------   HOST_NAME   ----------------------------------------------------------------   VERSION 	  STARTUP_T STATUS	 PAR	THREAD# ARCHIVE LOG_SWITCH_WAIT   ----------------- --------- ------------ --- ---------- ------- ---------------   LOGINS	   SHU DATABASE_STATUS	 INSTANCE_ROLE	    ACTIVE_ST BLO EDITION   ---------- --- ----------------- ------------------ --------- --- -------   	      1 XE   32d01719b30a   11.2.0.2.0	  11-SEP-18 OPEN	 NO	      1 STOPPED   ALLOWED    NO  ACTIVE		 PRIMARY_INSTANCE   NORMAL    NO  XE         SQL>   

#设定确认
sessions稍微发生了一些变化

SQL> conn /as sysdba   Connected.   SQL> show parameter processes      NAME				     TYPE	 VALUE   ------------------------------------ ----------- ------------------------------   aq_tm_processes 		     integer	 0   db_writer_processes		     integer	 1   gcs_server_processes		     integer	 0   global_txn_processes		     integer	 1   job_queue_processes		     integer	 500   log_archive_max_processes	     integer	 4   processes			     integer	 500   SQL> show parameter sessions      NAME				     TYPE	 VALUE   ------------------------------------ ----------- ------------------------------   java_max_sessionspace_size	     integer	 0   java_soft_sessionspace_limit	     integer	 0   license_max_sessions		     integer	 0   license_sessions_warning	     integer	 0   sessions			     integer	 772   shared_server_sessions		     integer   SQL> show parameter transactions      NAME				     TYPE	 VALUE   ------------------------------------ ----------- ------------------------------   transactions			     integer	 611   transactions_per_rollback_segment    integer	 5   SQL>   

#参考文章
https://www.oracle.com/database/technologies/appdev/xe.html

作者:liumiaocn 发表于 2018/09/18 06:11:35 原文链接 https://blog.csdn.net/liumiaocn/article/details/82733272
阅读:9

Shared via Inoreader