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;
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 off2. sql>@grant.sql 帅哥试一下吧,刚才找到的,是cenlmmx(学海无涯苦作舟) 的解决办法
我试了一下,需要改一点,以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
常用的系统权限集合有以下三个:
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;
set feedback off
set echo off
spool grant.sql
select 'grant all on ' || object_name || ' to userB' from dba_objects
where owner='userA'
spool off2.
sql>@grant.sql
帅哥试一下吧,刚才找到的,是cenlmmx(学海无涯苦作舟) 的解决办法
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
然后再用B用户登陆