簡體   English   中英

應用限制DML和DDL

[英]Apply restriction DML and DDL

SELECT 
     D.OS_USERNAME
    ,D.terminal AS MACHINE
    ,D.OBJ_NAME
    ,D.ACTION_NAME
    ,D.timestamp
    ,D.Sql_Text 
FROM DBA_AUDIT_TRAIL D 
WHERE D.OWNER = 'HRADMIN' 
  AND D.ACTION_NAME LIKE '%INSERT%' 
  AND D.OS_USERNAME NOT IN ('MuhammadJav','zeeshankh1');    

這個查詢給我記錄

我想應用限制或限制,以便只有D.OS_USERNAME ('MuhammadJav','zeeshankh1','Alikh1')可以運行insert,update,delete,alter語句,但其他用戶不能插入,update,delete,alter數據。

在Oracle中,插入,更新或刪除的權限在用戶或角色級別上進行管理。 這些用戶是數據庫用戶,就像您的HRADMIN

如果像MuhammadJav,zeeshankh1,Alikh1這樣的操作系統用戶使用相同的oracle帳戶,事情就會變得更加困難。

DML語句(如“ ALTER”或“ CREATE”)的處理方式完全不同。 像“ HRADMIN”這樣的用戶可以使用其自己的架構中的表和其他對象來完成他/她想要的事情。 有可能,但很難阻止這種情況。

因此,傳統的解決方案是給MuhammadJav,zeeshankh1,Alikh1他們自己的oracle帳戶,並以用戶HRADMIN的身份授予您想要的特權:

GRANT INSERT,UPDATE,DELETE ON HRADMIN.your_table_name TO MUHAMMADJAV;
GRANT INSERT,UPDATE,DELETE ON HRADMIN.your_table_name TO ZEESHANKH1; 
etc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM