【发布时间】:2021-10-23 10:19:19
【问题描述】:
我从以下命令中提取了我的 oracle 映像。
docker pull store/oracle/database-enterprise:12.2.0.1
并运行以下命令来运行它。
docker run -d -it --name <Oracle-DB> store/oracle/database-enterprise:12.2.0.1
该图像工作正常我已经对其进行了测试,然后我尝试将它与需要 Oracle 客户端连接的外部的 oracle 连接所以我安装了它,但是当我运行以下命令时。
sqlplus sys/Oradoc_db1@ORCLCDB as sysdba
将它与 oracle 连接它在控制台上显示以下对话框和错误的奇怪行为。
SQL*Plus: Release 12.2.0.1.0 Production on Sun Aug 22 17:44:46 2021
Copyright (c) 1982, 2016, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
Enter user-name: sys
Enter password:
ERROR:
ORA-12162: TNS:net service name is incorrectly specified
Enter user-name: sys
Enter password:
ERROR:
ORA-12162: TNS:net service name is incorrectly specified
SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
我不知道如何在容器外连接客户端。 我也检查了 tnsname.ora 文件
ORCLCDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCLCDB.localdomain) ) )
ORCLPDB1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCLPDB1.localdomain) ) )
在一些论坛中,我读到了 sqlnet.ora 中缺少的一些配置
NAME.DIRECTORY_PATH= {TNSNAMES, EZCONNECT, HOSTNAME}
SQLNET.EXPIRE_TIME = 10
SSL_VERSION = 1.0
这也很好。 我希望我不会在这里遗漏任何东西。
谢谢,提前。
【问题讨论】: