創建角色 RL_WRITE 并將對表 user1.table1 的授權更新授予角色并將角色授予 user2 后,我得到權限不足錯誤。
CREATE ROLE RL_WRITE;
GRANT UPDATE ON user1.table1 TO RL_WRITE;
GRANT RL_WRITE to user2;
以 user2 身份登錄,運行命令時:
update user1.table1 set datmov = to_date('18/10/21','dd/mm/yy');
*01031. 00000 - "insufficient privileges"
*Cause: An attempt was made to perform a database operation without
the necessary privileges.
*Action: Ask your database administrator or designated security
administrator to grant you the necessary privileges*
我不明白可能缺少什么。
uj5u.com熱心網友回復:
我發現了問題所在。User user2已經擁有該角色RL_READ_ONLY,我創建了RL_WRITE,然后將其授予user2.
但是,user2被定為ALTER USER user2 DEFAULT ROLE RL_READ_ONLY等等,甚至在已經進行的GRANT UPDATE ON user1.table1 TO RL_WRITE的角色,并授予這個角色user2的更新命令沒有作業。
解決方案
只有經過這樣的命令,ALTER USER user2 DEFAULT ROLE ALL; 那user2就是能夠使更新,插入和洗掉命令的作用RL_WRITE已經過許可。
uj5u.com熱心網友回復:
GRANT SELECT , UPDATE ON user1.table1 TO RL_WRITE;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/330509.html
上一篇:處理大量插入陳述句
