运行在容器中的Oracle XE-11g

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才是真正的精简版而不至于才华横溢。

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

镜像获取

docker pull liumiaocn/oracle:11.2.0

启动设定

端口信息

##环境变量

##数据卷

启动实例

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>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 一个案例彻底弄懂如何正确使用mysql inndb联合索引

    有一个业务是查询最新审核的5条数据 SELECT `id`, `title` FROM `th_content` WHERE `audit_time` < 1541984478 AND `status` = 'ONLINE' ORDER BY `audit_time` DESC, `id` DESC LIMIT 5; 查看当时的监控情况 cpu 使用率是超过了100%,show processlist看到很多类似的查询都是处于create sort index的状态. 查看该表的结构 CREAT

  • Oracle基础:程序中调用sqlplus的方式

    通过sqlplus可以连接数据库根据用户权限进行数据或者设定操作,但是需要交互操作并返回结果,这篇文章介绍一下如何在程序中使用sqlplus. 环境准备 使用Oracle的精简版创建docker方式的demo环境,详细可参看: https://www.jb51.net/article/153533.htm Here Document 因为sqlplus是控制台的方式与用户进行交互式的输入/输出对应,而在程序执行的过程中显然是需要预先定好的输入,这样可以考虑使用Here Document,比如希望

  • Oracle全角数字转换半角数字

    数据库表 test 字段 id name age 全角数字:1234 半角数字:1234 length和lengthb的区别: length(1234) 4 lengthb(1234) 8 to_single_byte函数用法: to_single_byte(1234) 1234 查找所有全角的数字: select age from test where lengthB(age) >4 替换全角的为半角的: update test t1 set t1.age = (select to_singl

  • 使用Python将Mysql的查询数据导出到文件的方法

    mysql官方提供了很多种connector,其中包括python的connector. 下载地址在:http://dev.mysql.com/downloads/connector/python/ 直接安装即可. 在python中: 1. 连接: import mysql.connector cnx = mysql.connector.connect(user='scott', password='tiger', host='127.0.0.1', database='employees')

  • Oracle常见问题解决方案汇总

    1.Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务 数据库服务器崩了,而且尝试重启服务和重启机器都解决不了问题 打开cmd窗口 C:\Users\hxt>sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on 星期三 12月 5 11:39:54 2018 Copyright (c) 1982, 2010, Oracle. All rights reserved. 已连接到空闲例程

  • Oracle导入导出数据的几种方式

    oracle导入导出数据 1.导出dmp格式文件 --备份某几张表 !!!! exp smsc/smsc file=/data/oracle_bak/dmp/bakup0209_2.dmp tables=\(send_msg_his,send_msg,recv_msg_his,recv_msg\) --备份整个数据库 !!!! --方式1 exp smsc/smsc file=/data/oracle_bak/dmp/bakupsmmc0209_2.dmp full=y --方式2 exp co

  • 抽取oracle数据到mysql数据库的实现过程

    在oracle数据库迁移至mysql数据库,除了oracle数据库模型移到mysql外,还一个重要环节就是要将oracle数据库的数据移到mysql数据库,本人尝试用过多款数据迁移程序,性能都不是很好的,于是自己动手写一个针对于oracle数据库数据迁移到mysql数据程序,其具体过程如下: 1.要抽取mysql表.字段及过滤条件的配制文件imp_data.sql 2.建立一个目录ETL_DIR 3.运行oracle数据库程序P_ETL_ORA_DATA,生成各表的csv数据文件,同时也生成一个

  • docker完整配置nginx+php+mysql的方法步骤

    首先了解一个方法: 使用docker exec进入Docker容器 docker在1.3.X版本之后还提供了一个新的命令exec用于进入容器,这种方式相对更简单一些,下面我们来看一下该命令的使用: sudo docker exec --help 接下来我们使用该命令进入一个已经在运行的容器 $ sudo docker ps $ sudo docker exec -it 775c7c9ee1e1 /bin/bash 一. 配置nginx 查找Docker Hub上的 nginx 镜像 runoob

  • MySQL常用SQL语句总结包含复杂SQL查询

    1.复杂SQL查询 1.1.单表查询 (1)选择指定的列 [例]查询全体学生的学号和姓名 select Sno as 学号,Sname as 姓名 from student; select Sno,Sname from student; (2)查询全部列 [例]查询全体学生的详细信息 select * from student; (3)对查询后的指定列进行命名 [例]查询全部学生的"姓名"及其"出生年"两列 select Sname as 姓名,(2014-Sage

  • GDB调试Mysql实战之源码编译安装

    下载源码 git clone https://github.com/mysql/mysql-server.git cd mysql-server git checkout 5.7 编译安装 安装依赖 yum install -y cmake make gcc gcc-c++ ncurses-devel bison gdb 需要注意的一点,需要指定 boost 路径,会 cmake 的时候自动下载 cd BUILD; cmake .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST

随机推荐