怎样把A用户中所有表和视图的SELECT权限授予B用户?

happycatryan 2006-08-19 01:15:52
如题,在mysql中可以用grant select on a.* to b;在oracle中怎么用?多谢!
...全文
958 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yahooboy 2007-03-05
  • 打赏
  • 举报
回复
用A用户登陆,执行grant select any table to B
然后再用B用户登陆
yifanernei 2006-09-14
  • 打赏
  • 举报
回复
我试了一下,需要改一点,以a登录

set feedback off --不显示最后的 select 200 rows
set pagesize 0 --不会每隔几条出现一个空行
set heading off --不显示查询出来的表头
spool c:\1.sql --生成一个文件
select 'grant select on ' || object_name || ' to b;' from user_objects where object_type = TABLE or object_type = VIEW;
spool off
@c:\1.sql
yifanernei 2006-09-14
  • 打赏
  • 举报
回复
1.
set feedback off
set echo off
spool grant.sql
select 'grant all on ' || object_name || ' to userB' from dba_objects
where owner='userA'
spool off

2.
sql>@grant.sql
帅哥试一下吧,刚才找到的,是cenlmmx(学海无涯苦作舟) 的解决办法
yifanernei 2006-09-14
  • 打赏
  • 举报
回复
偶也在苦恼,同义词好像是可以把一个表授权给所有用户来着,不知道,受不了了!
llmsn 2006-08-20
  • 打赏
  • 举报
回复
1.GRANT 赋于权限
常用的系统权限集合有以下三个:
CONNECT(基本的连接), RESOURCE(程序开发), DBA(数据库管理)
常用的数据对象权限有以下五个:
ALL ON 数据对象名, SELECT ON 数据对象名, UPDATE ON 数据对象名,
DELETE ON 数据对象名, INSERT ON 数据对象名, ALTER ON 数据对象名

GRANT CONNECT, RESOURCE TO 用户名;
GRANT SELECT ON 表名 TO 用户名;
GRANT SELECT, INSERT, DELETE ON表名 TO 用户名1, 用户名2;

2.REVOKE 回收权限

REVOKE CONNECT, RESOURCE FROM 用户名;
REVOKE SELECT ON 表名 FROM 用户名;
REVOKE SELECT, INSERT, DELETE ON表名 FROM 用户名1, 用户名2;
lwk_hlj 2006-08-19
  • 打赏
  • 举报
回复
在B中建同义词!

努力学习 oracle ebs 中
chanet 2006-08-19
  • 打赏
  • 举报
回复
这个...

用户对象的话好像只可以针对每一张表~

17,377

社区成员

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

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