有没有一种方法可以对所有oracle包和过程进行全文搜索?

3lxsmp7m  于 2023-03-29  发布在  Oracle
关注(0)|答案(3)|浏览(184)

我想通过搜索我所有的程序包和函数的某个短语。
既然可以使用toad检索编译过程的代码,我假设全文存储在某个数据字典表中,有人知道它在哪里吗?

lpwwtiir

lpwwtiir1#

你可以这样做

SELECT name, line, text
  FROM dba_source
 WHERE upper(text) like upper('%<<your_phrase>>%') escape '\'
vdzxcuhz

vdzxcuhz2#

Toad的“object search”例程将查找ALL_SOURCE(以及数据字典的其他部分)。当然,这将仅限于允许连接的用户查看的对象。如果您可以访问DBA版本,那就太好了。如果没有,您将无法搜索所有内容。
此外,如果您使用的是Oracle 7,或者您的数据库从Oracle 7迁移到了8i或9 i(不确定是10还是11),那么触发器源可能不会出现在user_source或all_source视图中。最好检查一下。我发现的使其出现的最简单方法是进行实际修改-例如添加一个空格-并重新编译触发器。

zynd9foi

zynd9foi3#

你的意思是使用PL/SQL?或者只是使用TOAD?我知道你可以使用“查找对象”(或类似的)功能来手动搜索所有对象,如procs,表等......

相关问题