获取对从数据库调用的表的依赖关系,这要归功于预言机中的 DBLINK



我在oracle中有一个数据库"myDB",DBLINK"MyDBLink"指向另一个oracle数据库"MyOriginalDB"。连接工作正常。我在MyOriginalDB中创建了几个表和视图,并在"myDB"中创建了指向这些表和视图的视图。

例如,我的视图"Users_V"(在myDB中(从MyOriginalDB调用表Users_T:

SELECT * FROM Users_T@MyDBLink

一切都在正常。

由于DBLINK,我现在需要检索myDB中的所有视图和表(所有依赖项(,从MyOriginalDB调用对象(表和视图(。

我尝试这个查询:

SELECT
name, referenced_name, referenced_type, dependency_type
FROM user_dependencies

尽管如此,由于 DBLINK(@MyDBLink用于视图查询(,我并没有从 myDB 中的视图中获得对不同对象(MyOriginalDB(的所有调用。

你能帮我做到这一点吗?

提前感谢您的帮助

根据oracle文档:

DBA_DEPENDENCIES描述了数据库中的所有依赖关系 过程、包、函数、包主体和触发器, 包括对在没有任何数据库链接的情况下创建的视图的依赖项。

因此,如果使用db links创建视图,则无法在视图上找到依赖项。 您必须使用*_views来查找视图的文本,并在视图的文本中查找数据库链接。

干杯!!

最新更新