啊,一个问题,纠结了我几个月甚至大半年了
今天,意外地解决了
万分兴奋
此前写过物化视图删除不掉的文章,但是,那个物化视图是在定义的时候直接把刷新时间写进去了,所以找对应的job比较简单
这次,遇到的,物化视图定义的时候,不定义刷新方式(刷新间隔),是重新建立了一个存储过程,类似:
create or replace procedure 'pro_refresh_mview'
as
begin
dbms_mview.refresh(list=>'mv_t_**',method=>'F');
end;
再创建了 Job
命令类似:
begin
sys.dbms_scheduler.create_job(
job_name =>'job_refresh_mv_t_**',
job_type=>'STORED_PROCEDURE',
job_action=>'pro_refresh_mview',
satart_date=>sysdate
repeat_interval=>'Freq=DAILY;ByHour=22',
end_date=>to_date(null),
job_class=>'DEFAULT_JOB_CLASS',
enabled=>ture,
auto_drop=>true,
comments=>'');
end;
/
我的工作,是先找到这个 存储过程 ,可以借助:
select * from user_source where text like '%MV_NAME%';
再找到对应的job
--DBArtisan -Browser-Oracle Job Queue
select * from user_jobs where what like '%PRO_NAME%';
--DBArtisan -Broser-Scheduler Jobs
select * from user_scheduler_jobs where job_action like '%PRO_NAME%';
然后直接 disable 这个 job
然后就可以直接 drop 这个物化视图了!!!
感觉自己学到了不少
虽然姗姗来迟。。