sql - 借助 oracle 中的 DBLINK,获取从数据库调用的表的依赖关系
问题描述
我在 oracle 中有一个数据库“myDB”,其中一个 DBLINK“MyDBLink”指向另一个 oracle 数据库“MyOriginalDB”。连接正常。我在 MyOriginalDB 中创建了几个表和视图,并在“myDB”中创建了指向这些表的视图。
例如,我的视图“Users_V”(在 myDB 中)从 MyOriginalDB 调用表 Users_T:
SELECT * FROM Users_T@MyDBLink
一切正常。
我现在需要检索 myDB 中的所有视图和表(所有依赖项),通过 DBLINK 从 MyOriginalDB 调用对象(表和视图)。
我试试这个查询:
SELECT
name, referenced_name, referenced_type, dependency_type
FROM user_dependencies
尽管如此,由于 DBLINK(视图查询中使用的@MyDBLink),我并没有从 myDB 中的视图中得到对不同对象(MyOriginalDB)的所有调用。
你能帮我做吗?
在此先感谢您的帮助
解决方案
根据oracle 文档:
DBA_DEPENDENCIES 描述数据库中过程、包、函数、包主体和触发器之间的所有依赖关系,包括在没有任何数据库链接的情况下创建的视图的依赖关系。
因此,如果使用db links
. 您必须使用*_views
来查找视图的文本并在视图的文本中找到您的数据库链接。
干杯!!
推荐阅读
- material-ui - 如何将按钮标签放置在材质 Ui 的卡片中心?
- python - Css 文件未在 Python Anywhere 上加载
- reactjs - 期望一个字符串,得到对象 gatsby-plugin-prettier-eslint Gatsby
- r - Rshiny侧边栏面板和图像位置问题问题
- amazon-web-services - 如何更改 cloudwatch 代理记录区域?
- unity3d - 如何在不影响子游戏对象的情况下更改父游戏对象的比例?
- tinymce - 当我想显示这些信息时,tinymce 出现问题
- java - 公共 GUI 给了我一个无效的方法声明返回类型要求
- python - Selenium 打开浏览器但拒绝执行下一行代码
- android - 上传 Android App Bundle 时出错。如果错误仍然存在,请稍后重试或联系 Google Play 开发者支持