zoukankan      html  css  js  c++  java
  • oracle中Window和Window Group

    参考文献:

    http://www.5ienet.com/note/html/scheduler/oracle-scheduler-using-window.shtml

    window概念

      此Windows非彼Windows,通常说的Windows是指盖首富的操作系统,而此处所说的Windows,是指SCHEDULER特性中的一个子项。在SCHEDULER中,WINDOW对应的是一个时间窗口的概念。

      我们知道普通的jobs是没有运行时间管理地概念的,就是说一个job启动之后,用户只能被动地等待其执行,一直到其执行地任务完成(或DBA手动kill对应进程),在此期间,执行的job将与其它活动的进程共同竞争当前系统中的资源。对于大型数据库系统,系统资源那可是相当宝贵的无形资产哪,岂能谁说用就用、想什么时候用就什么时候用,没点儿计划没点儿节制这还了得。你还别说,在9i之前,还真就是这么回事儿,谁想用就用,谁也管不了,其中表示最甚的就是job。你是否想起了Job Classes,没错定义Job Classes确实可以控制job能够使用的资源,不过单单使用Job Classes并不能灵活的控制job在合适的时间使用适当的资源。进入10g之后,SCHEDULER中提供了WINDOW,事情终于有了缓解。

      WINDOW 可以指定一个时间窗口,在此期间,通过与Job Classes的搭配组合,能够有效控制job执行时支配(使用)的资源。比如说job通常是在凌晨服务器负载较低时执行,那么就可以通过WINDOW设置在此期间,允许jobs使用更多的系统资源,而到了工作时间后,如果job仍未执行完成,为其分配另一个有限的资源,以尽可能降低job执行占用的资源对其它业务的影响。

    windows group概念

      除了WINDOW外,还有一个与WINDOW有关系的叫WINDOW GROUP,一个WINDOW GROUP可能包 含多个WINDOW。使用WINDOW GROUP的本意是这样的,假如说某个job执行的时间比较长,甚至全天24小时都在执行,对于这类job,单个WINDOW很难有效调整其资源占用,这时间呢,就可以通过设置一个WINDOW GROUP,该WINDOW GROUP中包含了多个WINDOW,每个WINDOW分别负责不同时间点时的资源使用计划。

      然后在创建JOB时,指定schedule_name参数为WINDOW GROUP的名称(想不到SCHEDULE_NAME还能指定为WINDOW GROUP哪,其实何止WINDOW GROUP,还可以直接指定成WINDOW哪),这样,就可以通过很简单的方式,将job与window联系在一起了。

      WINDOW GROUP 的创建和管理与前面介绍的方式极其相似:

    • 创建,使用CREATE_WINDOW_GROUP过程;
    • 删除,使用DROP_WINDOW_GROUP过程;
    • 添加WINDOW成员,使用ADD_WINDOW_GROUP_MEMBER过程;
    • 删除WINDOW成员,使用REMOVE_WINDOW_GROUP_MEMBER过程;
    • 启用,使用ENABLE过程;
    • 禁用,使用DISABLE过程;

      这些过程的调用方式也都非常简单,这里就不着重演示了,感兴趣的朋友不妨自行尝试。

  • 相关阅读:
    httprunner运行报错问题:base url missed
    Locust性能模块浅谈
    如何对HTMLTestRunner 进行输出print 进行修改
    网易UI自动化测试工具Airtest中导入air文件中的方法
    如何在 idea 2019.3.4 中导入Github的项目并使用Git同步项目?
    Win10 Microsoft Store 微软商店 Error 0x00000193 解决方法
    读书笔记 |《计算机组成结构化方法》-01
    [MR] MapReduce 总结、回顾与吐槽
    [Git] 极简Git——关于Git的简要回顾
    [FlyWay] FlyWay工作原理
  • 原文地址:https://www.cnblogs.com/xwdreamer/p/3897521.html
Copyright © 2011-2022 走看看