如何把多个用户的所有对象的增删改权限,赋予另一个用户?谢谢!

[复制链接]
查看11 | 回复5 | 2010-10-8 09:32:27 | 显示全部楼层 |阅读模式
本帖最后由 cormywang 于 2012-5-28 14:26 编辑
Oracle 11gR2版本。
公司权限有这种需求。比如testadm,需要test1,test2~test10用户下的所有对象的增删改权限。
使用“SELECT'grant all on '||object_name||'to user_name;' FROM user_objects;”只能一次赋予一个用户的权限,需要改进。
回复

使用道具 举报

千问 | 2010-10-8 09:32:27 | 显示全部楼层
这个,好像只能一个一个的付吧
回复

使用道具 举报

千问 | 2010-10-8 09:32:27 | 显示全部楼层
可以建一个角色
回复

使用道具 举报

千问 | 2010-10-8 09:32:27 | 显示全部楼层
其实这种需求还是挺多的,oracle的版本演进过程中,好像对于权限的配置没什么大的变化,我们业务中也有这种需求,用的很头疼
回复

使用道具 举报

千问 | 2010-10-8 09:32:27 | 显示全部楼层
SQL> spool ./grantall.sql
SQL> SELECT 'GRANT ALL ON ' || owner || '.' || object_name || ' TOtestadm;'
FROM dba_objects
WHERE owner like 'test%'
AND object_type != 'INDEX'
AND object_type != 'DATABASE LINK';
SQL> spool off
SQL> @grantall.sql
回复

使用道具 举报

千问 | 2010-10-8 09:32:27 | 显示全部楼层
Fung920 发表于 2012-5-28 10:45
SQL> spool ./grantall.sql
SQL> SELECT 'GRANT ALL ON ' || owner || '.' || object_name || ' TOtes ...

like 'test%' 这个Idea好,我本来准备,写好一个脚本,替换test1,test2呢,Thanks!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行