Database 一个表可以跨多个数据库共享吗

Database 一个表可以跨多个数据库共享吗,database,oracle,plsql,Database,Oracle,Plsql,我知道这很可能是不可能的。但我仍然会在这里详细说明我的问题,如果有人有类似于我需要的东西,那就太好了 我有一个文件验证系统,它托管在Windows服务器上。此系统保存一个元数据表,前端文件验证应用程序使用该表来验证各种类型的数据。现在,它满足于单个应用程序的需求,该应用程序与元数据表托管在同一个数据库中 问题是,我希望这个系统是可伸缩的,以便它可以验证各种应用程序的文件,其中一些存在于不同的数据库中。因为我的元数据表中的一些检查是基于Pl/SQL的,所以我无法运行这些检查,除非文件验证系统和应用

我知道这很可能是不可能的。但我仍然会在这里详细说明我的问题,如果有人有类似于我需要的东西,那就太好了

我有一个文件验证系统,它托管在Windows服务器上。此系统保存一个元数据表,前端文件验证应用程序使用该表来验证各种类型的数据。现在,它满足于单个应用程序的需求,该应用程序与元数据表托管在同一个数据库中


问题是,我希望这个系统是可伸缩的,以便它可以验证各种应用程序的文件,其中一些存在于不同的数据库中。因为我的元数据表中的一些检查是基于Pl/SQL的,所以我无法运行这些检查,除非文件验证系统和应用程序数据库的数据库相同。有没有一种方法可以同时在多个数据库之间共享一个表?如果没有,可能的解决方法是什么?

Oracle有DBLinks。查看文档


如果要像访问一个表一样访问多个数据库上的多个表,则必须使用使用数据库链接的视图。您应该首先了解数据库链接,然后创建视图应该不是问题

数据库链接允许您访问另一个数据库表,就像访问同一数据库上的表一样。创建db链接后,只需将
@mydblink
添加到表名中。范例

CREATE DATABASE LINK mydblink 
CONNECT TO user IDENTIFIED BY password
USING 'name_of_other_db'

SELECT * FROM sometable@mydblink
它工作得很好,甚至在远程和本地数据库中有两个阶段提交更新。根据您的设置,您还需要了解更多信息,但您可以在oracle文档中阅读所有信息。我曾在一个更大的项目中广泛使用数据库链接,这是您想要做的正确方法

下面是我在谷歌搜索后发现的一个链接,它告诉我如何构建一个视图来访问多个数据库中的数据,并提供一些有关预期性能的信息


我可以想到两种可能性:外部表和数据库链接。一般来说,可能值得研究。或者,如果您想跳出Oracle,可以将检查作为web服务公开。键入这些建议很容易,但实现这两种建议都有点麻烦:)