通过 TOAD,我知道我可以使用模式浏览器查看存储过程的依赖关系(使用)图。而且,Oracle 实用程序deptree_fill
可以执行类似的操作。我想要做的是将所有存储过程、函数和表定义 DLL 编写到一个文件中,我可以使用该文件在另一个数据库中重新创建这些对象。是否有用于此目的的工具或现有脚本?我自己的搜索没有找到解决方案。在我的特定情况下,存储过程使用了十几个其他过程、一些函数和二十个表。
编辑 1
也许我原来的问题不清楚。我正在寻找的是一种能够获取我感兴趣的存储过程并将其及其所有依赖关系图编写到一个或多个文件中的东西。
我正在处理的模式中有数百个对象,依赖关系图中有大约 50 个对象。因此,如果可以的话,我宁愿不要在 TOAD 中挖掘大型列表或自己编写 Oracle 脚本。
最佳答案
可以使用dbms_metadata
包提取所有源。
获取表的来源:
select dbms_metadata.get_ddl('TABLE', 'SOME_TABLE')
from dual;
获取存储过程的源代码:
select dbms_metadata.get_ddl('PROCEDURE', 'SOME_PROC')
from dual;
使用它,您可以创建一个 SQL 脚本来提取所有内容,然后将结果假脱机到文件中。
有关dbms_metadata
中各种函数的更多详细信息可以在手册中找到:
http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/d_metada.htm#i1015856
关于oracle - 为 Oracle 存储过程依赖关系图生成 DDL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26660758/