首页 文章

连接Docker oracle EE sqlplus

提问于
浏览
1

我正在尝试将official sqlplus docker容器连接到official Oracle Database EE

首先,我启动Oracle Database EE容器:

$docker run -d -it --name OracleEE -P store/oracle/database-enterprise:12.2.0.1
  $docker port OracleEE 
     1521/tcp -> 0.0.0.0:32773
     5500/tcp -> 0.0.0.0:32772
  $docker inspect OracleEE | grep -i IPAddress
        "SecondaryIPAddresses": null,
        "IPAddress": "172.17.0.2",
                "IPAddress": "172.17.0.2",

现在,¿我怎样才能连接到这个数据库?

在docker image doc中,我读到:

您可以交互运行容器以在SQL * Plus中执行临时SQL和PL / SQL语句:docker run -ti --rm store / oracle / database-instantclient:12.2.0.1 sqlplus hr/welcome@example.com/ pdborcl

出于这个原因,我明白这个命令必须工作:

$docker run -ti --rm store/oracle/database-instantclient:12.2.0.1 sqlplus sys/Oradoc_db1@172.17.0.2:32773/orcl.localdomain

但响应是以下错误:

SQL*Plus: Release 12.2.0.1.0 Production on Wed Sep 20 11:42:31 2017

  Copyright (c) 1982, 2016, Oracle.  All rights reserved.

  ERROR:
  ORA-12541: TNS:no listener


  Enter user-name:

我的错误在哪里?

1 回答

  • 1

    我解决了我的问题 . 问题是容器之间的通信 . 我需要添加一个链接

    docker run -it --rm --link OracleEE:db store/oracle/database-instantclient:12.2.0.1 sqlplus64 sys/Oradoc_db1@db:1521/ORCLCDB.localdomain as sysdba
    

    现在工作正常!

相关问题