Oracle 10G 搜索 View 、作业、程序的文本字符串

标签 oracle oracle10g

我们的 Oracle DBLink 正在更改,我需要搜索对旧位置的引用,以便我们可以将它们更新为指向新位置。我需要能够搜索 View 、程序、工作,整个九个码。 View 太多,无法一次一个地查看。

使用 TOAD 或 SQL Developer,如何查询数据库中的字符串文本?我找到了允许我搜索对象的查询,但我需要比这更深入的搜索。

TIA

Oracle 10G

最佳答案

程序和工作相对容易搜索:

select * from dba_source where upper(text) like '%@MY_LINK%';
select * from dba_jobs where upper(what) like '%@MY_LINK%';
select * from dba_scheduler_jobs where upper(job_action) like '%@MY_LINK%';

但是观点很难:

select * from dba_views where upper(text) like '%@MY_LINK%';
ORA-00932: inconsistent datatypes: expected NUMBER got LONG

有多种使用 LONG 的方法。最简单的方法是使用 PL/SQL,然后选择每个文本 ...到 v_varchar2_32767...。但该方法不太容易修改。

您可能想查看Dictionary Long Application ,将 LONG 转换为 CLOB。然后你可以使用这样的查询:

select *
from table(dla_pkg.query_view('select * from dba_views'))
where upper(text) like '%@MY_LINK%';

关于Oracle 10G 搜索 View 、作业、程序的文本字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15072065/

相关文章:

javascript - 如何循环这个 PL/SQL 语句,以便它在我的 Google map 上绘制多个标记?

php - 在codeigniter和mysql中过滤多个时间段的sql记录?

oracle10g - Windows 7 上的全能自动化 PL/SQL Developer - TNS over IP 连接到远程数据库

mysql - 数据库中的集群或数据库中的集群是什么意思?

oracle - ORA-22275 : invalid LOB locator specified

sql - SELECT 语句返回 ORA-00933 : SQL command not properly ended

sql - 如何忽略 Oracle 分析函数中的空值

sql - 在另一个架构中为表创建触发器时权限不足

sql - 如何删除不需要的空 XML 标签?

oracle10g - 如何确定 Oracle 表是否设置了 ROWDEPENDENCIES 选项?