问题描述
你好,
我在Oracle GRID上有一个计划的作业,可以在未更新任何mviews时发送警报。但是我有三个mviews没有更新,我现在不能改变它。所以我需要更改我的脚本,以排除这三个mviews (只有这三个),不每天得到警报。
我不知道如何进行此更改。
你能帮我吗?
请参见以下脚本:
----------
变量exit_code编号;
将服务器输出设置为
声明
v_checa编号;
光标c1是选择mview_name,最后一次刷新 _ 日期
从dba_mviews,其中所有者 = 'TESTE' 和last_refresh_date
开始
: exit_code := 0;
选择计数 (*) 进入v_checa
从dba_mviews,其中所有者 = 'TESTE' 和last_refresh_date
如果v_checa >= 1,则
对于c1循环中的mview_rec
dbms_output.put_line('Mview '| | mview_rec.mview_name | | 'Last update' | | to_char(mview_rec.last_refresh_date,'dd/mm/yyyy hhh24: mi'));
结束循环;
: exit_code := 1;
如果结束;
结束;
/
exit :exit_code;
-------------------------
非常感谢
我在Oracle GRID上有一个计划的作业,可以在未更新任何mviews时发送警报。但是我有三个mviews没有更新,我现在不能改变它。所以我需要更改我的脚本,以排除这三个mviews (只有这三个),不每天得到警报。
我不知道如何进行此更改。
你能帮我吗?
请参见以下脚本:
----------
变量exit_code编号;
将服务器输出设置为
声明
v_checa编号;
光标c1是选择mview_name,最后一次刷新 _ 日期
从dba_mviews,其中所有者 = 'TESTE' 和last_refresh_date
开始
: exit_code := 0;
选择计数 (*) 进入v_checa
从dba_mviews,其中所有者 = 'TESTE' 和last_refresh_date
如果v_checa >= 1,则
对于c1循环中的mview_rec
dbms_output.put_line('Mview '| | mview_rec.mview_name | | 'Last update' | | to_char(mview_rec.last_refresh_date,'dd/mm/yyyy hhh24: mi'));
结束循环;
: exit_code := 1;
如果结束;
结束;
/
exit :exit_code;
-------------------------
非常感谢
专家解答
你不把它们放在你的光标里吗?
我不会打扰count(*) 部分-无论您是否会在光标循环中获取行。
cursor C is
select mview_name,last_refresh_Date
FROM dba_mviews
WHERE owner = 'TESTE'
and last_refresh_date < sysdate - 1
and mview_name not in ('A','B','C');
我不会打扰count(*) 部分-无论您是否会在光标循环中获取行。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




