查询两个实例

时间:2015-09-16 15:04:16

标签: sql oracle

我有一个托管多个不同数据库的Oracle实例,我想在所有实例中查询,因为其他一些数据库包含相关信息。如何设置查询以连接到作为SELECT语句的一部分的多个实例..

如果有帮助,我正在使用Oracle SQL Developer。

1 个答案:

答案 0 :(得分:1)

在Oracle 12.1之前,Oracle实例和Oracle数据库之间的关系是1比1.单个实例最多可容纳1个数据库,但单个服务器可以容纳多个实例。但是,单个数据库将具有多个模式,每个模式可以单独或协作地托管一个或多个数据库应用程序。

可以通过数据库链接从一个Oracle实例访问另一个实例。数据库链接可以是公共链接或私有链接,可以使用与此类似的命令(other options exist)创建:

CREATE [PUBLIC] DATABASE LINK LINK_NAME
CONNECT TO SOME_SCHEMA
IDENTIFIED BY SOME_PASSWORD 
USING 'SOME_SERVICE_NAME';

这样的数据库链接将用于引用远程实例中的数据库对象,方法是将链接名称附加到带有(@)符号的对象引用,例如:

SELECT * FROM [SCHEMA.]TABLE_NAME@LINK_NAME;

如果与DB链接关联的远程模式(上面的create db link语句中的SOME_SCHEMA)具有从引用的远程模式中进行选择的足够权限,则上述select将返回数据。