首页 > 解决方案 > 如何排除 DBLINK

问题描述

我在不同的服务器 DB1 和 DB2 上有 2 个数据库。DBlink 在 DB1 上为 DB2 创建。我只有 1 个要使用的表,它存在于 DB1 上,我必须使用 dblink 否则我可以直接点击 DB2。有什么方法可以排除 DB1 Dblink 并获得 DB1 表数据?另外,我无权在 DB2 上创建任何东西。例如 select * from tb1 join tb2 on tb1.col = tb2.col

而不是通过 DB1,其中 DB2 存在 dblink。我想通过获取 DB2 中的一个表或使用 python sqllite 或 sqlalchemy 直接连接 DB2

标签: pythonsqloraclesqlite

解决方案


有什么方法可以排除 DB1 Dblink 并获得 DB1 表数据?

不,没有。尤其是您无法在所有其他表所在的 DB2 上创建任何东西。您必须访问 DB1,唯一的方法——因为它们在不同的数据库中——是使用数据库链接。

然而!有人说“数据库”,而在 Oracle 中,它是一个“模式”(驻留在同一个数据库中)。我会说你没有那个“问题”,即你知道哪个是哪个。但是,如果您不这样做:如果它们实际上只是同一数据库中的两个不同模式,那么您不需要数据库链接并且可以通过其他方式访问 DB1 数据(DB1 授予您select权限;然后通过在其名称前加上所有者名称)。


推荐阅读