oracle vpd 虚拟专用数据库
来源:互联网 发布:c语言判断数字大小 编辑:程序博客网 时间:2024/06/02 17:45
CREATEORREPLACEfunction func_vpd(p_ownervarchar2,p_objectnamevarchar2)
RETURNVARCHAR2
AS
v_predicate varchar2(4000);
BEGIN
v_predicate :='last_name=initcap(sys_context(''userenv'',''session_user''))';
RETURN v_predicate;
end;
select a.object_name,a.status
from dba_objects awhere a.object_name='FUNC_VPD'
SELECT *FROM USER_ERRORS
BEGIN
DBMS_RLS.ADD_POLICY (object_schema => 'hr',
object_name => 'employees',
policy_name => 'sp_job',
function_schema => 'sys',
policy_function => 'FUNC_VPD',
statement_types=>'select,insert',
sec_relevant_cols =>'salary,commission_pct'
);
END;
SQL> update employees setlast_name='King2' where employee_id=100;
1 row updated.
SQL> commit;
SQL> create user king identified byoracle;
User created.
SQL> grant connect to king;
Grant succeeded.
SQL> grant select on hr.employees toking;
SQL> select count(last_name) fromhr.employees;
COUNT(LAST_NAME)
----------------
107
Grant succeeded.
SQL> select last_name,salary from hr.employees;
LAST_NAME SALARY
-------------------------------------------------------------------------------------
King 10000
SQL> selectlast_name,commission_pct fromhr.employees;
LAST_NAME COMMISSION_PCT
-----------------------------------------------------------------------------------------
King .35
由于受到policy的影响,一旦查询到salary 或者是commissi_pct 时,查询
条件(谓语)会自动带有where last_name=
下面演示如何从策略中豁免
SQL> conn / as sysdba
Connected.
SQL> grant exempt access policy to king;
Grant succeeded.
SQL> conn king/oracle
Connected.
SQL> select last_name,commission_pct from hr.employees;
.
.
.
Everett
McCain
Jones
Walsh
Feeney
107 rows selected.
- oracle vpd 虚拟专用数据库
- [精]Oracle VPD详解(虚拟专用数据库)
- 利用Oracle VPD(虚拟专用数据库)实现类似EBS R12里的多OU屏蔽
- 什么是Oracle10g中的虚拟专用数据库(VPD)
- Oracle中的虚拟私有数据库(VPD)
- [Oracle] 数据库安全之 - 虚拟私有数据库 (VPD)
- 数据库安全 Oracle之虚拟私有数据库VPD
- Oracle 10g特性之虚拟专用数据库
- Oracle 10g特性之虚拟专用数据库
- Oracle VPD
- Oracle-VPD
- Oracle VPD
- oracle VPD
- oracle VPD
- 在ORACLE数据库上创建VPD安全策略的实战记录
- Oracle-VPD简析
- Oracle的VPD介绍
- ORACLE VPD ROW-LEVEL MARKING..
- Linux 静态库与共享库
- gdal的矢量栅格化接口GDALRasterizeLayers使用(一)
- POJ 3468 A Simple Problem with Integers (线段树—成段覆盖)
- C++的I/O(vc版)(六)
- Myeclipse 导入 tomcat 源码
- oracle vpd 虚拟专用数据库
- Boost下载安装编译配置使用指南(含Windows、Linux以及ARM Linux)
- Linux2.6 内核进程调度分析
- windows下 直接点击startup.bat 启动tomcat服务
- CSS3之圆角border-radius
- 《C++游戏开发》十七 游戏中的寻路算法(三):A*算法原理
- yii 登录用户数据获取 (yii学习)
- cocos2d-x TestLua 之 CCEaseElastic CCEaseBounce CCEaseBack CCSpeed
- 大整数乘法和除法