天天看點

運作在容器中的Oracle XE - 11gOracle XE特性限制鏡像擷取啟動設定啟動Oracle容器結果确認設定确認參考文章

運作在容器中的Oracle XE - 11gOracle XE特性限制鏡像擷取啟動設定啟動Oracle容器結果确認設定确認參考文章

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容器

[[email protected] ~]# 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
[[email protected] ~]#
           

結果确認

切換至oracle使用者,使用sqlplus以sysdba的身份登入進行确認

[[email protected] ~]# docker exec -it oracle-11g sh
# su - oracle
[email protected]:~$ 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