0
我想知道是否有可能對數據庫管理員做類似的東西,以現有數據庫Oracle數據庫的限制
- 給只讀訪問。
- 但是,用戶應該能夠創建新表(甚至臨時表也很好)。
- 用戶可以寫入由他創建的所有新臨時表,並且這些臨時表在會話關閉時消失。
我知道第一點是可能的,但是有可能將第2點和第3點中指定的權限授予僅對現有數據庫表具有隻讀訪問權限的人員。
我想知道是否有可能對數據庫管理員做類似的東西,以現有數據庫Oracle數據庫的限制
我知道第一點是可能的,但是有可能將第2點和第3點中指定的權限授予僅對現有數據庫表具有隻讀訪問權限的人員。
特權不會授予數據庫或模式,僅限於對象。您當然可以創建一個數據庫用戶並授予該用戶訪問您希望他訪問的數據庫的每個模式中的每個表的訪問權限。如果創建了新對象,則需要將這些新對象的權限授予此用戶。然後,您可以在該表空間上爲該用戶提供CREATE TABLE
權限以及適當的配額,以便允許用戶創建新表。這主要是照顧#1和#2。
至於#3,Oracle沒有這樣一個表,它的定義對於特定的會話來說是本地的,所以當會話結束時你不能刪除表。我想你可以創建一個註銷觸發器,通過dbms_job
提交作業,在用戶註銷後立即刪除用戶架構中的所有表。然而,這將是非常不尋常的,所以我會強烈建議你避免這種情況,除非你正在做一些非常不尋常的事情(例如,sqlfiddle在封面上做了很多奇怪的事情,因爲使用Oracle是一種非常奇怪的方式數據庫)。
感謝賈斯汀的回覆 – Prabhjot 2014-09-04 19:52:59