从 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 点)
- 在您的计算机上安装 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(或更高版本)足以满足大多数需求
应用程序。
- 下载客户端凭据并将文件存储在安全文件夹中
您的客户端计算机。请参阅下载客户端凭据(钱包)。
- Unzip/uncompress 将凭据文件放入客户端计算机上的安全文件夹中。
- 编辑解压文件夹中的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
我无法连接到我的 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 点)
- 在您的计算机上安装 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(或更高版本)足以满足大多数需求 应用程序。
- 下载客户端凭据并将文件存储在安全文件夹中 您的客户端计算机。请参阅下载客户端凭据(钱包)。
- Unzip/uncompress 将凭据文件放入客户端计算机上的安全文件夹中。
- 编辑解压文件夹中的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