oracle角色与权限管理,Oracle用户角色权限管理

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 起用角色:给用户赋予角色,角色并不会立即起作用。 1.角色不能立即起作用。必须下次断开此次连接,下次连接才能起作用。 2.或者执行命令:有密码的角色set role testrole identified by tanfufa

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

起用角色:给用户赋予角色,角色并不会立即起作用。

1.角色不能立即起作用。必须下次断开此次连接,下次连接才能起作用。

2.或者执行命令:有密码的角色set role testrole identified by tanfufa 立即生效;

3.无密码的角色:set role testrole;或set role all except rolename_withpassword.

把角色赋予角色,角色嵌套。

create role testrole1;

grant select on t1 to testrole1;

create role testrole2;

grant testrole1 to testrole2;

grant r2 to testdb;

角色管理:

与角色有关系的视图:

所有角色:

select * from dba_roles;

当前用户scott有哪些角色:

select * from session_roles;

建立角色模板:只举一个例子。大家去触类旁通。

只读用户角色的建立的脚本:

1.授予某模式下对象读权限给角色。

SET PAGESIZE 0

SET FEEDBACK OFF

SET VERIFY OFF

SPOOL s.sql

SELECT 'GRANT SELECT ON "' || u.object_name || '" TO &1;'

FROM user_objects u

WHERE u.object_type IN ('TABLE','VIEW','SEQUENCE')

AND NOT EXISTS (SELECT '1'

FROM all_tab_privs a

WHERE a.grantee = UPPER('&1')

AND a.privilege = 'SELECT'

AND a.table_name = u.object_name);

SPOOL OFF

-- Comment out following line to prevent immediate run @s.sql

SET PAGESIZE 14

SET FEEDBACK ON

SET VERIFY ON

2.为模式权限对象创建同意词。

SET PAGESIZE 0

SET FEEDBACK OFF

SET VERIFY OFF

SPOOL temp.sql

SELECT 'CREATE SYNONYM "' || a.table_name || '" FOR "' || a.owner || '"."' || a.table_name || '";'

FROM all_tables a

WHERE NOT EXISTS (SELECT '1'

FROM user_synonyms u

WHERE u.synonym_name = a.table_name

AND u.table_owner = UPPER('&1'))

AND a.owner = UPPER('&1');

SPOOL OFF

-- Comment out following line to prevent immediate run

@temp.sql

SET PAGESIZE 14

SET FEEDBACK ON

SET VERIFY ON

[1] [2]

of3eedwd0po.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值