欢迎来到站长天空!

其它服务器

当前位置: 主页 > 服务器 > 其它服务器

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

时间:2025-12-21 03:30:02|栏目:其它服务器|点击:

目录
  • 一. 拉取Oracle 19c镜像
  • 二. 查看镜像
  • 三. 创建Oracle 19c镜像的容器
    • 3.1创建目录
    • 3.2 创建实例
    • 3.3 查看日志
  • 四、 修改密码
    • 五、连接数据库
      • 5.1测试方案一:进入容器内部测试
      • 5.2测试方案二:用navicat连接测试

    一. 拉取Oracle 19c镜像

    [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

    二. 查看镜像

    [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创建目录

    [root@node08002 docker]# mkdir /opt/oradata
    [root@node08002 docker]# chmod -R 777 /opt/oradata/
    [root@node08002 docker]# 

    3.2 创建实例

    [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 查看日志

    [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

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

    setPassword.sh 脚本如下

    [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测试方案一:进入容器内部测试

    [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连接测试

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

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

    [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中运行的JVM参数问题及解决方法

    栏    目:其它服务器

    下一篇:安装Docker配置阿里云镜像加速(图文教程)

    本文标题:基于docker部署Oracle 19c的详细记录

    本文地址:https://zz.feitang.co/server/32346.html

    广告投放 | 联系我们 | 版权申明

    申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:257218569 | 邮箱:257218569@qq.com

    Copyright © 2018-2025 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号