无法从远程 Oracle 11g 链接数据库读取数据
Failing to read data from remote Oracle 11g linked database
我有用户名和密码,2个Oracle数据库的完整权限。当我从 A 到 B 创建数据库 link 时,我没有看到错误:
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';
当我尝试 运行 针对 linked 服务器的查询时:
SELECT * FROM TheTable@link_to_uat;
我收到:
ORA-02019: Connection description for remote database not found
我可以使用上面的用户名和密码从 Oracle Sql Developer 和其他工具连接到远程数据库,但由于某种原因 Oracle 无法弄清楚。
我现在工作的这家公司锁定了所有机器,包括开发箱,所以我无法修改 TNSNames.ora 文件。
我尝试使用以下方法创建 linked 服务器:
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 文件,这在开发监狱中是不可能的。
对于远程和本地数据库,我都有管理员权限。
以下是我在 Aqua Data Studio 中连接到两台服务器的屏幕截图:
还有其他方法可以解决这个问题吗?
好吧,在和这个闲逛了一会儿之后,我发现我需要制作一个 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)))'
我有用户名和密码,2个Oracle数据库的完整权限。当我从 A 到 B 创建数据库 link 时,我没有看到错误:
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';
当我尝试 运行 针对 linked 服务器的查询时:
SELECT * FROM TheTable@link_to_uat;
我收到:
ORA-02019: Connection description for remote database not found
我可以使用上面的用户名和密码从 Oracle Sql Developer 和其他工具连接到远程数据库,但由于某种原因 Oracle 无法弄清楚。
我现在工作的这家公司锁定了所有机器,包括开发箱,所以我无法修改 TNSNames.ora 文件。
我尝试使用以下方法创建 linked 服务器:
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 文件,这在开发监狱中是不可能的。
对于远程和本地数据库,我都有管理员权限。
以下是我在 Aqua Data Studio 中连接到两台服务器的屏幕截图:
还有其他方法可以解决这个问题吗?
好吧,在和这个闲逛了一会儿之后,我发现我需要制作一个 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)))'