我正在尝试使用EZ CONNECT字符串连接到Oracle Autonomous Database: user/password@host:port/service_name
我已经配置了从需要连接的IP地址访问并将mTLS设置为不必需:
结果,当我使用从控制台下载的钱包时,我可以成功连接到数据库。
但是,如果我尝试使用EZ CONNECT字符串连接到数据库,我会得到以下错误:
sqlplus -l user/password@tcp://adb.us-sanjose-1.oraclecloud.com:1521/service_name_high.adb.oraclecloud.com
SQL*Plus: Release 19.0.0.0.0 - Production on Wed May 25 00:19:38 2022
Version 19.8.0.0.0
Copyright (c) 1982, 2020, Oracle. All rights reserved.
ERROR:
ORA-12547: TNS:lost contact
SP2-0751: Unable to connect to Oracle. Exiting SQL*Plus
是否可以使用EZ CONNECT字符串连接到自主数据库?如果是,那么我做错了什么?
更新1:
我也尝试使用完整的连接字符串。
sqlplus -l user/pass@'(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1521)(host=adb.us-sanjose-1.oraclecloud.com))(connect_data=(service_name=xxxxxxx_high.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)(ssl_server_cert_dn="CN=adb.us-sanjose-1.oraclecloud.com, OU=Oracle ADB SANJOSE, O=Oracle Corporation, L=Redwood City, ST=California, C=US")))'
但是随后连接失败,出现以下错误 ORA-28759: 无法打开文件。
我怀疑这是由于一些安全设置所导致的问题,但是我可以清楚地看到我的IP已经启用,并且在相同的安全设置下我可以通过双向TLS和钱包连接,我不明白问题可能出在哪里。