Pages

Recently Viewed

Friday, April 5, 2013

What is Virtual Private Database (VPD)

VPD is new Oracle Database feature to enable policies on database objects ( i.e Table, Synonyms, View etc) This is used to control data access for security reasons.
 
What actually VPD does >> this append additional where condition to objects based on defined policies.  
 
How to use VPD>> below are the steps used to implement VPD in system.
1)     Identify the object:  Lest take APPS.PO_HEADERS_ALL (Synonym) for VPD testing.  
2)     Create the function: Create a function ( or package.function) which will return the required filter condition
3)     Add to policy – Use standard oracle API to create a policy for created function ( step 2)
  
Example
Step#1) Assume PO_HEDAERS_ALL has 100 records. Will update DFF Column (Attribute1) =’Sandeep’ for any 10 records.
Requirement is  to restrict data having DFF value as ‘Sandeep’ for schema ‘xxxxx’.
 
Step#2) Created function Sandeep


 

 
 
 
 
 
 
 Step#3) 
 
 
 

 
 

 
  
Now run the below statement –
 
APPS Schema
Select count (1) from PO_Headers_all  
>> 100 rows selected
 
XXXXX Schema
Select count (1) from PO_Headers_all  
>> 10 rows selected
 
APPSQUERY Schema
Select count (1) from PO_Headers_all  
>> 100 rows selected
 
 
VPD is one of the major changes in MOAC concepts in R12.
 

No comments:

Post a Comment