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 错


  • 相关阅读:
    Atmel Studio 烧录 Atmega328P(Arduiono)
    JSP内置对象详解及示例
    Hash Map 详细解释及示例
    19年双非学长逆袭985考研经验贴
    camelCase命名规范
    开始我的编程之旅!
    【转】堆和栈的区别
    现场编写类似strstr/strcpy函数
    【转】C++多态篇1一静态联编,动态联编、虚函数与虚函数表vtable
    【转】TCP协议中的三次握手和四次挥手(图解)
  • 原文地址:https://www.cnblogs.com/Babylon/p/7843478.html
Copyright © 2011-2022 走看看