创建一个角色,赋予一个用户的读写权限,一个用户的只读权限

oraclelogan 2014-08-12 11:22:29
oracle11G
创建一个角色,赋予一个用户的读写权限,一个用户的只读权限。

oracle中我想新建一个用户user1,赋予sky用户下面所有对象的读写权限,然后赋予plsy用户下面所有对象的只读权限,这种怎么实现呢?

2个用户下的表以及存储过程,触发器太多了,如果一个个grant的话,比较麻烦,有没有别的途径呢?

我自己想到的比较复杂麻烦的赋值语句如下:


create role role_dev ;
GRANT EXECUTE ON pldsk.CONTAIN_WKEND TO role_dev ;
.....
....
grant select,insert,delete,update on pldsk.APP_ROLE_FUNCTION_REL to role_dev ;
......

大家有比较好的办法吗?



...全文
753 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangdh12 2014-08-13
  • 打赏
  • 举报
回复
引用 2 楼 oraclelogan 的回复:
[quote=引用 1 楼 bw555 的回复:] 建立存储过程,循环执行吧 遍历用户下所有对象{ 根据对象类型,动态生成授权语句然后动态执行 }
我准备用 类似下面的语句: select 'grant select on '||owner||'.'||object_name||' to role_pddev;' from dba_objects where owner in ('xx') and object_type='TABLE'; 觉得还是太笨拙了。[/quote] 我能想到的也就是这个。 你不会有好几万个对象吧。
oraclelogan 2014-08-12
  • 打赏
  • 举报
回复
引用 1 楼 bw555 的回复:
建立存储过程,循环执行吧 遍历用户下所有对象{ 根据对象类型,动态生成授权语句然后动态执行 }
我准备用 类似下面的语句: select 'grant select on '||owner||'.'||object_name||' to role_pddev;' from dba_objects where owner in ('xx') and object_type='TABLE'; 觉得还是太笨拙了。
bw555 2014-08-12
  • 打赏
  • 举报
回复
建立存储过程,循环执行吧 遍历用户下所有对象{ 根据对象类型,动态生成授权语句然后动态执行 }
sych888 2014-08-12
  • 打赏
  • 举报
回复
学习.........................
小灰狼W 2014-08-12
  • 打赏
  • 举报
回复
看见熟人心情大好 目前的权限应该是不能够直接关联用户的,只能一个一个赋对象权限 除了用select来拼语句,在存储过程中动态授予其实也是一样的 目前没有更简单的途径 另外,触发器不用授权的
bw555 2014-08-12
  • 打赏
  • 举报
回复
引用 2 楼 oraclelogan 的回复:
[quote=引用 1 楼 bw555 的回复:] 建立存储过程,循环执行吧 遍历用户下所有对象{ 根据对象类型,动态生成授权语句然后动态执行 }
我准备用 类似下面的语句: select 'grant select on '||owner||'.'||object_name||' to role_pddev;' from dba_objects where owner in ('xx') and object_type='TABLE'; 觉得还是太笨拙了。[/quote] 看执行的频率吧,如果是只执行一次,这么写没什么问题 如果可能多次执行,建议建立存储过程 将写好的查询语句作为游标,然后逐条取出,循环动态执行

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