常用的系統權限集合有以下三個:
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;
可參照另一篇文章:oracle用戶具有的權限和角色
select * from dba_sys_privs;
select * from dba_tab_privs;
SELECT DISTINCT(grantee) FROM dba_tab_privs;
SELECT DISTINCT(owner) FROM dba_tab_privs;
--TLOANCDE,TLOANDATA
SELECT DISTINCT(privilege) FROM dba_tab_privs;
/*
FLASHBACK
EXECUTE
ALTER
ON COMMIT REFRESH
DEQUEUE
DELETE
UPDATE
DEBUG
QUERY REWRITE
SELECT
USE
READ
INSERT
WRITE
INDEX
REFERENCES
MERGE VIEW
*/
SELECT * FROM dba_tab_privs
WHERE owner = 'TLOANCDE' OR owner = 'TLOANDATA'
ORDER BY grantee,table_name,privilege;
SELECT *
FROM dba_tab_privs
WHERE owner = 'TLOANDATA' AND TABLE_NAME = 'DAMS_D10_SEQUENCE'
-------------------------------------------------------------
--(1).查看當前的 user下 某表的 權限--關注要刪除的用戶A的X權限
SELECT *
FROM dba_tab_privs
WHERE owner = 'TLOANDATA' AND TABLE_NAME = 'DAMS_D20_SEQUENCE'
--(2).執行 回收權限
REVOKE alter on TLOANDATA.DAMS_D20_SEQUENCE from DEVSUP02;
--(3).驗證結果:關注要刪除的A用戶的X權限
SELECT *
FROM dba_tab_privs
WHERE owner = 'TLOANDATA' AND TABLE_NAME = 'DAMS_D20_SEQUENCE'
--(4).恢復測試環境數據
GRANT alter on TLOANDATA.DAMS_D20_SEQUENCE TO DEVSUP02;
--5.驗證恢復無誤,查詢結果 同1
SELECT *
FROM dba_tab_privs
WHERE owner = 'TLOANDATA' AND TABLE_NAME = 'DAMS_D20_SEQUENCE'