Oracle数据库管理-Oracle 资源管理(resource manager)

(1) Oracle 资源管理(resource manager

假如管理一下具有如下问题的产品数据库:

后台批作业占用了大量的资源,将会阻碍了其他要同时运行的更重要的作业。

如要调度大型作业,但不能预计它们何时才能完成。

作业的优先次序没有得到区分,而致使重要的作业不能预先完成。

某些用户使用过量的CPU时间,从而导致总体资源缺乏,这时,不得不结束其会话。

有些用户在操作中使用非常高的并行度,这会降低系统的整体性能。

所有这些问题都源于DBA不能够在竞争中有效地分配有限的资源,针对于这些问题,我们可以使用 Oracle database resource manager 来进行管理。

(1.1)概述

一、Oracle Resource Manager存在的意义

1、如果数据库的资源分配由操作系统决定,会遇到如下问题:

1       Excessive overhead过度的开销

Excessive overhead results from operating system context switching OS 上下文切换)between Oracle Database server processes when the number of server processes is high.

2   Inefficient scheduling低效率的调度

The operating system deschedules database servers while they hold latches, which is inefficient.

3   Inappropriate allocation of resources不适当的资源分配

The operating system distributes resources equally among all active processes and cannot prioritize one task over another.

4   Inability to manager database-specific resourcessuch as parallel execution servers and active sessions

  2、Resource Manager允许数据库控制硬件资源的分配,在多用户并发执行不同优先级的Job时,不同的session可以按照不同的优先级对待,Resource Manager允许我们根据session的属性将session分类到不同的groups,然后对不同的groups分配不同的资源。

使用Resource Manager可以做到如下:

1   保护某个session分配到最小的CPU资源,而不管系统的压力和用户的数量。

2   针对不同的用户和应用分配不同比例的CPU时间。

3   限制用户组成员任何操作的并行深度。

4   管理并行队列中并行的执行顺序,紧急应用的并行可以优先于其他低优先级的并行。

5   限制group中用户可以使用并行的数量,这样可以确保所有可用的并行资源不会被分配到某一个group用户。

6   创建active session poolActive session pool由同一个group中用户session被允许并发active的最大数量组成。附加的session可以超过这个限制执行,当job队列中断后,可以指定超时时间。

7   通过如下方法管理和调用runaway session

1 修改group可以消耗CPU资源的比率值。

2 检测session或者call是否超过了指定CPU或者I/O的限制。然后自动的中断sessioncall,或切换其小于consumer group中指定的CPU资源数。

8   阻止优化器估算其运行时间超过指定限制的操作。

9   限制session可以被空闲的时间。

10  根据工作量的改变允许数据库使用不同的resource plan。可以动态的修改这些resource plan。也可以在Scheduler中使用resource plan

(1.2) Oracle Resource Manager的组成元素

Element

Description

Resource consumer group

A group of sessions that are grouped together based on resource requirements. The Resource Manager allocates resources to resource consumer groups, not to individual sessions.

Resource plan

A container for directives that specify how resources are allocated to resource consumer groups. You specify how the database allocates resources by activating a specific resource plan.

Resource plan directive

Associates a resource consumer group with a particular plan and specifies how resources are to be allocated to that resource consumer group.

1、 Resource Consumer Groups

1Resource Consumer Group是一个用户session的集合,其根据session需要的进程进行归类,当一个session创建之后,它就自动根据用户指定的规则映射到对应的consumer group

2DBA也可以手工的切换session到不同的consumer group。简言之,就是使用PL/SQL包来切换session到指定的consumer group

3)因为Resource Manager仅分配资源到一个consumer group,当一个session变成consumer group中的一员时,它的资源分配就由该consumer group决定。

4)在数据字典里一直存在3个特定的consumer groups,它们不能被修改和删除。

2、 Resource plans

   Resource plan是预先定义好的,可以创建任意个resource plan,但是在同一时刻只有一个resource plan是激活的。当resource plan是激活时,它的每个子resource plan控制每个资源分配到不同的consumer group。每个plan必须 包含一个指令,其分配资源到OTHER_GROUPSconsumer groupOTHER_GROUPS适用于所有的session,即使不是当前激活的plan

3 Resource Plan Directive

Resource Manager根据当前active resource planResource Plan Directive的设置分配资源到consumer groupsResource PlanResource Plan Directive是父子关系,每个Resource Plan Directive只对应一个consumer group

(1.3) 管理Resource Manager的权限

   管理Resource Manager必须具有ADMINISTER_RESOURCE_MANAGER权限,在DBArole里已经包含了这个权限。

通过DBMS_RESOURCE_MANAGER_PRIVS包来执行ADMINISTER_RESOURCE_MANAGER权限的授予和撤销。该包中两个相关的procedures

Procedure

Description

GRANT_SYSTEM_PRIVILEGE

Grants the ADMINISTER_RESOURCE_MANAGER system privilege to a user or role.

REVOKE_SYSTEM_PRIVILEGE

Revokes the ADMINISTER_RESOURCE_MANAGER system privilege from a user or role.

使用如下脚本进行授权
如:授予TEST
用户ADMINISTER_RESOURCE_MANAGER权限

 begin

  dbms_resource_manager_privs.grant_system_privilege(

  grantee_name =>'TEST',

   privilege_name =>'ADMINISTER_RESOURCE_MANAGER',

  admin_option =>FALSE);

  end;

 使用如下脚本进行撤销TEST用户ADMINISTER_RESOURCE_MANAGER权限

 begin

dbms_resource_manager_privs.revoke_system_privilege(

 revokee_name =>'TEST',

  privilege_name =>'ADMINISTER_RESOURCE_MANAGER');

  end;

 该包中另外两个procedures:

GRANT_SWITCH_CONSUMER_GROUP

REVOKE_SWITCH_CONSUMER_GROUP

 

(1.4)  Resource Manager管理的资源类型

1、 CPU

2 Degree of Parallelism Limit

可以限制同一个consumer group中最大的并行数,degree of parallelism是同一个操作的并行执行的数量,使用PARALLEL_DEGREE_LIMIT_P1指令来指定consumer group的并行限制。

Degree of parallelism limit仅对consumer group中的一个操作限制,其不限制同一个consumer group中所有错做的并行度。但可以通过PARALLEL_DEGREE_LIMIT_P1PARALLEL_TARGET_PERCENTAGE指令属性来实现该功能。

3 Parallel Target Percentage

这个功能仅从oracle 11gR2开始使用!

如果一个consumer group使用了所有的并行,那么当其他consumer group的高优先级的并行就没有parallel server来分配,可以通过限制特定consumer group的并行数来避免这个问题。

使用PARALLEL_TARGET_PERCENTAGE指令属性可以指定consumer group可以使用最大parallel server pool的比率。

例如,假设总共的parallel server32,在初始化参数里设置MY_GROUP consumer groupPARALLEL_SERVERS_TARGET50%,那么该组group最大就只能使用16parallel servers

4 Parallel Queue Timeout

这个功能从Oracle 11gR2以后才有!

当使用并行队列时,如果数据库没有足够的资源来执行并行,那么并行就会进入队列,直到有资源时才变成可用。但是存在一种情况,就是并行等待了很长的时间才执行,可以设置并行在队列中的最长等待时间来避免这种问题。

5 Active Session Pool with Queuing

可以控制单个consumer group中最大的并发的active sessions的数量。这个最大的数就是active session pool

6 Automatic Consumer Group Switching

This methodenables you to control resource allocation by specifying criteria that, if met,causes the automatic switching of a session to a specified consumer group.Typically, this method is used to switch a session from a high-priorityconsumer groupone that receives a high proportion of system resourcesto alower priority consumer group because that session exceeded the expectedresource consumption for a typical session in the group.

7 Canceling SQL and Terminating Sessions

可以使用命令取消或中止long-runingsession

8 Execution Time Limit

可以指定操作最大的执行时间,如果超过这个时间,操作将终止。

9 Undo Pool

可以为每个consumer group指定undo poolundo pool控制总的undo数量。当总的undo生成量超过了这个限制,那么当前的事务操作生成的undo会被中断,只有undo pool空间足够时,才可以执行。

10Idle Time Limit

    指定session空闲时间,当超过这个时间时,session被中断。

(1.5)  相关查询和管理视图

1、查看Resource consumer group

select consumer_group from dba_rsrc_consumer_groups;

CONSUMER_GROUP

------------------------------

OTHER_GROUPS

