oracle – 在视图上授予选择权
在某个地方出现问题,我似乎无法找出原因.如果这已经被要求道歉. 我的数据库中有3个模式: COLLDESK是我们的主要模式,LOCAL_IT是我们进行本地开发的地方,而GERBEN是最终用户(应该只有选择选项). 现在我的COLLDESK模式中有一个名为GESTIONES的表.在LOCAL_IT中,我有一个名为ACTIONS的视图.这将保留COLLDESK模式中GESTIONES表中的4列.到现在为止还挺好! 现在我想在视图ACTIONS中给出GERBEN模式选择权限.但是,当我说 grant select on LOCAL_IT.ACTIONS to GERBEN 我收到错误ORA-01720:COLLDESK.GESTIONES不存在授予选项 现在我尝试向GESTIONES提供GERBEN select权限,但我仍然收到错误消息 任何帮助将不胜感激! 亲切的问候 戈 解决方法错误消息应该写成这样:ORA-01720:COLLDESK.GESTIONES不存在“授予选项”. 以下是它的工作原理: 你有3个架构: > Schema1 – 名为“table1”的表的持有者 您可能已完成以下操作: grant select on schema1.table1 (COLLDESK.GESTIONES) to schema2; 请注意,由于您正在创建视图,因此必须直接向schema2授予select,如果通过角色授予select,则视图将不起作用. 现在,您尝试允许第3个架构(schema3)使用schema1中的视图读取数据.出于安全考虑,即使可以查看数据,也绝不允许schema2访问schema1中的数据到第3个模式.否则这将是一个巨大的安全漏洞. 因此,解决方案是明确表示,当第三方被授予视图的选择权限时,schema2将能够间接地授予该选择权限. 解: grant select on schema1.table1 to schema2 with grant option; 现在,schema2可以将其视图上的select授予第三方: grant select on schema2.view1 to schema3; 为了你: grant select on COLLDESK.GESTIONED to LOCAL_IT with grant option; grant select on LOCAL_IT.ACTIONS to GERBEN; 也:除非绝对必要,否则避免使用公共视图和公共数据库链首先消耗其他所有选项. (编辑:瑞安网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |