问题描述
嗨,汤姆,
我需要你帮忙修理这个。
我已经创建了应该在触发时调用shell脚本的作业。但不幸的是,我收到错误,因为test_job必须是一项工作。
以下是我用来创建作业的脚本。
如果我错过了这里的东西,请告诉我。
提前谢谢。
亲切的问候,
赛莱什
我需要你帮忙修理这个。
我已经创建了应该在触发时调用shell脚本的作业。但不幸的是,我收到错误,因为test_job必须是一项工作。
以下是我用来创建作业的脚本。
如果我错过了这里的东西,请告诉我。
提前谢谢。
SYS>BEGIN 2 DBMS_SCHEDULER.create_program 3 ( program_name => 'test', program_type => 'EXECUTABLE', program_action => '/scripts/AUTOMATION/GENERIC_REFRESH_SCRIPT/mail.sh', 4 5 6 7 number_of_arguments => 0, enabled => TRUE, 8 9 comments => 'Test Program' ); 10 11 end; / 12 PL/SQL procedure successfully completed. SYS>BEGIN DBMS_SCHEDULER.create_schedule ( schedule_name => 'test_schedule', start_date => SYSTIMESTAMP, repeat_interval => NULL, end_date => NULL, comments => 'Test.'); END; / 2 3 4 5 6 7 8 9 PL/SQL procedure successfully completed. SYS>BEGIN DBMS_SCHEDULER.CREATE_JOB_CLASS ( job_class_name => 'test_job_class' ); END; / 2 3 4 5 6 PL/SQL procedure successfully completed. SYS>BEGIN 2 DBMS_SCHEDULER.create_job ( 3 job_name => 'TEST_JOB', program_name => 'test', 4 5 schedule_name => 'test_schedule', job_class => 'test_job_class', 6 7 enabled => TRUE, 8 comments => 'Job defined by an existing program and schedule and assigned toa job class.'); END; 9 10 / PL/SQL procedure successfully completed. SYS>select JOB_NAME , STATE from dba_scheduler_jobs where JOB_NAME like 'TEST_JOB' or JOB_NAME like 'test_job'; no rows selected SYS>BEGIN DBMS_SCHEDULER.RUN_JOB( JOB_NAME => 'TEST_JOB', USE_CURRENT_SESSION => FALSE); END; / 2 3 4 5 6 BEGIN * ERROR at line 1: ORA-27475: "SYS.TEST_JOB" must be a job ORA-06512: at "SYS.DBMS_ISCHED", line 185 ORA-06512: at "SYS.DBMS_SCHEDULER", line 486 ORA-06512: at line 2复制
亲切的问候,
赛莱什
专家解答
你没有在日程表中定义重复间隔!
这意味着作业将运行一次,然后自行丢弃。如果你查看user_scheduler_job_run_details,你应该看到你的作业刚刚运行:
如果你想让它留下来,你需要定义这个。或将其禁用,以便您可以在需要时启用并启动它。
这意味着作业将运行一次,然后自行丢弃。如果你查看user_scheduler_job_run_details,你应该看到你的作业刚刚运行:
begin dbms_scheduler.create_program( program_name => 'test', program_type => 'EXECUTABLE', program_action => '/scripts/AUTOMATION/GENERIC_REFRESH_SCRIPT/mail.sh', number_of_arguments => 0, enabled => true, comments => 'Test Program' ); end; / begin dbms_scheduler.create_schedule( schedule_name => 'test_schedule', start_date => systimestamp, repeat_interval => null, end_date => null, comments => 'Test.' ); end; / begin dbms_scheduler.create_job_class( job_class_name => 'test_job_class' ); end; / begin dbms_scheduler.create_job( job_name => 'TEST_JOB', program_name => 'test', schedule_name => 'test_schedule', job_class => 'test_job_class', enabled => true, comments => 'Job defined by an existing program and schedule and assigned toa job class.' ); end; / select * from ( select job_name, status from user_scheduler_job_run_details order by log_date desc ) where rownum = 1; JOB_NAME STATUS TEST_JOB FAILED复制
如果你想让它留下来,你需要定义这个。或将其禁用,以便您可以在需要时启用并启动它。
begin dbms_scheduler.set_attribute( 'test_schedule', 'repeat_interval', 'FREQ=DAILY' ); end; / begin dbms_scheduler.create_job( job_name => 'TEST_JOB', program_name => 'test', schedule_name => 'test_schedule', job_class => 'test_job_class', enabled => true, comments => 'Job defined by an existing program and schedule and assigned toa job class.' ); end; / select job_name, next_run_date from dba_scheduler_jobs where job_name like 'TEST_JOB' or job_name like 'test_job'; JOB_NAME NEXT_RUN_DATE TEST_JOB 10-JUN-2017 01.56.27.800000000 -07复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1359次阅读
2025-03-13 11:40:53
Oracle RAC ASM 磁盘组满了,无法扩容怎么在线处理?
Lucifer三思而后行
835次阅读
2025-03-17 11:33:53
RAC 19C 删除+新增节点
gh
512次阅读
2025-03-14 15:44:18
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
479次阅读
2025-03-13 14:38:19
Oracle 如何修改 db_unique_name?强迫症福音!
Lucifer三思而后行
375次阅读
2025-03-12 21:27:56
Oracle DataGuard高可用性解决方案详解
孙莹
329次阅读
2025-03-26 23:27:33
墨天轮个人数说知识点合集
JiekeXu
272次阅读
2025-04-01 15:56:03
一键装库脚本3分钟极速部署,传统耗时砍掉95%!
IT邦德
262次阅读
2025-03-10 07:58:44
切换Oracle归档路径后,不能正常删除原归档路径上的归档文件
dbaking
256次阅读
2025-03-19 14:41:51
风口浪尖!诚通证券扩容采购Oracle 793万...
Roger的数据库专栏
253次阅读
2025-03-24 09:42:53