DEFAULT_CONSUMER_GROUP

SYS_GROUP

LOW_GROUP

AUTO_TASK_CONSUMER_GROUP

2、查看Resource Plan

SYS@ tsid > select plan from dba_rsrc_plans;

PLAN

------------------------------

SYSTEM_PLAN

INTERNAL_PLAN

INTERNAL_QUIESCE、

相关的查询主图主要包括 v$rsrc_xx,dba_rsrc_XX.

3 查询维护窗口的client

select a3.WINDOW_name,

       a3.WINDOW_NEXT_TIME,

       a3.AUTOTASK_STATUS,

       a3.OPTIMIZER_STATS,

       a3.SEGMENT_ADVISOR,

       a3.SQL_TUNE_ADVISOR

  From dba_autotask_window_clients a3;

4 查询资源计划的资源分配情况 

select *

  From dba_rsrc_plan_directives

 where plan = 'DEFAULT_MAINTENANCE_PLAN'

    or plan like '%AUTOTASK%'

(1.5)  实施方案步骤

(1.5.1) 授权

对于DBA,已经具有执行dbms_resource_manager程序包下的所有过程的权限,但对于其他用户,需要授予名为

administer_resource_manager的系统权限,以便使用Oracle resource manager。如下:

 begin

 dbms_resource_manager_privs.grant_system_privilege(

  grantee_name=>'dbonread',

  privilege_name=>'administer_resource_manager',

  admin_option=>true);

  end;

  /

begin

 dbms_resource_manager_privs.grant_system_privilege(

  grantee_name=>'dbonread01',

  privilege_name=>'administer_resource_manager',

  admin_option=>true);

  end;

  /

 

  说明:我们利用dbms_resource_manager_privs.包中的gratn_system_privilege过程为用户dbonreaddbonread01授予administer_resource_manager权限。

(1.5.1) 创建未决区(工作区)

  未决区是创建与资源消费组,资源计划,资源指示的临时工作区,在操作完成后,需要对工作区变更与实施内容进行提交 。创建如下:

exec dbms_resource_manager.clear_pending_area();--清除

exec dbms_resource_manager.submit_pending_area;  --提交

exec dbms_resource_manager.create_pending_area();--创建 


(1.5.2) 创建资源消费组

   根据实际需求创建所需要的用户组,需要注意的是虽然这一步并没有创建 OTHER_GROUPS 用户组,但是后面必须为 OTHER_GROUPS 用户组创建相对应的Plan Directive

使用如下脚本创建 消费者group。

  BEGIN
  DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
  consumer_group => 'GROUP_OLTP',
  comment => 'Group of OLTP USERS...',
  mgmt_mth => 'ROUND-ROBIN'); --该用户组内各会话的CPU资源采取轮询的分配方法

  END;

  BEGIN
  DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
  consumer_group => 'GROUP_OLAP',
  comment => 'Group of OLAP USERS...',
  mgmt_mth => 'ROUND-ROBIN'); --该用户组内各会话的CPU资源采取轮询的分配方法

  END;

说明:consuber_group用来指定资源消费组名,connent用来给资源消费组添加注释。还有一些默认的参数,

CPU_MTH,该参数有两个值为:run_to_completionround_robin(默认)。run_to_completion方法为优先调度那些占用较长时间的会话,round_robin是使用一个循环调度系统。

对于上述,我们使用默认的CPU调度方法创建消费组GROUP_OLTPGROUP_OLAP。我们可以用如下的数据字典查看:

set lines 120

col consumer_group for a15

col cpu_method for a14

col mgmt_method for a14

select consumer_group,cpu_method,mgmt_method

from dba_rsrc_consumer_groups

where consumer_group in (upper('app'),upper('admin'));

CONSUMER_GROUP  CPU_METHOD     MGMT_METHOD

--------------- -------------- --------------

GROUP_OLTP           ROUND-ROBIN    ROUND-ROBIN

GROUP_OLAP           ROUND-ROBIN    ROUND-ROBIN

(1.5.3) 创建资源计划

   创建资源计划时需要注意的一点是如果 sub_plan 参数指定为 TRUE,那么这个计划只能作为子计划使用,并且不需要为 OTHER_GROUPS 创建 Plan Directive

资源计划包含各资源消费组之间资源分配的指示。例子如下:

