gpt4 book ai didi

oracle - Docker上的Oracle::ORA-12162:TNS:.net服务名称指定错误

转载 作者:行者123 更新时间:2023-12-02 20:58:16 30 4
gpt4 key购买 nike

每次我在Oracle Docker镜像上登录 sqlplus 时,都必须设置 $ ORACLE_SID

Steps to reproduce:


  • 我登录到一个全新的19c镜像,该镜像是从Oracle新鲜下载并安装的:docker exec -it 19c bash
  • 我检查 $ ORACLE_SID ,命令echo $ORACLE_SID向我返回空行(非常奇怪!?)
  • 因此,我手动设置了 $ ORACLE_SID :export ORACLE_SID="ORCLCDB"
  • 我再次检查 $ ORACLE_SID ,这次命令echo $ORACLE_SID返回我ORCLCDB,这是我设置的正确名称
  • 我通过exit从bash Docker终端退出
  • 我重新登录docker exec -it 19c bash
  • 我检查 $ ORACLE_SID 是否与echo $ORACLE_SID一起保存,它再次返回空行

  • enter image description here
    为什么更改不是永久性的?

    最佳答案

    启动容器后,可以使用no方式更改/添加环境变量。因此,最好的选择是stop and remove the existing container, then recreate it with the correct environment variable.在Docker中,您可以使用Dockerfile中的ENV命令在镜像上设置环境变量。您还可以配置在调用docker run -e ...时用于启动容器的默认环境

    关于oracle - Docker上的Oracle::ORA-12162:TNS:.net服务名称指定错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61798861/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com