[Oracle]Oracle表權限小結


在數據庫中,表是我們接觸得最多的數據庫對象,接下來對與表有關的系統權限與對象權限做一個小結。

(1)與表有關的系統權限

CREATE TABLE 在當前Schema中創建、刪除、修改表。
SELECT ANY TABLE 查詢數據庫中的任何表
ALTER ANY TABLE 更改數據庫中的任何表
DROP ANY TABLE 刪除數據庫中的任何表

還有許多關於表的系統權限,這里不在一一列出,值得注意的是CREATE TABLE權限,它允許在當前Schema中創建table,同時,也賦予它了一些隱形的權限信息,例如:DROP TABLE、ALTER TABLE等,其實,用戶對自己Schema下的對象擁有任何權限。

(2)與表有關的對象權限

首先我們要明確什么是對象權限?對象權限是指對某個特定Schema對象的操作權限。數據庫Schema對象所有者擁有該對象的所有對象權限,所以對象權限的管理實際上是對象所有者對其它用戶操作該對象的權限管理。

[個人犯錯]:由於對對象權限的概念不夠清晰,今天在處理用於數據庫接口的Schema中的對象權限時,直接在當前Schema中賦予對象權限,結果去查詢對象權限時,發現並沒有對於的權限被賦予,通過查看資料,才知道用戶對自己Schema中的對象具有任何權限,所以,不能直接將該用戶移交給其它系統的開發者,正確的做法是再創建一個新的用戶,用來查看接口Schema中的數據信息。

ALTER 修改表的定義
DELETE 刪除表中數據
DEBUG 調試定義在該表上的觸發器,調用引用該表的SQL語句
INDEX 在表上創建索引
INSERT 在表中插入數據
REFERENCES 引用該表中的列以在其它表中創建外鍵約束
SELECT 查詢表
UPDATE 更新表中數據

對象權限的授予語法:

GRANT object_privilege_list | ALL [PRIVILEGE] [(column,...)]   --以往都是直接賦予表權限,通過這里也可以看出,可以單獨為列賦予對象權限
ON [Schema.]object
TO user_list|role_list|PUBLIC [WITH GRANT OPTION];


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM