201940 方法,点击了 run之后,不能快速刷新 物化视图的话,采取了以下方式:
该方式 特别适合 本地物化视图 与 原库表 数据差异比较大的情况
-
将 job broken掉
sql command中执行: exec dbms_job.broken(job号,true);
记得commit -
参照博客: https://blog.youkuaiyun.com/qq_31322207/article/details/94002154
select * from dba_jobs_running;查询正在运行的工作流,如果有涉及到的job在其中,那么记住sid;如果没有,转步骤3.
2.1.select s.sid,s.serial#,p.spid from v$session s left join v$process p on s.paddr=p.addr where sid=114;
sid 为 步骤2 中 查询出的sid; 记住 spid
2.2. 到 数据库服务器上去执行cmd:orakill 数据库实例名 spid -
删除job
sql command中执行:exec dbms_job.remove(job号); -
删除物化视图
drop materialized view v_a;( job 对用的物化视图) -
重新去创建物化视图
-
创建过后,记得授权 grant select on v_a to role_1;
本文介绍了一种在本地物化视图与源库表数据差异较大时,通过打破原有job、删除并重建物化视图的方法来解决物化视图刷新问题的策略。包括如何使用SQL命令操作job,以及在数据库服务器上执行特定命令来终止job流程。
61

被折叠的 条评论
为什么被折叠?



