Docker Install Oracle
Docker安装Oracle
https://10.17.0.16:5500/em/login
./buildContainerImage.sh -v 19.3.0 -t oracle19.3.0:or19c -e -i
3. 启动容器:安装数据库
注意:oracle 企业版的docker run的命令格式如下(XE版的都有所区别):
docker stop Oracle-19c
docker rm -f Oracle-19c
docker run -d \
--name Oracle-19c \
-p 1521:1521 \
-p 5500:5500 \
-e ORACLE_SID=lit \
-e ORACLE_PDB=litdb \
-e ORACLE_PWD=litsoft \
-v `pwd`/OraData:/opt/oracle/oradata \
oracle19.3.0:or19c
# -e ORACLE_SID:需要使用的Oracle数据库的SID。默认值是“ORCLCDB”,但这里我们使用“lit”
# -e ORACLE_PDB:需要使用的Oracle数据库PDB名称。这里我们使用“litdb”而不是默认的“ORCLPDB1”。
注意:```pwd`/OraData`` 目录权限一定要正确,在容器中oracle用户的uid是54321,所以要保证容器内的oracle用户有权限读写该目录。
- 如创建oracle用户且uid是54321:
groupadd -g 1000 oinstall
groupadd -g 1300 dba
groupadd -g 1301 oper
useradd -u 54321 -g oinstall -G dba,oper -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle
echo "oracle" | passwd --stdin oracle
chown oracle:oinstall /oracle/oradata
- 或者在宿主机上直接对此目录配置权限
chmod -Rf 777 ./OraData
首次安装过程不是特别快,请耐心等待,后续再次启动时会快很多:
- 注:如果"DATABASE IS READY TO USE!"提示信息,表示数据库已成功安装了,如下图:
验证测试
新开shell窗口
[root@RabbitMQ 005.Oracle]# docker exec -it Oracle-19c /bin/bash
bash-4.2$ pwd
/home/oracle
bash-4.2$ ls
setPassword.sh
bash-4.2$ ls -al
total 16
drwx------ 1 oracle oinstall 31 Apr 23 04:51 .
drwxr-xr-x 1 root root 20 Apr 23 02:56 ..
-rw-r--r-- 1 oracle oinstall 18 Nov 23 2021 .bash_logout
-rw-r--r-- 1 oracle oinstall 193 Nov 23 2021 .bash_profile
-rw-r--r-- 1 oracle oinstall 69 Apr 23 03:25 .bashrc
-rw-r--r-- 1 oracle oinstall 172 Aug 9 2022 .kshrc
drwxr-x--- 2 oracle oinstall 40 Apr 23 04:51 .oracle_jre_usage
lrwxrwxrwx 1 root root 26 Apr 23 02:56 setPassword.sh -> /opt/oracle/setPassword.sh
bash-4.2$ uname -a
Linux b166314fd7ce 3.10.0-1160.66.1.el7.x86_64 #1 SMP Wed May 18 16:02:34 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
bash-4.2$ cat /proc/version
Linux version 3.10.0-1160.66.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Wed May 18 16:02:34 UTC 2022
bash-4.2$ cat /etc/os-release
NAME="Oracle Linux Server"
VERSION="7.9"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.9"
PRETTY_NAME="Oracle Linux Server 7.9"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:7:9:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://bugzilla.oracle.com/"
ORACLE_BUGZILLA_PRODUCT="Oracle Linux 7"
ORACLE_BUGZILLA_PRODUCT_VERSION=7.9
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=7.9
bash-4.2$ echo #PATH
bash-4.2$ echo $HOME
/home/oracle
bash-4.2$ echo $ORACLE_HOME
/opt/oracle/product/19c/dbhome_1
bash-4.2$ env | grep ORACLE*
ORACLE_SID=LIT
ORACLE_BASE=/opt/oracle
ORACLE_PDB=litdb
ORACLE_PWD=litsoft
ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
[root@docker dockerfiles]# docker exec -it oracle-19c /bin/bash
bash-4.2$ export ORACLE_SID=LIT
bash-4.2$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Sun Apr 23 06:25:03 2023
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 LITDB READ WRITE NO
SQL>
Navicat连接
Oracle Enterprise Manager (EM) — 登录并开始工作
Oracle Enterprise Manager是 Oracle 的数据库监控和管理工具。Oracle 随我们下载的 docker 二进制文件一起提供Express 版本。
因为我们已经映射了端口 5500(这是 EM 控制台的默认端口),所以我们可以登录它。在浏览器中打开一个新窗口或选项卡,并提供地址:
https://localhost:5500/em/login
评论区