禁用mTLS后无需Wallet连接Oracle自治数据库失败排查
无Wallet连接Oracle自治数据库失败排查方案
针对禁用mTLS后无法无Wallet连接Oracle自治数据库的问题,可从以下几个方面排查遗漏的配置:
验证Oracle Client版本兼容性
确保使用的Oracle Client版本支持无Wallet连接模式,要求为19c Release 19.13及以上,或21c及以上版本。早期版本可能不支持禁用mTLS后的无认证连接。修正TNSNAMES.ora配置
检查TNS条目是否包含冗余的Wallet参数,同时确保SECURITY段配置正确,示例如下:adb_high = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <你的ADB主机地址>)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <你的ADB服务名>_high.adb.oraclecloud.com) ) (SECURITY = (SSL_SERVER_DN_MATCH = FALSE) (SSL_VERSION = TLSv1.2) ) )注意
SERVICE_NAME需与自治数据库门户提供的完全一致,包括后缀部分。配置客户端SSL信任证书
即使无需Wallet,Oracle Client仍需信任Oracle Cloud的根证书(如Baltimore CyberTrust Root):- 若使用Instant Client,设置环境变量
SSL_CERT_FILE指向根证书文件路径; - 若使用标准Client,在
sqlnet.ora中添加:SSL_CLIENT_AUTHENTICATION = FALSE SSL_TRUSTED_CERTIFICATES = <根证书文件路径>
- 若使用Instant Client,设置环境变量
确认ACL配置准确性
检查自治数据库访问控制列表(ACL)中添加的IP是否为客户端真实公网IP,避免因IP地址错误导致连接被拦截。排查网络连通性
使用telnet <ADB主机地址> 1521或nc -zv <ADB主机地址> 1521测试端口连通性,排除防火墙、代理服务器等网络设备的拦截。
内容的提问来源于stack exchange,提问作者marciel.deg
相关产品推荐
相关产品推荐

