創建一個只讀用戶user2,只能查詢管理員用戶user1下的表,不能增刪改。
操作環境:PL/SQL Developer
1、用管理員用戶user1登錄,創建用戶user2、並授權
--創建用戶user1,密碼123456 create user user2 identified by 123456; --授權 grant connect to user2; grant create synonym to user2; grant create session to user2;
2、授予user2的查詢表權限:復制下面的查詢結果,執行
select 'grant select on '||owner||'.'||object_name||' to user2;' from dba_objects where owner in ('USER1') and object_type in ('VIEW','PROCEDURE','TABLE','FUNCTION');
3、為user2創建同義詞:復制下面的查詢結果,執行
select 'create or replace SYNONYM user2.' || object_name|| ' FOR ' || owner || '.' || object_name|| ';' from dba_objects where owner in ('USER1') and object_type in ('VIEW','PROCEDURE','TABLE','FUNCTION');
測試:
用user2登錄數據庫,查詢正常,增刪改提示沒有權限。