需要从sqlplus连接到两个不同的db

时间:2010-08-31 13:39:19

标签: oracle unix scripting shell sqlplus

我需要从两个不同的数据库中获取信息。

select * from TABLE_ONDB2 where column_on_db2 in ( select column_on_db1 from TABLE_ONDB1 );

问题是两个都在不同的数据库实例上,所以我无法弄清楚如何放置表名和列名等。

我希望我的问题很明确。

1 个答案:

答案 0 :(得分:5)

我尝试使用数据库链接:

http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/ds_concepts002.htm

然而,这不是SQL * Plus功能。它的工作原理是建立从DB2到DB1的连接(数据库正在这样做)。

然后,您可以使用“@ db-link”名称表示法从DB2查询这两个表。如,

select *
  from TABLE_ONDB2
 where column_on_db2
    in (select column_on_db1 from TABLE_ONDB1@DB_LINK_NAME);
                                             ^^^^^^^^^^^^^

好处是您可以以各种方式访问​​表格,也​​可以作为联接。