借助 Oracle 中的 DBLINK 获取对从数据库调用的表的依赖关系

Get dependencies on tables called from a DB thanks to a DBLINK in oracle

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

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

SELECT * FROM Users_T@MyDBLink

一切正常。

我现在需要检索 myDB 中的所有视图和 tables(所有依赖项)调用来自 MyOriginalDB 的对象(tables 和视图)感谢 DBLINK。

我试试这个查询:

SELECT
name, referenced_name, referenced_type, dependency_type
FROM user_dependencies

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

你能帮我做吗?

在此先感谢您的帮助

根据oracle documemtation

DBA_DEPENDENCIES describes all dependencies in the database between procedures, packages, functions, package bodies, and triggers, including dependencies on views created without any database links.

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

干杯!!