Docker Oracle DataBase

系统为 CentOS7,安装 Docker:https://www.cnblogs.com/jhxxb/p/11410816.html

一、下载构建脚本

wget https://codeload.github.com/oracle/docker-images/zip/refs/heads/main -O docker-images-main.zip
sudo yum install -y unzip
unzip docker-images-main.zip

二、下载构建所需的安装包

https://www.oracle.com/database/technologies/oracle-database-software-downloads.html

11g:

cd docker-images-main/OracleDatabase/SingleInstance/dockerfiles/19.3.0/
https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html
wget https://download.oracle.com/otn/linux/oracle19c/190000/LINUX.X64_193000_db_home.zip?AuthParam=1625820213_e8029c8bed6986229cbc39f533ce6977 -O LINUX.X64_193000_db_home.zip

三、构建

cd docker-images-main/OracleDatabase/SingleInstance/dockerfiles/
./buildContainerImage.sh -e -v 19.3.0 -o '--build-arg SLIMMING=false'

Docker Oracle DataBase

选项说明

Docker Oracle DataBaseDocker Oracle DataBase
[oracle@localhost dockerfiles]$ ./buildContainerImage.sh -h

Usage: buildContainerImage.sh -v [version] -t [image_name:tag] [-e | -s | -x] [-i] [-o] [container build option]
Builds a container image for Oracle Database.

Parameters:
   -v: version to build
       Choose one of: 11.2.0.2  12.1.0.2  12.2.0.1  18.3.0  18.4.0  19.3.0
   -t: image_name:tag for the generated docker image
   -e: creates image based on 'Enterprise Edition'
   -s: creates image based on 'Standard Edition 2'
   -x: creates image based on 'Express Edition'
   -i: ignores the MD5 checksums
   -o: passes on container build option

* select one edition only: -e, -s, or -x

LICENSE UPL 1.0

Copyright (c) 2014,2021 Oracle and/or its affiliates.

View Code

四、运行

docker run --restart=always --name oracle-19c \
-p 1521:1521 -p 5500:5500 \
-e ORACLE_SID=ORCLCDB \
-e ORACLE_PDB=ORCLPDB1 \
-e ORACLE_PWD=root \
oracle/database:19.3.0-ee

查看日志
docker logs -f oracle-19c

Docker Oracle DataBase

选项说明

Docker Oracle DataBaseDocker Oracle DataBase
docker run --name  \
-p :1521 -p :5500 \
-e ORACLE_SID= \
-e ORACLE_PDB= \
-e ORACLE_PWD= \
-e INIT_SGA_SIZE= \
-e INIT_PGA_SIZE= \
-e ORACLE_EDITION= \
-e ORACLE_CHARACTERSET= \
-e ENABLE_ARCHIVELOG=true \
-v []:/opt/oracle/oradata \
oracle/database:19.3.0-ee

Parameters:
   --name:        The name of the container (default: auto generated).

   -p:            The port mapping of the host port to the container port.

                  Two ports are exposed: 1521 (Oracle Listener), 5500 (OEM Express).

   -e ORACLE_SID: The Oracle Database SID that should be used (default: ORCLCDB).

   -e ORACLE_PDB: The Oracle Database PDB name that should be used (default: ORCLPDB1).

   -e ORACLE_PWD: The Oracle Database SYS, SYSTEM and PDB_ADMIN password (default: auto generated).

   -e INIT_SGA_SIZE:
                  The total memory in MB that should be used for all SGA components (optional).

                  Supported 19.3 onwards.

   -e INIT_PGA_SIZE:
                  The target aggregate PGA memory in MB that should be used for all server processes attached to the instance (optional).

                  Supported 19.3 onwards.

   -e ORACLE_EDITION:
                  The Oracle Database Edition (enterprise/standard).

                  Supported 19.3 onwards.

   -e ORACLE_CHARACTERSET:
                  The character set to use when creating the database (default: AL32UTF8).

   -e ENABLE_ARCHIVELOG:
                  To enable archive log mode when creating the database (default: false).

                  Supported 19.3 onwards.

   -v /opt/oracle/oradata
                  The data volume to use for the database.

                  Has to be writable by the Unix "oracle" (uid: 54321) user inside the container!

                  If omitted the database will not be persisted over container recreation.

   -v /opt/oracle/scripts/startup | /docker-entrypoint-initdb.d/startup
                  Optional: A volume with custom scripts to be run after database startup.

                  For further details see the "Running scripts after setup and on startup" section below.

   -v /opt/oracle/scripts/setup | /docker-entrypoint-initdb.d/setup
                  Optional: A volume with custom scripts to be run after database setup.

                  For further details see the "Running scripts after setup and on startup" section below.

View Code

五、连接

docker exec -it oracle-19c bash
sqlplus / as sysdba

sqlplus sys/@//localhost:1521/ as sysdba
sqlplus system/@//localhost:1521/
sqlplus pdbadmin/@//localhost:1521/

Oracle Enterprise Manager Express:https://localhost:5500/em/,登录时 Container Name 留空,用户名为 system 或 sys

密码

若未指定 ORACLE_PWD 参数,可在输出日志中搜索 ORACLE PASSWORD FOR SYS, SYSTEM AND PDBADMIN: 找到密码

或者直接修改密码

docker exec  ./setPassword.sh

https://github.com/oracle/docker-images/tree/main/OracleDatabase/SingleInstance

https://container-registry.oracle.com

https://www.jianshu.com/p/f0139aff1746

https://github.com/search?q=oracle+11g

Original: https://www.cnblogs.com/jhxxb/p/14991326.html
Author: 江湖小小白
Title: Docker Oracle DataBase

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/534565/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球