題記:今天要為監控服務器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');
然后將上面打印在屏幕上的拷貝執行就可以了。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com