0
搜索該網站,似乎並沒有發現有人問過這個問題。Oracle如何限制某個表上的某些數據給不同的用戶?
我們有兩個帳戶訪問同一個模式/數據庫上的同一個表。 User_1帳戶能夠撤回所有記錄,而User_2帳戶只能撤回某些數據。
我知道Oracle有能力限制不同用戶的表訪問,但我不知道它可以在數據級別上做這樣的事情。
我的問題是Oracle可以做到這一點,怎麼做?
謝謝
搜索該網站,似乎並沒有發現有人問過這個問題。Oracle如何限制某個表上的某些數據給不同的用戶?
我們有兩個帳戶訪問同一個模式/數據庫上的同一個表。 User_1帳戶能夠撤回所有記錄,而User_2帳戶只能撤回某些數據。
我知道Oracle有能力限制不同用戶的表訪問,但我不知道它可以在數據級別上做這樣的事情。
我的問題是Oracle可以做到這一點,怎麼做?
謝謝
您可以使用視圖。
CREATE OR REPLACE VIEW V_TABLE_FOR_USER_2 AS
SELECT *
FROM THE_TABLE
WHERE {data} = {certain data};
GRANT SELECT, INSERT, DELETE, UPDATE ON THE_TABLE TO USER_1;
GRANT SELECT, INSERT, DELETE, UPDATE ON V_TABLE_FOR_USER_2 TO USER_2;
也許你創建了一個非限制字段的視圖,並且只給視圖上的特權較低的用戶授權。 – Marc
使用虛擬專用數據庫:http://docs.oracle.com/cd/B19306_01/network.102/b14266/apdvpoli.htm#CHDFGBEB –
細粒度訪問控制? –