Oracle - 在第二个链接服务器上使用链接服务器

Oracle - Use Linked Server over a second Linked Server

我想知道如何(如果可能)在 Oracle 服务器之间使用数据库 link 而不是第二个数据库 link。

我有这个场景:

这适用于服务器 A:

SELECT * from TABLE@Server_B

这来自 Server_B:

SELECT * from TABLE@Server_C

这在服务器 A 中不起作用,但逻辑​​上我想做的是:

select * from TABLE@Server_B@Server_C

我知道我可以在服务器 B 上创建一个视图到服务器 C 上的 table 并在服务器 A 上使用它。但是我还需要在第三台服务器上更新一些 table。

这可以吗?如果是,如何?

您可以在服务器 B 上创建一个指向服务器 C 上的远程 table 的同义词。如果服务器 C table 被称为 table_c,那么在服务器 B 上您可以做:

create synonym table_c_syn for table_c@server_c;

然后在服务器A上你可以做:

select * from table_c_syn@server_b;

并且您可以 update/insert,假设用于数据库链接的用户具有正确的权限:

insert into table_c_syn@server_b(cola, colb, ...) values (val1, val2, ...);