Oracle用户权限 — 新建用户权限继承另一用户的权限

题记:今天要为监控服务器I2000在现网数据库中新建用户,要求该用户的权限与数据库已经存在的某一用户的权限一致!这里提供了我的

题记:今天要为监控服务器I2000在现网数据库中新建用户,要求该用户的权限与数据库已经存在的某一用户的权限一致!这里提供了我的做法,方法应该不是很好,不知道哪位大侠有更好的方法,希望给予指教,,谢谢!

实验:
要求:新建用户i2ksnmp的权限要和数据库已经存在的DBSNMP用户的权限一样。
1. 创建新用户i2ksnmp
create user i2ksnmp identified by i2ksnmp;

2. 查看DBSNMP用户的所有系统权限
select privilege from dba_sys_privs where grantee=’DBSNMP’ 
union 
select privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee=’DBSNMP’ );
如下,得到DBSNMP用户的所有系统权限:
PRIVILEGE
—————————————-
ADVISOR
ANALYZE ANY
ANALYZE ANY DICTIONARY
CREATE JOB
CREATE PROCEDURE
CREATE SESSION
CREATE TABLE
MANAGE ANY QUEUE
SELECT ANY DICTIONARY
UNLIMITED TABLESPACE

3. 然后将上面的权限都赋予新建用户即可
比如:
grant ANALYZE ANY DICTIONARY to i2ksnmp;

附加:
这里简单的整合了上面的方法:
set feedback off heading off verify off trimspool off
set pagesize 0 linesize 200
define user=test   —> 这里是新建用户名
select ‘grant  ‘||privilege||’  to &user;’ from dba_sys_privs where grantee = ‘DBSNMP’
union 
select ‘grant  ‘||privilege||’  to &user;’ from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee = ‘DBSNMP’);
然后将上面打印在屏幕上的拷贝执行就可以了。

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1943788.html

(0)
上一篇 2025年2月23日 01:16:06
下一篇 2025年2月23日 01:16:21

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论