Oracle 10G搜索视图,作业,文本字符串的过程

时间:2013-02-25 16:51:54

标签: oracle oracle10g

我们的Oracle DBLink正在发生变化,我需要搜索旧位置的引用,以便我们可以更新它们以指向新位置。我需要能够搜索整个九码的视图,程序,工作。有太多的观点,每次都要看一个。

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

TIA

Oracle 10G

1 个答案:

答案 0 :(得分:3)

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

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,并选择每个文本...into v_varchar2_32767...。但是这种方法不容易修改。

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

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