1. 首页
  2. 技术知识

基于docker部署Oracle 19c的详细记录

目录

    一. 拉取Oracle 19c镜像二. 查看镜像三. 创建Oracle 19c镜像的容器

      3.1创建目录3.2 创建实例3.3 查看日志

    四、 修改密码五、连接数据库

      5.1测试方案一:进入容器内部测试5.2测试方案二:用navicat连接测试

一. 拉取Oracle 19c镜像

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

复制代码
二. 查看镜像

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

复制代码
三. 创建Oracle 19c镜像的容器


3.1创建目录

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

复制代码
四、 修改密码

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

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

复制代码

setPassword.sh 脚本如下

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

复制代码
五、连接数据库

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


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

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

复制代码
5.2测试方案二:用navicat连接测试

  1. [root@node08002 ~]# docker exec -it oracle19c /bin/bash
  2. [oracle@1249a4a7bb32 ~]$ cd /opt/oracle/product/19c/dbhome_1/network/admin/
  3. [oracle@1249a4a7bb32 admin]$ ls
  4. listener.ora  samples  shrept.lst  sqlnet.ora  tnsnames.ora
  5. [oracle@1249a4a7bb32 admin]$ vim sqlnet.ora
  6. [oracle@1249a4a7bb32 admin]$ cat sqlnet.ora
  7. NAME.DIRECTORY_PATH= (TNSNAMES, EZCONNECT, HOSTNAME)
  8. [oracle@1249a4a7bb32 admin]$ vim sqlnet.ora
  9. [oracle@1249a4a7bb32 admin]$ cat sqlnet.ora
  10. NAME.DIRECTORY_PATH= (TNSNAMES, EZCONNECT, HOSTNAME)
  11. SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
  12. SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
  13. [oracle@1249a4a7bb32 admin]$ exit
  14. exit
  15. [root@node08002 ~]# docker ps -a
  16. CONTAINER ID   IMAGE                                                   COMMAND                  CREATED        STATUS                  PORTS                                                                                  NAMES
  17. 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
  18. [root@node08002 ~]# docker restart oracle19c
  19. oracle19c
  20. [root@node08002 ~]#

复制代码

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

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

复制代码 终于可以连接了

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

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/108295.html

联系我们