ITPUB论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2186|回复: 8

oracle中角色的问题! [复制链接]

注册会员

一般会员

精华贴数
0
技术积分
332
社区积分
0
注册时间
2005-11-7
论坛徽章:
0
发表于 2006-5-18 21:29:47 |显示全部楼层
在oracle9i中,当通过角色为某个用户赋权时,如果用户正处于连接状态,能否时时生效。

精华贴数
0
技术积分
7365
社区积分
588
注册时间
2004-8-19
论坛徽章:
34
ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:242012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282012新春纪念徽章
日期:2012-01-04 11:49:54管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:56Heart of PUB
日期:2009-11-14 11:15:02版主4段
日期:2012-05-15 15:24:11
发表于 2006-5-18 22:45:32 |显示全部楼层
不能,但授权后,重新登录的用户就具备这个角色的权限了
为啥不试试?试试就知道的,呵呵

使用道具 举报

注册会员

一起看日落

精华贴数
1
技术积分
5166
社区积分
2535
注册时间
2005-3-7
论坛徽章:
235
海蓝宝石
日期:2012-02-06 16:45:08蓝锆石
日期:2012-01-04 16:46:22蓝锆石
日期:2012-01-04 16:46:22蓝锆石
日期:2012-01-04 16:46:22红宝石
日期:2012-05-04 15:05:07蓝锆石
日期:2012-01-04 16:46:22蓝锆石
日期:2012-01-04 16:47:37蓝锆石
日期:2012-05-04 15:05:07蓝锆石
日期:2012-01-04 16:46:22红宝石
日期:2012-05-04 15:05:07紫水晶
日期:2012-02-06 16:45:08红宝石
日期:2012-05-04 15:05:07
发表于 2006-5-19 08:01:13 |显示全部楼层
實踐出真知呀

使用道具 举报

注册会员

DBA->AIX+db2

精华贴数
2
技术积分
4788
社区积分
35179
注册时间
2005-12-16
论坛徽章:
14
紫蛋头
日期:2012-05-03 09:29:35复活蛋
日期:2012-04-19 09:45:06
发表于 2006-5-19 08:09:11 |显示全部楼层
应该是不可以的吧,不过没有试过,今天试试哦。

使用道具 举报

版主

飞仙遨游

精华贴数
24
技术积分
9069
社区积分
928
注册时间
2004-7-22
论坛徽章:
57
2012新春纪念徽章
日期:2012-02-13 15:08:092011新春纪念徽章
日期:2011-01-04 10:36:172010广州亚运会纪念徽章:三项全能
日期:2010-11-16 11:59:08ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51开发板块每日发贴之星
日期:2010-06-05 01:01:06开发板块每日发贴之星
日期:2010-05-21 01:01:012010新春纪念徽章
日期:2010-03-01 11:08:33生肖徽章2007版:马
日期:2009-10-15 15:26:44祖国60周年纪念徽章
日期:2009-10-09 08:28:002009日食纪念
日期:2009-07-22 09:30:002011新春纪念徽章
日期:2011-01-25 15:41:012011新春纪念徽章
日期:2011-01-25 15:41:50
发表于 2006-5-19 08:21:00 |显示全部楼层
需重新登陆的

使用道具 举报

注册会员

一般会员

精华贴数
0
技术积分
332
社区积分
0
注册时间
2005-11-7
论坛徽章:
0
发表于 2006-5-19 17:33:44 |显示全部楼层
各位兄弟,我一直认为不能时时获的权限的.但是,近期使用的时候,确实时时获的权限了,为什么?

使用道具 举报

注册会员

资深会员

精华贴数
0
技术积分
2397
社区积分
771
注册时间
2004-3-15
论坛徽章:
12
授权会员
日期:2006-09-06 10:13:102012新春纪念徽章
日期:2012-01-04 11:49:542011新春纪念徽章
日期:2011-02-18 11:42:49ITPUB9周年纪念徽章
日期:2010-10-08 09:32:262010新春纪念徽章
日期:2010-01-04 08:33:08祖国60周年纪念徽章
日期:2009-10-09 08:28:00ITPUB8周年纪念徽章
日期:2009-09-27 10:21:22生肖徽章2007版:鸡
日期:2009-05-04 17:03:22生肖徽章2007版:马
日期:2009-02-02 08:52:32ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28
发表于 2006-5-19 18:31:01 |显示全部楼层
用什么连接的数据库?java?如果是通过应用连接的数据库,修改权限后,应用如果关闭了连接然后又很快地取连接就给人时时获得权限的感觉了

使用道具 举报

超级版主

老了,不狂热了。

精华贴数
19
技术积分
24848
社区积分
5101
注册时间
2001-9-24
论坛徽章:
22
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:41:01itpub2007年荐股参与纪念徽章
日期:2008-04-03 16:54:14
发表于 2006-5-20 23:56:25 |显示全部楼层
权限是实时起作用的,role要在重新登陆后起作用

