例如不同仓库以及不同经营单位的数据访问隔离。
实现方式:
追加POLICY,由函数控制数据结果集。
DBMS_RLS.ADD_POLICY(OBJECT_SCHEMA --表所在的SCHEMA名称
,OBJECT_NAME --表名称
,POLICY_NAME --POLICY的名称
,FUNCTION_SCHEMA --函数所在SCHEMA名称
,POLICY_FUNCTION --函数名称
,STATEMENT_TYPES --要使用该POLICY的DML类型,如'SELECT,INSERT,UPDATE,DELETE'
,UPDATE_CHECK --值为'TRUE'不符合Policy条件时返回错误信息
);
删除POLICY:
DBMS_RLS.DROP_POLICY(OBJECT_SCHEMA --要删除的POLICY所在的SCHEMA
,OBJECT_NAME --要删除POLICY的表(或视图)名称
,POLICY_NAME --要删除的POLICY名称
);
启用POLICY:
DBMS_RLS.ENABLE_POLICY(OBJECT_SCHEMA --要启用的POLICY所在的SCHEMA
,OBJECT_NAME --要启用POLICY的表(或视图)名称
,POLICY_NAME --要启用的POLICY名称
,ENABLE --值为'TRUE'启用,
);
查询POLICY:
SELECT * FROM USER_POLICIES;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26101098/viewspace-1255709/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26101098/viewspace-1255709/
本文介绍Oracle提供的策略管理方式,通过追加策略、函数控制数据结果集等手段,实现数据访问权限控制与仓库、经营单位数据的相对隔离,减少设置工作量并提升安全性。
1075

被折叠的 条评论
为什么被折叠?



