小知识:基于docker部署Oracle 19c的详细记录

一. 拉取Oracle 19c镜像

?
1
2
3
4
5
6
7
8
9
10
11
[root@node08002 docker]# docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
19c: Pulling from zhuyijun/oracle
bce8f778fef0: Pull complete
3fc3fd32c0bc: Pull complete
02948dd6d654: Pull complete
67f2dfeb2f1b: Pull complete
2e42d8039fd9: Pull complete
b94f01bb60c6: Pull complete
Digest: sha256:3898a9394720f30ce7f0b83ef2d172f4cd11b958282e0505f83cf2b0e5eaf7d4
Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c

二. 查看镜像

?
1
2
3
4
[root@node08002 docker]# docker images
REPOSITORY                                          TAG       IMAGE ID       CREATED         SIZE
registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle   19c       7b5eb4597688   20 months ago   6.61GB
[root@node08002 docker]#

三. 创建Oracle 19c镜像的容器

3.1创建目录

?
1
2
3
[root@node08002 docker]# mkdir /opt/oradata
[root@node08002 docker]# chmod -R 777 /opt/oradata/
[root@node08002 docker]#

3.2 创建实例

?
1
[root@node08002 docker]# docker run -d -it –name oracle19c -p 1521:1521 -p 5500:5500 -v /opt/oradata:/opt/oracle/oradata registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c

3.3 查看日志

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
[root@node08002 ~]# docker logs -f oracle19c
ORACLE EDITION: ENTERPRISE
ORACLE PASSWORD FOR SYS, SYSTEM AND PDBADMIN: CRiP1dWzDHA=1
LSNRCTL for Linux: Version 19.0.0.0.0 – Production on 06-APR-2022 10:28:18
Copyright (c) 1991, 2019, Oracle.  All rights reserved.
Starting /opt/oracle/product/19c/dbhome_1/bin/tnslsnr: please wait…
TNSLSNR for Linux: Version 19.0.0.0.0 – Production
System parameter file is /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
Log messages written to /opt/oracle/diag/tnslsnr/1249a4a7bb32/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
————————
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 – Production
Start Date                06-APR-2022 10:28:18
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/1249a4a7bb32/listener/alert/log.xml
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
The listener supports no services
The command completed successfully
Prepare for db operation
8% complete
Copying database files
31% complete
Creating and starting Oracle instance
32% complete
36% complete
40% complete
43% complete
46% complete
Completing Database Creation
51% complete
54% complete
Creating Pluggable Databases
58% complete
77% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
/opt/oracle/cfgtoollogs/dbca/ORCLCDB.
Database Information:
Global Database Name:ORCLCDB
System Identifier(SID):ORCLCDB
Look at the log file “/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log” for further details.
SQL*Plus: Release 19.0.0.0.0 – Production on Wed Apr 6 10:48:37 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle.  All rights reserved.

四、 修改密码

系统默认的system密码修改成oracle

?
1
[root@node08002 ~]# docker exec oracle19c ./setPassword.sh oracle

setPassword.sh 脚本如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
[root@node08002 ~]# docker exec -it oracle19c /bin/bash
[oracle@1249a4a7bb32 ~]$ ls
setPassword.sh
[oracle@1249a4a7bb32 ~]$ pwd
/home/oracle
[oracle@1249a4a7bb32 ~]$ cat setPassword.sh
#!/bin/bash
# LICENSE UPL 1.0
#
# Copyright (c) 1982-2018 Oracle and/or its affiliates. All rights reserved.
#
# Since: November, 2016
# Author: gerald.venzl@oracle.com
# Description: Sets the password for sys, system and pdb_admin
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
#
ORACLE_PWD=$1
ORACLE_SID=”`grep $ORACLE_HOME /etc/oratab | cut -d: -f1`”
ORACLE_PDB=”`ls -dl $ORACLE_BASE/oradata/$ORACLE_SID/*/ | grep -v pdbseed | awk {print $9} | cut -d/ -f6`”
ORAENV_ASK=NO
source oraenv
sqlplus / as sysdba << EOF
ALTER USER SYS IDENTIFIED BY “$ORACLE_PWD”;
ALTER USER SYSTEM IDENTIFIED BY “$ORACLE_PWD”;
ALTER SESSION SET CONTAINER=$ORACLE_PDB;
ALTER USER PDBADMIN IDENTIFIED BY “$ORACLE_PWD”;
exit;
EOF
[oracle@1249a4a7bb32 ~]$

五、连接数据库

sqlplus system/oracle@xxx.xxx.xxx.xxx:1521/ORCLCDB

5.1测试方案一:进入容器内部测试

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@node08002 ~]# docker exec -it oracle19c /bin/bash
[oracle@1249a4a7bb32 ~]$ sqlplus system/oracle@localhost:1521/ORCLCDB
SQL*Plus: Release 19.0.0.0.0 – Production on Thu Apr 7 01:54:17 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle.  All rights reserved.
Last Successful login time: Thu Apr 07 2022 01:53:14 +00:00
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
SQL> Show user;
USER is “SYSTEM”
SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
[oracle@1249a4a7bb32 ~]$

5.2测试方案二:用navicat连接测试

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@node08002 ~]# docker exec -it oracle19c /bin/bash
[oracle@1249a4a7bb32 ~]$ cd /opt/oracle/product/19c/dbhome_1/network/admin/
[oracle@1249a4a7bb32 admin]$ ls
listener.ora  samples  shrept.lst  sqlnet.ora  tnsnames.ora
[oracle@1249a4a7bb32 admin]$ vim sqlnet.ora
[oracle@1249a4a7bb32 admin]$ cat sqlnet.ora
NAME.DIRECTORY_PATH= (TNSNAMES, EZCONNECT, HOSTNAME)
[oracle@1249a4a7bb32 admin]$ vim sqlnet.ora
[oracle@1249a4a7bb32 admin]$ cat sqlnet.ora
NAME.DIRECTORY_PATH= (TNSNAMES, EZCONNECT, HOSTNAME)
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
[oracle@1249a4a7bb32 admin]$ exit
exit
[root@node08002 ~]# docker ps -a
CONTAINER ID   IMAGE                                                   COMMAND                  CREATED        STATUS                  PORTS                                                                                  NAMES
1249a4a7bb32   registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c   “/bin/sh -c exec $O…”   16 hours ago   Up 16 hours (healthy)   0.0.0.0:1521->1521/tcp, :::1521->1521/tcp, 0.0.0.0:5500->5500/tcp, :::5500->5500/tcp   oracle19c
[root@node08002 ~]# docker restart oracle19c
oracle19c
[root@node08002 ~]#

很奇怪,又要修改一次密码,具体操作步骤如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@node08002 ~]# docker exec -it oracle19c /bin/bash
[oracle@1249a4a7bb32 ~]$ sqlplus system/oracle@localhost:1521/ORCLCDB
SQL*Plus: Release 19.0.0.0.0 – Production on Thu Apr 7 02:59:52 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle.  All rights reserved.
Last Successful login time: Thu Apr 07 2022 02:59:10 +00:00
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
Version 19.3.0.0.0
SQL> alter user system identified by oracle;
User altered.
SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
Version 19.3.0.0.0

终于可以连接了

%小知识:基于docker部署Oracle 19c的详细记录-猿站网-插图

到此这篇关于基于docker部署Oracle 19c的文章就介绍到这了,更多相关docker部署Oracle 19c内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/lazycheerup/article/details/123990042

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:教你如何获取Harbor的带tag的镜像清单

2023-3-8 11:17:00

建站知识

小知识:docker-compose部署Yapi的方法

2023-3-8 11:31:34

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索