测试:

先看权限的情况
session1:
  1. system@O9I.US.ORACLE.COM> create user testpriv identified by testpriv;

  2. 用户已创建

  3. system@O9I.US.ORACLE.COM> grant connect, resource to testpriv;

  4. 授权成功。
复制代码

session2:
  1. system@O9I.US.ORACLE.COM> connect testpriv/testpriv
  2. 已连接。
  3. system@O9I.US.ORACLE.COM> select count(*) from scott.emp;
  4. select count(*) from scott.emp
  5.                            *
  6. ERROR 位于第 1 行:
  7. ORA-00942: 表或视图不存在
复制代码


session1:
  1. system@O9I.US.ORACLE.COM> grant select on scott.emp to testpriv;

  2. 授权成功。
复制代码


session2:
  1. system@O9I.US.ORACLE.COM> select count(*) from scott.emp;

  2.   COUNT(*)
  3. ----------
  4.         14
复制代码


session1:
  1. system@O9I.US.ORACLE.COM> revoke select on scott.emp from testpriv;

  2. 撤销成功。
复制代码


session2:
  1. system@O9I.US.ORACLE.COM> select count(*) from scott.emp;
  2. select count(*) from scott.emp
  3.                            *
  4. ERROR 位于第 1 行:
  5. ORA-00942: 表或视图不存在
复制代码


可见直接授权是立即生效的, 不需要用户重新登陆.
下面看看通过角色授权的情况:
session1:
  1. system@O9I.US.ORACLE.COM> create role testprivrole;

  2. 角色已创建

  3. system@O9I.US.ORACLE.COM> grant select on scott.emp to testprivrole;

  4. 授权成功。

  5. system@O9I.US.ORACLE.COM> grant testprivrole to testpriv;

  6. 授权成功。
复制代码


session2:
  1. system@O9I.US.ORACLE.COM> select count(*) from scott.emp;
  2. select count(*) from scott.emp
  3.                            *
  4. ERROR 位于第 1 行:
  5. ORA-00942: 表或视图不存在
复制代码

可见,通过角色授权并未立即生效, 我们将session2断开重新登陆

  1. system@O9I.US.ORACLE.COM> disconnect
  2. 从Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
  3. With the Partitioning, OLAP and Oracle Data Mining options
  4. JServer Release 9.2.0.4.0 - Production中断开
  5. system@O9I.US.ORACLE.COM> connect testpriv/testpriv
  6. 已连接。
  7. system@O9I.US.ORACLE.COM> select count(*) from scott.emp;

  8.   COUNT(*)
  9. ----------
  10.         14
复制代码


重新登陆后,通过角色授权生效了, 那么撤销授权呢?
session1:
  1. system@O9I.US.ORACLE.COM> revoke testprivrole from testpriv;

  2. 撤销成功。
复制代码

session2:
  1. system@O9I.US.ORACLE.COM> select count(*) from scott.emp;

  2.   COUNT(*)
  3. ----------
  4.         14
复制代码



可见,即使是撤销角色,也要等到下次登陆才能生效。

再来看看,如果撤销对角色的授权的情况:

session1:
  1. system@O9I.US.ORACLE.COM> revoke select on scott.emp from testprivrole;

  2. 撤销成功。
复制代码


session2:
  1. Not connected> select count(*) from scott.emp;
  2. select count(*) from scott.emp
  3.                            *
  4. ERROR 位于第 1 行:
  5. ORA-00942: 表或视图不存在
复制代码

结论: 授予权限(privileges)总是立即生效的(无论授予用户还是角色),给用户授予角色要等到下次登陆才能生效。

使用道具 举报

注册会员

高级会员

精华贴数
3
技术积分
5087
社区积分
126
注册时间
2004-10-9
论坛徽章:
16
授权会员
日期:2005-11-01 10:49:022011新春纪念徽章
日期:2011-02-18 11:43:322010年世界杯参赛球队:南非
日期:2010-05-12 11:08:572010新春纪念徽章
日期:2010-03-01 11:04:54ITPUB十周年纪念徽章
日期:2011-09-27 16:30:472009新春纪念徽章
日期:2009-01-04 14:52:28生肖徽章2007版:狗
日期:2008-10-31 12:50:13生肖徽章2007版:狗
日期:2008-10-24 18:01:042008北京奥运纪念徽章:排球
日期:2008-10-24 13:30:01生肖徽章2007版:狗
日期:2008-10-20 14:41:16生肖徽章2007版:虎
日期:2008-03-03 10:43:49生肖徽章2007版:鸡
日期:2008-01-02 17:35:53
发表于 2006-5-21 14:27:16 |显示全部楼层
执行set role all 试试

使用道具 举报

相关内容推荐
您需要登录后才可以回帖 登录 | 注册

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 邮箱 虎吧 老博客 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
CopyRight 1999-2011 itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001 广播电视节目制作经营许可证:编号(京)字第1149号
  
回顶部