技术开发 频道

详解Oracle中的Services

    11、对Services使用资源管理器

    Database resource Manager可以根据Services来分配工作。它通过直接将comsumer groups绑定到Services中来管理在一个Instance上Services的相对优先级。当一个client连接使用一个Service,在连接是consumer group被透明的分派。从而是resource Manager可以根据它们的Service重要性管理工作请求。

    具体来个例子:

    例子中,在将consumer groups映射到Services前,必须先创建consumer groups,并为每个consumer groups分配资源计划。资源计划可以是以优先级为基础的或是以比率为基础的。例子中,先创建了创建了HIGH_PRIORITY consumer group,并将其映射到AP Service。可以同理创建LOW_PRIORITY consumer group。

    最后,授权给相应的权限。

    12、在Services中使用scheduler

    在RAC环境中,scheduler对于每个Database使用一个job table,对于每个Instance使用一个job coordinator。job coordinator彼此之间进行交互,从而获得当前的信息。

    scheduler可以使用Services并且给RAC环境带来好处。一个特定job class使用的Service是在job class被创建时确定的。在执行过程中,job classes中分配的jobs和job classes是在Services内运行的。job classes使用Service确保了scheduler的工作被辨识用于工作量的管理和性能的调优。

    对于高可用性,scheduler提供了Service的类同来代替Instance的类同。jobs不是scheduled到特定的Instance下运行,而是scheduled到特定的Service下执行。所以,如果一个Instance 宕机,job仍然会被在其他提供该Service的Instance上运行。

    note:通过指明运行jobs的Service,job cooradinator会平衡相应的工作量,从而获得更好的性能。

    上一个具体的实例:

    例子中,假设已经定义了一个叫HOT_BATCH_SERV的Service。先建立了一个叫HOT_BATCH_CLASS的batch queue由scheduler管理。并将其与HOT_BATCH_SERV相互关联。

    随后,定义job。

0
相关文章