ホームページ > データベース > mysql チュートリアル > Oracle用户权限 -- 新建用户权限继承另一用户的权限

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

WBOY
リリース: 2016-06-07 17:06:21
オリジナル
1734 人が閲覧しました

题记:今天要为监控服务器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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート