我有2个Oracle数据库的用户名和密码,完全权限。当我创建从A到B的数据库链接时,我看不到错误:
ALTER SESSION SET CURRENT_SCHEMA = TPMDBO;
CREATE DATABASE LINK link_to_uat
CONNECT TO {UAT username}
IDENTIFIED BY {UAT user password}
USING '{UAT fqdn}:2053/ocrdev';
当我尝试对链接服务器运行查询时:
SELECT * FROM TheTable@link_to_uat;
我收到:
ORA-02019: Connection description for remote database not found
我可以使用Oracle Sql Developer和其他工具上面的用户名和密码连接到远程数据库,但由于某些原因,Oracle无法解决这个问题。
我现在正在工作的这家公司锁定了所有计算机,包括开发箱,因此我无法修改TNSNames.ora文件。
我尝试使用以下方法创建链接服务器:
CREATE DATABASE LINK link_to_uat
CONNECT TO {remote username}
IDENTIFIED BY {remote user\'s password}
USING '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={fqdn})(PORT=2053)))(CONNECT_DATA=SERVER=DEDICATED)(SERVICE_NAME=ocrdev)))';
但显然语法不好而且我得到了:
ORA-12154: TNS: could not resolve the connect identifier...
建议的所有操作都涉及修改TNSNames.ora文件,这在dev监狱中是不可能的。
对于远程和本地数据库,我都有管理员权限。
以下是我在Aqua Data Studio中与两台服务器的连接的屏幕截图:
有没有其他方法可以解决这个问题?
答案 0 :(得分:0)
好的,经过一段时间的讨论后我发现我需要创建一个 PUBLIC 链接数据库。像这样:
CREATE PUBLIC DATABASE LINK "LINK_TO_PROD"
CONNECT TO {username} IDENTIFIED BY {password}
USING '(DESCRIPTION =(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = {prod server})(PORT = 2053)))
(CONNECT_DATA = (SERVICE_NAME = orcprd)))'