柚子快報邀請碼778899分享:Oracle權(quán)限管理
柚子快報邀請碼778899分享:Oracle權(quán)限管理
1.權(quán)限分類
Oracle權(quán)限允許用戶訪問屬于其它用戶的對象或執(zhí)行程序,Oracle系統(tǒng)提供三種權(quán)限:Object 對象級、System 系統(tǒng)級、Role 角色級。 這些權(quán)限可以授予給用戶、特殊用戶public或角色,如果授予一個權(quán)限給特殊用戶"Public" (用戶public是oracle預定義的,每個用戶享有這個用戶享有的權(quán)限),那么就意味作將該權(quán)限授予了該數(shù)據(jù)庫的所有用戶。 (1)系統(tǒng)權(quán)限:是指在系統(tǒng)級控制數(shù)據(jù)庫的存取和使用的機制,即執(zhí)行某種SQL語句的能力。 例如啟動/停止數(shù)據(jù)庫,修改數(shù)據(jù)庫參數(shù),連接數(shù)據(jù)庫等權(quán)限。 系統(tǒng)權(quán)限是針對于用戶設(shè)置的,用戶必須被授予相應的系統(tǒng)權(quán)限,才能連接到數(shù)據(jù)庫中進行想要的操作。 系統(tǒng)權(quán)限很多,此處說一下常見的權(quán)限 CREATE SESSION------連接數(shù)據(jù)庫 CREATE TABLESPACE -----創(chuàng)建表空間 ALTER TABLESPACE ----修改表空間 DROP TABLESPACE -----刪除表空間 CREATE USER ----- 創(chuàng)建用戶 DROP USER ----- 修改用戶 CREATE TABLE ----- 創(chuàng)建表 (2)對象權(quán)限:是指用戶對數(shù)據(jù)庫對象的操作權(quán)限。 數(shù)據(jù)庫對象包括表,視圖,序列和存儲過程等。 表的對象權(quán)限有:ALTER【更改】,DELETE【刪除】,EXECUTE【執(zhí)行】,INDEX【索引】,INSERT【添加】,SELECT【查詢】和UPDATE【刷新】和ALL【所有】。 存儲程序的對象權(quán)限有:EXECUTE和DEBUG兩種,execute有查看和執(zhí)行的權(quán)限, debug只有查看的權(quán)限 (3)角色權(quán)限:角色是可以授予用戶的相關(guān)權(quán)限的組,該方法使權(quán)限的授予,撤回更加容易管理 常用角色【內(nèi)置角色】: connect:登陸權(quán)限,擁有Connect權(quán)限的用戶只可以登錄Oracle,不可以創(chuàng)建實體,不可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。 resource:開發(fā)人員權(quán)限,擁有Resource權(quán)限的用戶只可以創(chuàng)建實體,不可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。 dba:管理員權(quán)限,擁有全部特權(quán),是系統(tǒng)最高權(quán)限,只有DBA才可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。
2.用戶權(quán)限查詢
--系統(tǒng)級權(quán)限 select * from dba_sys_privs;--查詢所有用戶的系統(tǒng)權(quán)限 select * from user_sys_privs;--查詢當前用戶的系統(tǒng)權(quán)限 select * from session_privs;--查自己擁有哪些系統(tǒng)權(quán)限 --對象級權(quán)限 select * from dba_tab_privs;--所有用戶的對象級權(quán)限 select * from all_tab_privs; select * from user_tab_privs;--當前用戶的對象級權(quán)限 --查詢用戶擁有的角色 select * from dba_role_privs;--所有用戶的角色 select * from user_role_privs;--當前用戶的角色 --角色級權(quán)限 select * from role_sys_privs;--查看角色所包含的權(quán)限(只能查看登陸用戶擁有的角色) select * from role_sys_privs a where a.ROLE = 'CONNECT'; select * from role_sys_privs a where a.ROLE = 'RESOURCE';
3.權(quán)限授予
--系統(tǒng)權(quán)限 grant ?系統(tǒng)權(quán)限1/系統(tǒng)權(quán)限2 to 用戶; --- 賦予 --表 grant ALL/INSERT/DELETE/UPDATE/SELECT/ALTER on 用戶B.表名 to 用戶A;--- 賦予用戶A戶用于對于用戶Bxxx表的xxx權(quán)限 grant INSERT/DELETE/UPDATE/SELECT/ALTER any table to 用戶名; --賦予 xxx 用戶對于任意表xxx權(quán)限 --存儲過程 grant execute/debug on package/function/procedure to 用戶;--execute有查看和執(zhí)行的權(quán)限, debug只有查看的權(quán)限 grant execute/debug on sys.utl_http to perfreward; grant execute/debug any procedure to perfreward;--一次把權(quán)限給完(過程、包、方法) --角色 grant connect/resource/dba to 用戶;
4.權(quán)限撤回
--系統(tǒng)權(quán)限 revoke 系統(tǒng)權(quán)限1/系統(tǒng)全選2 from 用戶; ---收回 --表 revoke INSERT/DELETE/UPDATE/SELECT/ALTER on 用戶B.表名 from 用戶A; --- 收回用戶A用于對于用戶Bxxx表的xxx權(quán)限? revoke INSERT/DELETE/UPDATE/SELECT/ALTER any table from 用戶; -- 收回 xxx 用戶對于任意表xxx權(quán)限 --存儲過程 revoke execute/debug on package/function/procedure from 用戶; revoke execute/debug on sys.utl_http from perfreward; revoke execute/debug any procedure from perfreward;--一次把權(quán)限給完(過程、包、方法) --角色 revoke connect/resource/dba from 用戶;
5.系統(tǒng)級別權(quán)限
表空間 CREATE TABLESPACE ? 創(chuàng)建表空間;不管用戶有何操作系統(tǒng)特權(quán),經(jīng)由Oracle把文件添加到操作系統(tǒng)中 ALTER TABLESPACE ?改變表空間;不管用戶有何操作系統(tǒng)特權(quán),經(jīng)由Oracle把文件添加到操作系統(tǒng)中 MANAGE TABLESPACE ? 使任何表空間脫機,使任何表空間聯(lián)機,開始和結(jié)束對任何表空間的備份 DROP TABLESPACE ? 刪除表空間 UNLIMITED TABLESPACE ?使用任何沒有數(shù)量限制的表空間。此特權(quán)忽略了所分配的任何具體定額。 假如被取消的話,被授權(quán)者的模式對象仍然保留,但是進一步的表空間分配被拒絕,除非這一分配是具體的表空間定額允許的。此系統(tǒng)特權(quán)僅可以授予用戶,而不授予角色。一般而言,應分配具體的表空間定額,而不授予此系統(tǒng)特權(quán)
用戶 ? CREATE ANY USER ? 創(chuàng)建用戶;分配任意表空間上的定額,設(shè)置缺省和臨時表空間,指定一個 環(huán)境資源文件(在CREATE USER 語句中) BECOME ANY USER ? 成為另一個用戶(這是任何一個執(zhí)行完全數(shù)據(jù)庫導入的用戶所需要的) ALTER USER ?改變其他用戶:修改任意用戶的口令或驗證方法,分配表空間定額,設(shè)置 缺省或臨時表空間,在ALTER USER 語句中指定環(huán)境資源文件與缺省角色(不必改變自有口令) DROP USER ? 刪除另一個用戶
角色 ? CREATE ROLE ? 創(chuàng)建角色 ALTER ANY ROLE ?改變數(shù)據(jù)庫中的任何一個角色 DROP ANY ROLE ? 刪除數(shù)據(jù)庫中的任何一個角色 GRANT ANY ROLE ?授權(quán)數(shù)據(jù)庫中的任何一個角色
表 CREATE TABLE ?在自有模式中創(chuàng)建表。還使被授權(quán)者能在自有模式下的表中創(chuàng)建索引,包 括那些用于完整性約束的索引(被授權(quán)者必須有表空間的定額或UNLIMITED TABLESPACE 特權(quán)) CREATE ANY TABLE ?在任何模式中創(chuàng)建表(假如被授權(quán)者有CREATE ANY TABLE 特權(quán)并在 另一個用戶模式中創(chuàng)建了一張表,那么擁有者必須在那個表空間上有空間定額。表的擁有者不必具有CREAT [ANY] TABLE 特權(quán)) ALTER ANY TABLE ? 改變?nèi)魏文J街械娜魏伪聿⒕幾g任何模式中的任何視圖 BACKUP ANY TABLE ?在任何模式中使用表的導出工具執(zhí)行一個增量導出操作 DROP ANY TABLE ?刪除或截斷任何模式中的任何表 LOCK ANY TABLE ?鎖定任何模式中的任何表或視圖 特權(quán) ?所能實現(xiàn)的操作 COMMENT ANY TABLE ?對任何模式中的任何表、視圖或列進行注釋 SELECT ANY TABLE ?對任何模式中的任何表、視圖或快照進行查詢 INSERT ANY TABLE ?把行插入到任何模式中的任何表或視圖中 UPDATE ANY TABLE ?修改任何模式中的任何表或視圖中的行 DELETE ANY TABLE ?刪除任何模式中的任何表或視圖中的行 索引 ? CREATE ANY INDEX ?在任何表的任何模式中創(chuàng)建一條索引 ALTER ANY INDEX ? 改變數(shù)據(jù)庫中的任何索引 DROP ANY INDEX ?刪除數(shù)據(jù)庫中的任何索引
視圖 ? CREATE VIEW ? 在自有模式中創(chuàng)建視圖 CREATE ANY VIEW ? 在任意模式中創(chuàng)建視圖。要在另一個用戶模式中創(chuàng)建視圖,你必須具有CREATE ANY VIEW 特權(quán),擁用者必須在該視圖引用的對象上具有所需的特權(quán)
過程 ? CREATE PROCEDURE ?在自有模式中創(chuàng)建存儲的過程、函數(shù)和包 CREATE ANY PROCEDURE ?在任何模式中創(chuàng)建存儲的過程、函數(shù)和包(這要求用戶還要有ALTER ANY TABLE 、BACKUP ANY TA B LE 、DROP ANY TABLE 、SELECT ANY TABLE 、INSERT ANY TABLE 、UPDATE ANY TABLE 、DELETE ANY TABLE 或GRANT ANY TABLE 特權(quán)? ALTER ANY PROCEDURE ? 編譯任何模式中的任何存儲的過程、函數(shù)或包 DROP ANY PROCEDURE ?刪除任何模式中的任何存儲的過程、函數(shù)或包 EXECUTE ANY PROCEDURE ? 執(zhí)行任何過程或函數(shù)(獨立的或成組的),或在任何模式中引用任何包變量 DEBUG ANY PROCEDURE 查看定義任何存儲程序
序列 ? CREATE SEQUENCE ? 在自有模式中創(chuàng)建序列 CREATE ANY SEQUENCE ? 在任何模式中創(chuàng)建任何序列 ALTER ANY SEQUENCE ?在任何模式中改變?nèi)魏涡蛄?DROP ANY SEQUENCE ? 在任何模式中刪除任何序列 SELECT ANY SEQUENCE ? 在任何模式中引用任何序列
觸發(fā)器 CREATE TRIGGER ?在自有模式中創(chuàng)建觸發(fā)器 CREATE ANY TRIGGER ?在任何模式中創(chuàng)建與任何模式的任何表相關(guān)的任何觸發(fā)器 ALTER ANY TRIGGER ? 啟用、停用或編譯任何模式中的任何觸發(fā)器 DROP ANY TRIGGER ?刪除任何模式中的任何觸發(fā)器
同義詞 CREATE SYNONYM ?在自有模式中創(chuàng)建同義詞 CREATE ANY SYNONYM ?在任何模式中創(chuàng)建任何同義詞 DROP ANY SYNONYM ?在任何模式中刪除任何同義詞
分析 ? ANALYZE ANY ? 分析數(shù)據(jù)庫中的任何表、簇或索引 審計 ? AUDIT ANY ? 審計數(shù)據(jù)庫中的任何模式對象 AUDIT SYSTEM ?啟用與停用語句和特權(quán)的審計選項 簇 CREATE CLUSTER ?在自有的模式中創(chuàng)建一個簇 CREATE ANY CLUSTER ?在任何一個模式中創(chuàng)建一個簇;操作類似于CREATE ANY TABLE ALTER ANY CLUSTER ? 改變數(shù)據(jù)庫中的任何一個簇 DROP ANY CLUSTER ?刪除數(shù)據(jù)庫中的任何一個簇 數(shù)據(jù)庫 ALTER DATA BASE ? 改變數(shù)據(jù)庫;不管操作系統(tǒng)的特權(quán),經(jīng)由Oracle把文件添加到操作系統(tǒng)中 數(shù)據(jù)庫鏈接 CREATE DATABASE LINK ?在自有模式中創(chuàng)建專用數(shù)據(jù)庫鏈接 庫 CREATE LIBRARY ?在自有模式中創(chuàng)建調(diào)出庫 CREATE ANY LIBRARY ?在任何模式中創(chuàng)建調(diào)出庫 DROP LIBRARY ?刪除自有模式中的調(diào)出庫 DROP ANY LIBRARY ?刪除任何模式中的調(diào)出庫 特權(quán) ? GRANT ANY PRIVILEGE ? 授予任何系統(tǒng)特權(quán)(不包括對象特權(quán)) 環(huán)境資源文件 ? CREATE PROFILE ?創(chuàng)建環(huán)境資源文件 ALTER PROFILE ? 改變數(shù)據(jù)庫中的任何環(huán)境資源文件 DROP PROFILE ?刪除數(shù)據(jù)庫中的任何環(huán)境資源文件 ALTER RESOURCE COST ? 設(shè)置所有的用戶會話中使用的資源開銷 特權(quán) ?所能實現(xiàn)的操作 公共數(shù)據(jù)庫鏈接 CREATE PUBLIC DATABASE LINK ? 創(chuàng)建公共數(shù)據(jù)庫鏈接 DROP PUBLIC DATABASE LINK ? 刪除公共數(shù)據(jù)庫鏈接 公共同義詞 CREATE PUBLIC SYNONYM ? 創(chuàng)建公共同義詞 DROP PUBLIC SYNONYM ? 刪除公共同義詞 回滾段 CREATE ROLLBACK SEGMENT ?創(chuàng)建回滾段 ALTER ROLLBACK SEGMENT ?改變回滾段 DROP ROLLBACK SEGMENT ? 刪除回滾段 會話 ? CREATE SESSION ?連接到數(shù)據(jù)庫 ALTER SESSION ? 發(fā)出A LTER SESSION 語句 RESTRICTED SESSION ?當數(shù)據(jù)庫利用STARTUP RESTRICT 啟動時進行連接(OSOPER與OSDBA角色包含此特權(quán)) 快照 ? CREATE SNAPSHOT ? 在自有模式中創(chuàng)建快照(用戶還必須具有C R E ATE TA B L E 特權(quán)) CREATE ?ANY SNAPSHOT ?在任何模式中創(chuàng)建快照(用戶還必須具有CREATE ANY TABLE特權(quán)) ALTER SNAPSHOT ?改變?nèi)魏文J街械娜魏慰煺?DROP ANY SNAPSHOT ? 刪除任何模式中的任何快照 系統(tǒng) ? ALTER SYSTEM ?發(fā)出ALTER SYSTEM 語句 事務 ? FORCE TRANSACTION ? 強迫提交或回滾本地數(shù)據(jù)庫中懸而未決的自有的分布式事務 FORCE ANY TRANSACTION ? 強迫提交或回滾本地數(shù)據(jù)庫中懸而未決的任何分布式事務
?
柚子快報邀請碼778899分享:Oracle權(quán)限管理
相關(guān)文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。