用户到底属于哪个组------关于other_groups用户组

本文介绍了Oracle数据库中用户组的概念及其与资源计划的关系。详细解释了default_consumer_group的作用及如何通过SQL查询确定用户的初始组与隶属组。并通过实例演示了如何创建资源计划并设置不同用户组的CPU优先级。

1.我理解other_groups用户组是这样的用户组:

一个oracle用户成为other_groups的条件有两个:
1)其已经连接上数据库,即有活动会话(呵呵,有点废话,不连数据库爱归哪组就归哪组,不会对数据库有影响)
2)其所在的初始组(initial consumer group,可以在dba_users中查看)在当前资源计划中没有涉及到
2.先介绍default_consumer_group:
一个用户被创建即被指派给此用户,即如果用户没有指派到任何用户组即被默认指派给该组


3.下面以用户MGR为例,先通过以下两个sql来查看MGR的初始用户组和其隶属的用户组
SQL> select username, initial_rsrc_consumer_group from dba_users where username='MGR';

USERNAME        INITIAL_RSRC_CONSUMER_GROUP
--------------- ------------------------------
MGR             DEFAULT_CONSUMER_GROUP

SQL> select grantee, granted_group from dba_rsrc_consumer_group_privs where grantee='MGR';

GRANTEE                        GRANTED_GROUP
------------------------------ --------------------
MGR                            OLTP
MGR                            DSS
MGR                            BATCH
可以看到MGR的初始组为DEFAULT_CONSUMER_GROUP,另外其还分别隶属于OLTP,DSS,BATCH用户组
4.创建如下计划
begin
dbms_resource_manager.clear_pending_area();
dbms_resource_manager.create_pending_area();
dbms_resource_manager.create_plan(plan=>'daytime', comment=>'plan for normal working hours');
dbms_resource_manager.create_plan_directive(plan=>'daytime',group_or_subplan=>'sys_group', cpu_p1=>100,comment=>'11');
dbms_resource_manager.create_plan_directive(plan=>'daytime', group_or_subplan=>'oltp',cpu_p2=>100,comment=>'11');
dbms_resource_manager.create_plan_directive(plan=>'daytime', group_or_subplan=>'dss',cpu_p3=>50,comment=>'11');
dbms_resource_manager.create_plan_directive(plan=>'daytime',group_or_subplan=>'batch',cpu_p3=>50,comment=>'11');
dbms_resource_manager.create_plan_directive(plan=>'daytime',group_or_subplan=>'other_groups',cpu_p4=>100,comment=>'11');
dbms_resource_manager.validate_pending_area();
dbms_resource_manager.submit_pending_area();
end;

执行以下命令以使当前资源计划为daytime
SQL> alter system set resource_manager_plan='daytime';

System altered.

其中mgr的初始用户组(default_consumer_group)并没有在当前计划(daytime)中出现
SQL>  select username, resource_consumer_group from v$session where username is not null;

USERNAME        RESOURCE_CONSUMER_GROUP
--------------- --------------------------------
SYS             SYS_GROUP
MGR             OTHER_GROUPS
BATCH           BATCH
        .
        .
        .

我们会发现mgr在OTHER_GROUPS用户组;
由此可见,虽然mgr隶属于很多组如batch,dss,oltp,但其初始组默认是DEFAULT_CONSUMER_GROUP,而DEFAULT_CONSUMER_GROUP在daytime计划中并没有涉及,因此mgr在v$session中只能是other_groups

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24104518/viewspace-713118/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24104518/viewspace-713118/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值