zoukankan      html  css  js  c++  java
  • 053-645

    Which two statements are true about a job chain? (Choose two.)
    A. A job chain can contain a nested chain of jobs.
    B. The jobs in a job chain cannot have more than one dependency.
    C. A job of the CHAIN type can be run using event-based or time-based schedules.
    D. The jobs in a job chain can be executed only by using the events generated by the Scheduler

    此题考点是 job 链。作业链是一系列任务所组成的,为了完成共同的目标。作业链可以用调度实施,依赖外部一个或多个之前的 job。
    要创建和使用一个链,你需要按顺序进行:
    1.创建一个链对象
    例如:
    BEGIN
    DBMS_SCHEDULER.CREATE_CHAIN (
    chain_name => 'my_chain1',
    rule_set_name => NULL,
    evaluation_interval => NULL,
    comments => 'My first chain');
    END;
    /
    2.定义链的步骤
    BEGIN
    DBMS_SCHEDULER.DEFINE_CHAIN_STEP (
    chain_name => 'my_chain1',
    step_name => 'my_step1',
    program_name => 'my_program1');
    DBMS_SCHEDULER.DEFINE_CHAIN_STEP (
    chain_name => 'my_chain1',
    step_name => 'my_step2',
    program_name => 'my_chain2');
    END;
    /
    --可以使用 event_schedule_name 来指定这个步骤需要等待的事件
    3.增加规则
      规则定义了在步骤运行时相互的依赖关系,在每个步骤的最后,所有的规则会评估,来发现下一步的动作,如果有多个条件满足,会发生多个动作。可以设置 evaluation_interval 的属性来设置评估的时间间隔来定期的评估。
    例如:
    stepname [NOT] {SUCCEEDED|FAILED|STOPPED|COMPLETED}
    stepname ERROR_CODE {comparision_operator|[NOT] IN} {integer|list_of_integers}
    其中 ERROR_CODE 也可以是 PL/SQL 中捕获的自定义异常,例如
    RAISE_APPLICATION_ERROR(-20100, errmsg);
    那么链规则必须是:
    stepname ERROR_CODE=20100
    定义好规则后,使用 define_chain_rule 指定:
    BEGIN
    DBMS_SCHEDULER.DEFINE_CHAIN_RULE (
    chain_name => 'my_chain1',
    condition => 'TRUE',
    action => 'START step1',
    rule_name => 'my_rule1',
    comments => 'start the chain');
    DBMS_SCHEDULER.DEFINE_CHAIN_RULE (
    chain_name => 'my_chain1',
    condition => 'step1 completed',
    action => 'START step2',
    rule_name => 'my_rule2');
    END;
    /
    4.启用链:
    BEGIN
    DBMS_SCHEDULER.ENABLE ('my_chain1');
    END;
    /
    5.创建链中指定的 job
    BEGIN
    DBMS_SCHEDULER.CREATE_JOB (
    job_name => 'chain_job_1',
    job_type => 'CHAIN',
    job_action => 'my_chain1',
    repeat_interval => 'freq=daily;byhour=13;byminute=0;bysecond=0',
    enabled => TRUE);
    END;
    /
    链的运行:
    在完成创建 job 使用链之后,可以使用 RUN_JOB 过程来运行这个 job(也就是运行了链),但是需要设置其中 use_current_session FALSE
    你也可以直接使用 RUN_CHAIN 来运行一个链,而不用运行第一个创建的 job。也可以只运行链的一部分。
    D 错


  • 相关阅读:
    模拟实现bind、call、apply函数
    模拟实现ECMAScript5新增的数组方法
    HBuilder mui页面间传值的几种方式
    手机端软键盘弹出挤压页面的问题
    js获取当前时间
    原生js根据class获取元素的方法
    jquery之获取select选中的值
    原生js获取元素属性值方法
    利用javascrit获取url传递的参数
    jQuery图片预加载(延迟加载)之插件Lazy Load
  • 原文地址:https://www.cnblogs.com/Babylon/p/7843478.html
Copyright © 2011-2022 走看看