begin

  dbms_resource_manager.create_plan(

  plan=>'membership_plan',

  cpu_mth=>'ratio',

  comment=>'new membership resource plan');

  end;

说明:plan用来指定资源计划的名称,CPU_mth指定资源消费组之间分配CPU的方法,默认为emphasisI(百分比),

另一个值为ratio(比率),connect添加注释。

还有一些其他默认的参数:active_sess_pool_mth此参数确定资源组中活动会话数目的限制;到11g版本,唯一一个值为active_sess_pool_absolute方法。parallel_degree_limit_mth此参数确定某个特定操作的并行度,到11g版本,唯一一个值为parallel_degree_limit_absolutesub_plan此参数确定是否子计划,默认为falsequeueing_mth此参数确定排队会话将执行的顺序,可以选项为fifo_timeout

(1.5.3) 创建资源计划

资源计划指示(resource plan directive)用来把资源计划分配到资源消费组中。例子如下:

begin

  dbms_resource_manager.create_plan_directive(

  plan=>'membership_plan',

  group_or_subplan=>'GROUP_OLTP',

  comment=>'app grooup',

  cpu_p1=>5);

  end;

  /

如果需要将5%调整到10%,使用如下脚本

--5%-10%

BEGIN
dbms_resource_manager.clear_pending_area();
dbms_resource_manager.create_pending_area();

dbmsresource_manager.update_plan_directive(

  plan=>'membership_plan',

  group_or_subplan=>'app',

  new_cpu_p1=>50);

dbms_resource_manager.submit_pending_area();

  end;

  /

 

begin

  dbms_resource_manager.create_plan_directive(

  plan=>'membership_plan',

  group_or_subplan=>'admin',

  comment=>'admin group',

  cpu_p1=>70);

  end;

  /

 

begin

  dbms_resource_manager.create_plan_directive(

  plan=>'membership_plan',

  group_or_subplan=>'other_groups',

  comment=>'other group',

  cpu_p1=>20);

  end;

  /   

关于DIRECTIVE一些详细其他资源参数 

针对会话映射到的每一个用户组创建资源计划指令,可以看做是数据库资源管理的控制核心。
这里可以控制的资源种类比较多:
a.CPU使用、
b.最大活跃会话数、
c.会话并行度、
d.会话最大空闲时间,
e.Undo使用大小等

SQL> BEGIN
  2 DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
  3 plan => 'PLAN1', --
将该Plan Directive 关联到 PLAN "Plan1"
  4 group_or_subplan => 'GROUP_OLAP', --
可以指定用户组,也可以指定Sub Plan,和上一个参数构成了 Plan Diretive 的唯一属性
  5 comment => 'Directives for OLAP consumer group...',
  6 active_sess_pool_p1 => 5, --
最大活跃会话数,达到该限制后其他会话进入 Inactive session queue
  7 queueing_p1 => 10, --
Inactive session queue 的等待超时时间
  8 parallel_degree_limit_p1 => 2,--最大并行度
  9 switch_group => 'KILL_SESSION',--在满足指定条件后,对会话所采取的操作
