从 sqlplus 连接到 Oracle 19C Cloud

Connect to Oracle 19C Cloud from sqlplus

我无法连接到我的 Oracle 19C 云数据库,我已经下载了钱包并将其放在我机器的安全位置 (windows)。 我已经在我的机器上安装了 Oracle 19C 客户端, 并使用钱包 zip 中的连接字符串更新了 tnsnames.ora(network/admin), 不确定我是否错过了环境变量之类的任何配置 从 sqlplus 获取以下错误 错误: ORA-12154: TNS:could 无法解析指定的连接标识符

注意:我可以使用钱包文件从 Sql 开发人员连接到云。 我的机器上有 Oracle 18c XE 运行。

任何帮助将不胜感激,在此先感谢。

您的问题似乎与您在自己的笔记本电脑上安装了 Oracle XE 数据库版本有关。

当您 运行 sqlplus 或任何其他 OCI 工具连接到 Oracle 时,无论数据库是远程主机还是在云中,sqlplus 都会评估 TNS_ADMIN 环境变量以确定位置您的 sqlnet 和 tnsnames 文件位于。如果没有变量,它会使用您的主要 Oracle 注册表项的默认值,这肯定指向您的 XE 版本,因为它是之前安装的。

当你得到 ORA-12154: TNS:could not resolve the connect identifier specified 时,你的会话在你的配置文件中没有找到关于目标的任何信息,可能因为会话正在评估 XE 安装中的文件

尝试执行以下操作

  • 将 Oracle 云提供的钱包文件复制到与 XE 安装不同的位置。
  • 将 sqlplus cmd 会话中的 TNS_ADMIN 变量导出到这个新路径
  • 运行 sqlplus 使用钱包

示例(我相信你做到了第 1 点和第 2 点)

  1. 在您的计算机上安装 Oracle 客户端软件。使用完整的 Oracle Database Client 11.2.0.4(或更高版本)或 Oracle Instant 客户端 12.1.0.2(或更高版本)。 Instant Client 包含最小的 建立 Oracle Call Interface 连接所需的软件。这 Instant Client 12.1.0.2(或更高版本)足以满足大多数需求 应用程序。
  2. 下载客户端凭据并将文件存储在安全文件夹中 您的客户端计算机。请参阅下载客户端凭据(钱包)。
  3. Unzip/uncompress 将凭据文件放入客户端计算机上的安全文件夹中。
  4. 编辑解压文件夹中的sqlnet.ora文件 凭据文件,将“?/network/admin”替换为 包含客户端凭据的文件夹.

例子

WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/my_new_path")))
SSL_SERVER_DN_MATCH=yes

cmd> set tns_admin = my_new_path
cmd> sqlplus /@yourtnsentry 

不知道你的云数据库是否使用了PublicIP地址,或者你是否想使用SSH隧道连接数据库。看这里,因为那时您可能想使用 SQLcl(Sql 开发人员命令行)

https://docs.cloud.oracle.com/en-us/iaas/Content/Database/Tasks/connectingDB.htm