10 switch_time => 3, --执行时间限制,会话操作执行时间超过该值后,即被采取上一步的相应操作(second
11 switch_estimate => FALSE,  --如果设置为 TRUE,在操作执行前Oracle先估算执行时间以决定是否对其切换用户组
12 max_est_exec_time => 5,--最大估算执行时间,优化器对操作时间进行估算,如果超过该值则直接返回“ORA-07455
13 undo_pool => NULL,  --uncommited undo segments 限制(KB
14 max_idle_time => 300, --会话最大空闲时间
15 max_idle_blocker_time =>3,--Blocker会话的最大空闲时间
16 mgmt_p1 => 30, --CPU使用限制(Level 1
17 mgmt_p2 => 0); --CPU使用限制(Level 2
18 END;
19 /

PL/SQL procedure successfully completed.

SQL> BEGIN
  2 DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
  3 plan => 'PLAN1',
  4 group_or_subplan => 'GROUP_OLTP',                       --
为“GROUP_OLTP”用户组创建指令计划
  5 comment => 'Directives for OLTP consumer group...',
  6 active_sess_pool_p1 => 10,
  7 switch_group => 'CANCEL_SQL',
  8 switch_time => 3,max_idle_time => 3,
  9 mgmt_p1 => 60,
10 mgmt_p2 => 0);
11 END;
12 /

PL/SQL procedure successfully completed.

SQL> BEGIN
  2 DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
  3 plan => 'PLAN1',
  4 group_or_subplan => 'OTHER_GROUPS',                     --
为没有映射到以上用户组中的会话创建 Plan Directive
  5 comment => 'Directives for the other users group...',
  6 parallel_degree_limit_p1 => 1,
  7 mgmt_p1 => 0,
  8 mgmt_p2 => 100);  --CPU
使用限制(Level 2 100%,即 Level 1 分配剩下的10%
  9 END;
10 /

PL/SQL procedure successfully completed.

说明:plan用于指定资源计划,group_or_subplan用于指定资源消费组或子计划,connent用于添加注释。

cpu_pn此参数指定可在消费组或子计划中分配CPU资源。可以使用多层CPU资源分配,以区分出CPU的优先级。如,保证仅在层次一需求后还剩的CPU时,层次二才能获得CPU资源。 ACTIVE_SESS_POOL_P1此参数用来设置活动会话打开的最大数目 PARALLEL_DEGREE_LIMIT_P1此参数用来设置并行度的限制,MAX_IDLE_TIME此参数用来设置单个会话空间的最大时间。 SWITCH_GROUP此参数指定会话可根据特定的切换条件进行切换的消费组。两个切换组为cancel_sql kill_session。与

SWITCH_GROUP有关参数的设置,SWITCH_IO_MEGABYTES此参数指定会话在数据库在采取措施前可以传送的IO字节数据。 SWITCH_IO_REQS指定可执行的IO数目。SWITCH_FOR_CALL如果设置为trueOracle将完成顶层后被切换以原来的会话。

BEGIN
dbms_resource_manager.clear_pending_area();
dbms_resource_manager.create_pending_area();
dbms_resource_manager.update_plan_directive(
    
plan => ?,
    group_or_subplan => ?,
    new_comment => ?,
    new_mgmt_p1 => ?, new_mgmt_p2 => ?, new_mgmt_p3 => ?, new_mgmt_p4 => ?,
    new_mgmt_p5 => ?, new_mgmt_p6 => ?, new_mgmt_p7 => ?, new_mgmt_p8 => ? ,
    new_parallel_degree_limit_p1 => ? ,
   
 new_switch_io_reqs => ?,
    new_switch_io_megabytes => ? 
,
    new_active_sess_pool_p1 => ?,
    new_queueing_p1 => ?,
    new_switch_group => ?,
    new_switch_time => ?,
    new_switch_estimate => case ? 
when 'false' then false when 'true' then true else false end ,
    new_max_est_exec_time => ?,
    new_undo_pool => ? ,
    new_max_idle_time => ?,
    new_max_idle_blocker_time => ?,
    new_switch_for_call => case ? 
when 'false' then false when 'true' then true else false end

);
dbms_resource_manager.submit_pending_area();

END;

(1.5.4) 验证并提交未决区

使用如下脚本进行提交

exec dbms_resource_manager.validate_pending_area;

exec dbms_resource_manager.submit_pending_area;

我们用如下的方式进行查看结果:

select group_or_subplan,cpu_p1,cpu_p2,cpu_p3,status

 from dba_rsrc_plan_directives

  where plan = upper('test');

GROUP_OR_SUBPLAN                   CPU_P1     CPU_P2     CPU_P3 STATUS

------------------------------ ---------- ---------- ----------

GROUP_OLTP                                  10          0          0

GROUP_OLAP                               70          0          0

OTHER_GROUPS                           20          0          0

(1.5.5) 映射操作

在前面,我们已经创建了资源计划、资源组、以及对cpu资源的分配规则,现在需要将用户、程序等进行mapping到对应的资源组中。

  • 方案1  set_initial_consumer_group

创建用户后,Oracle会分配一个默认的资源消费组,为default_consumer_group,如果指派用户到其他消费组,那么,

需要授予如下权限:

exec dbms_resource_manager_privs.grant_switch_consumer_group(grantee_name=>'dbonread',consumer_group=>'GROUP_OLTP',grant_option=>true);

exec dbms_resource_manager_privs.grant_switch_consumer_group(grantee_name=>'dbonread01',consumer_group=>'GROUP_OLAP',grant_option=>true);

下面我们进行用户分配:

SQL>exec dbms_resource_manager.set_initial_consumer_group('dbonread','app');

exec dbms_resource_manager.set_initial_consumer_group('dbonread01','admin');

下面,我们查看用户dbonreaddbonread01的属性:

select username,initial_rsrc_consumer_group

  from dba_users

  where username in(upper('dbonread'),upper('dbonread01'));

 

USERNAME                       INITIAL_RSRC_CONSUMER_GROUP

------------------------------ ------------------------------

DBONREAD                    GROUP_OLTP

DBONREAD01                 GROUP_OLAP

  • 方案2 SET_CONSUMER_GROUP_MAPPING

DBMS_RESOURCE_MANAGER.set_consumer_group_mapping

DBMS_RESOURCE_MANAGER.set_consumer_group_mapping_pri

DBMS_RESOURCE_MANAGER.set_initial_consumer_group


根据会话的登录和运行属性建立该会话和资源用户组的映射关系,可以使用过程 SET_INITIAL_CONSUMER_GROUP 通过“Username”设置用户的初始用户资源组,该过程在11gR1被弃用后,改为使用过程 SET_CONSUMER_GROUP_MAPPING 通过“Session Attribute”来映射用户组。
这里所说的会话属性包括: 

oracle_user,

client_os_user,

client_program,

client_machine,

module_name ...

module_name_action

service_moudle

service_name
当会话的多个属性映射发生冲突时,会根据每个属性的优先级来决定最终映射关系,使用这个过程来调整属性的优先级:SET_CONSUMER_GROUP_MAPPING_PRI

SQL> BEGIN
  2 DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
  3 attribute => 'CLIENT_MACHINE',
  4 value => 'ASM', --
将从“ASM”客户机发起的会话映射到“GROUP_OLAP”用户组
  5 consumer_group => 'GROUP_OLAP');
  6 END;
  7 /

PL/SQL procedure successfully completed.

SQL> BEGIN
  2 DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
  3 attribute => 'CLIENT_MACHINE',
  4 value => 'WORKGROUP\XIAO', 
--将从“WORKGROUP\XIAO”客户机发起的会话映射到“GROUP_OLTP”用户组
  5 consumer_group => 'GROUP_OLTP');
  6 END;
  7 /

PL/SQL procedure successfully completed.

​​​​​​​

(1.5.5) 启用Oracle Resource Manager

可以通过设置init.oraspfile.ora文件中的resource_manager_plan参数来进行启用,如下:

alter system set resource_manager_plan = membership_plan;

说明:如果需要停止,那么将其设置为空即可(resource_manager_plan=' ')。下面,我们查看当前的活动资源:

select name,is_top_plan from v$rsrc_plan;

 NAME                             IS_TO

-------------------------------- -----

MEMBERSHIP_PLAN                  TRUE

(1.5.6) ORACLE自动维护资源计划 

在ORACLE 11G出现自动维护任务 ,在调度窗口时间内 ,将资源计划进行调整,进行自动维护任务 ,在cpu分配不足条件下 会出现以下等待事件:resmgr:cpu quantum,处理方案为 如下:

++ set the current resource manager plan to null (or another plan that is not restrictive): 

alter system set resource_manager_plan='' scope=both

++ change the active windows to use the null resource manager plan (or other nonrestrictive plan) using: 

execute dbms_scheduler.set_attribute('WEEKNIGHT_WINDOW','RESOURCE_PLAN',''); and 
execute dbms_scheduler.set_attribute('WEEKEND_WINDOW','RESOURCE_PLAN','');

For 11g, you need to change those too:

execute dbms_scheduler.set_attribute('SATURDAY_WINDOW','RESOURCE_PLAN',''); 
execute dbms_scheduler.set_attribute('SUNDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('MONDAY_WINDOW','RESOURCE_PLAN',''); 
execute dbms_scheduler.set_attribute('TUESDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('WEDNESDAY_WINDOW','RESOURCE_PLAN',''); 
execute dbms_scheduler.set_attribute('THURSDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('FRIDAY_WINDOW','RESOURCE_PLAN','');

 

该资源成功使用。V$RSRC_CONSUMER_GROUP T

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值