SlideShare a Scribd company logo
1 of 47
Download to read offline
www.sagecomputing.com.au
Virtual Private Database Features inVirtual Private Database Features in
Oracle 10gOracle 10g..
SAGE Computing ServicesSAGE Computing Services
Customised Oracle Training Workshops and Consulting.Customised Oracle Training Workshops and Consulting.
www.sagecomputing.com.auwww.sagecomputing.com.au
Christopher Muir – Senior Systems Consultant
www.sagecomputing.com.au
AgendaAgenda
Modern security requirements
Virtual Private Database (VPD)
Row Level Security (RLS) and Policies
Contexts and the after_logon_db trigger
Column Level Security
Column Level Masking
Fine Grained Auditing (FGA)
VPD lessons-learnt!
Online resources
www.sagecomputing.com.au
Traditional Oracle RDBMS Security
One central schema user account
Multiple user accounts
DB roles granted privileges on schema
objects
DB roles granted to user accounts
DBA responsible for user account
administration
www.sagecomputing.com.au
Contemporary Security
Requirements
No-longer just a technical issue
It's not just about the password!
Makes business sense
Upcoming Australian legislation
Security studies show greatest threat is
from within, not outside an organisation
www.sagecomputing.com.au
Contemporary Security – Web
Driven
Scalable architectures: 1-1000s users
Mid-tier persistence frameworks using
connection pooling
1 schema account & 1 Oracle user account
Users and permissions handled by application,
not database
Common example: Bank Account website
www.sagecomputing.com.au
Potential Security Solutions
Modify all queries:
Where clauses use functions to determine if rows returned
Columns use functions to determine if you can see column data
An expensive exercise with a maintenance overhead
Will future programmes remember to implement this?
Oracle’s virtual private database (VPD) features provide a
solution to all these issues
www.sagecomputing.com.au
Row Level Security (RLS)
Enforce an additional predicate (where
clause) against all queries on a table
Use to limit access to rows
SELECT * FROM employees;
Becomes
SELECT * FROM employees WHERE department_id = 80;
www.sagecomputing.com.au
Policies & dbms_rls
Create a database “Policy” object
Use dbms_rls PL/SQL package
dbms_rls.add_policy(
object_schema => 'HR'
,object_name => 'EMPLOYEES'
,policy_name => 'EMP_RLS_POLICY'
,function_schema => 'HR'
,policy_function => 'emp_mgmt_pk.f_emp_rls_policy'
,statement_types => 'SELECT');
www.sagecomputing.com.au
Policy Functions
Policies are based on PL/SQL functions
PACKAGE BODY emp_mgmt_pk AS
FUNCTION f_emp_rls_policy
(object_schema IN VARCHAR2,object_name IN VARCHAR2)
RETURN VARCHAR2 IS
BEGIN
RETURN 'department_id = 80';
END;
END;
www.sagecomputing.com.au
Policy Types
Specify via dbms_rls.add_policy call
Dynamic
Default
Re-parsed and evaluated each time
Static
Parsed and evaluated once
Cached in the SGA for speed
Hybrids
www.sagecomputing.com.au
RLS Implementation
Allowed on tables, views and synonyms
Not limited to select, can be extended to all DML
on an object
Multiple policies on same object are allowed
(ANDed)
Applies to all user & users' DML on that object
Sys is exempt from VPD policies
www.sagecomputing.com.au
RLS Examples
Common Examples
Bank Accounts
Employees - Department Head
Others?
www.sagecomputing.com.au
RLS Limitations?
Q: What’s the limitation with the RLS policy
we created?
A: Hardcoded static predicate
“department_id = 80”
Need the ability to create a dynamic
predicate, that is dependent on the user
who is currently logged in
www.sagecomputing.com.au
Contexts
A session attribute group called a “Namespace”
Exist for the life of the session connection
Applications can use this to store the “context” of
the current user
eg. HR_CONTEXT.USER_DEPT = 80
www.sagecomputing.com.au
Create Contexts
A context is created with an associated trusted
package
Create as Sys
The package is trusted to change the context
attributes
CREATE CONTEXT hr_context USING hr.emp_mgmt_pk;
www.sagecomputing.com.au
Write to a Context
Call dbms_session.set_context in your context
package
PACKAGE BODY emp_mgmt_pk AS
PROCEDURE p_set_context IS
BEGIN
dbms_session.set_context(
namespace => 'HR_CONTEXT'
,attribute => 'USER_DEPT'
,value => '80');
END;
END;
www.sagecomputing.com.au
Reading Contexts
Via a sys_context call
SELECT sys_context('HR_CONTEXT','USER_DEPT')
FROM DUAL;
SYS_CONTEXT('HR_CONTEXT','USER_DEPT')
-------------------------------------------
80
www.sagecomputing.com.au
Modified Policy
PACKAGE BODY emp_mgmt_pk AS
FUNCTION f_emp_rls_policy
(object_schema IN VARCHAR2,object_name IN VARCHAR2)
RETURN VARCHAR2 IS
BEGIN
RETURN 'department_id = ' ||
'sys_context(''HR_CONTEXT'',''USER_DEPT'')';
END;
END;
www.sagecomputing.com.au
USERENV Context
A default context USERENV exists for all
sessions
Provides predefined attributes
Access via:
sys_context('USERENV','<attribute>')
www.sagecomputing.com.au
USERENV Attributes
Some interesting attributes:
DB_NAME Database name
SESSION_USER Authenticated database user name
SESSIONID Session identifier
LANGUAGE Session language and character set
IP_ADDRESS Client IP address
CLIENT_IDENTIFIER User defined client identifier for the session
HOST Database host name
OS_USER Operating system client username
etc
Many catches and anomalies in using these so be careful
See Barry Johnson's presentation (July AUSOUG seminar):
http://bkaj.org/oracle/
www.sagecomputing.com.au
Enforcing Context – after_logon_db
Create a database after_logon_db trigger
Fires on every database connection (except Sys)
Enforces context set for all connections
CREATE OR REPLACE TRIGGER after_logon_db
AFTER LOGON ON DATABASE
BEGIN
hr.emp_mgmt_pk.p_set_context;
END;
www.sagecomputing.com.au
RLS Errors
As RLS policies are based on a literal string:
Syntax errors can occur
Syntax errors only detected at runtime
Result in an ORA-28113 'policy predicate error'
Reported in user trace files
Presents a problem for developers as they’ll need
access to these to debug
DBAs will need to provide access on the network
for quick debugging
www.sagecomputing.com.au
after_logon_db Errors
Any error in this trigger will cause all connections to the
database to fail, Sys exempted but including OEM
Be wary of basing trigger on PLSQL with dependencies
Any changes to dependencies will invalidate PL/SQL then
trigger
I find DBAs get annoyed when you do this for the 10th time
Suggested approach is developers have their own db
Only move code to shared development database once
testing complete
Impact analysis during implementation is essential
www.sagecomputing.com.au
Policy Groups
Provides easier maintenance of policies
dbms_rls.create_policy_group(
object_schema => 'HR'
,object_name => 'EMPLOYEES'
,policy_group => 'HR_GRP');
New policies can be created in the policy group
Also drop_policy_group
You must drop individual policies before group
www.sagecomputing.com.au
RLS Alternative Uses
Not just useful for security
eg. Time governed queries:
Stop developers from implementing where clause
everywhere
Instead use RLS so predicate added regardless
SELECT *
FROM land_assessments
WHERE effective_from_date <= :p_date
AND (effective_to_date >= :p_date
OR effective_to_date IS NULL);
www.sagecomputing.com.au
Column Level VPD
Enforcement when specified columns queried
If columns aren't queried, policy isn't enforced
Policy function similar to RLS policy function:
FUNCTION f_emp_cl_policy
(object_schema IN VARCHAR2, object_name IN VARCHAR2)
RETURN VARCHAR2 IS
BEGIN
RETURN 'department_id = 90';
END;
www.sagecomputing.com.au
Column Level Add Policy
Policy includes specified columns
Create on tables, views but not synonyms
Early implementation of column masking
dbms_rls.add_policy(
object_schema => 'HR'
,object_name => 'EMPLOYEES'
,policy_name => 'EMP_CL_POLICY'
,function_schema => 'HR'
,policy_function => 'emp_mgmt_pk.f_emp_cl_policy '
,sec_relevant_cols => 'SALARY, COMMISION_PCT');
www.sagecomputing.com.au
Column Masking VPD
Implemented similar to column-level VPD
dbms_rls.add_policy(
object_schema => 'HR'
,object_name => 'EMPLOYEES'
,policy_name => 'EMP_CL_POLICY'
,function_schema => 'HR'
,policy_function => 'emp_mgmt_pk.f_emp_cl_policy'
,sec_relevant_cols => 'SALARY, COMMISION_PCT'
,sec_relevant_cols_opt => dbms_rls.all_rows);
www.sagecomputing.com.au
Column Masking Predicates
All rows returned regardless
If predicate evaluates as:
TRUE Column result returned
FALSE Column returned as NULL
If a NULL predicate is returned:
NULL Column result returned
Create on tables, not views or synonyms.
www.sagecomputing.com.au
Column Masking Catches
If masked columns are part of a predefined
fk used by queries,
and VPD policy returns null,
query join will not find any results
Consider null results in query aggregates
www.sagecomputing.com.au
Masking Uses
Common examples:
Credit card numbers
People's names
Others?
www.sagecomputing.com.au
VPD Policy Exemptions
Sys is always exempted from VPD policies
Other database users may be exempt
through granting EXEMPT ACCESS
POLICY
www.sagecomputing.com.au
VPD Data Dictionary
all_policies user_policies
all_policy_groups user_policy_groups
all_policy_contexts user_policy_contexts
v$vpd_policy
www.sagecomputing.com.au
VPD Lessons Learnt
Start security early to continuously test
VPD code
Your first instinct in debugging with VPD is
often wrong
Ensure mid-tier programmers are aware of
VPD constraints
www.sagecomputing.com.au
Performance Implications
Explain plans do show
VPD predicates
Be wary: Trace/TKProf
hides VPD predicates
However indexes etc are
used
Be wary of policy type
causing query reparsing
www.sagecomputing.com.au
VPD Future (Predictions)
Reduce technical limitations
Improved performance analysis support
10g Release 2:
Transparent Data Encryption (TDE)
(not VPD but interesting).
www.sagecomputing.com.au
RIP? (VPD Predictions)
Public synonym should become redundant
(security hole anyhow)
Replaced by private synonyms per connecting
pool account and VPD
Database user accounts will become limited
Database roles will lose their convenience
Free DBAs up for other tasks
Developers will need to consider application
security from mid-tier/client-tier
www.sagecomputing.com.au
Database Auditing Mechanisms
Database auditing mechanisms:
Statement Auditing
Privilege Auditing
Schema Object Auditing
Fine Grained Auditing
www.sagecomputing.com.au
Fine Grained Auditing (FGA)
Audit on rows and columns returned &
modified
Focus on DML executed on sensitive data
9i Select only
9i database must be running with CBO
10g Select, Insert, Update & Delete
Tables and views
www.sagecomputing.com.au
dbms_fga Policy
dbms_fga.add_policy(
object_schema => 'HR'
,object_name => 'EMPLOYEES'
,policy_name => 'EMP_FGA_POLICY');
...or....
,audit_column => 'SALARY'
,audit_condition => 'SALARY >= 5000');
www.sagecomputing.com.au
FGA Data Dictionary
SELECT * FROM employees;
...results in...
SELECT ... FROM dba_fga_audit_trail;
...populated with...
TIMESTAMP DB_USER OS_USER OBJECT_ OBJECT_N SQL_TEXT
--------- ------- ------- ------- --------- -----------
15-AUG-05 HR CHRIS HR EMPLOYEES (next line)
SELECT * FROM employees
www.sagecomputing.com.au
FGA Data Dictionary
all_audit_policies user_audit_policies
sys.fga_logs$ dba_fga_audit_trail
www.sagecomputing.com.au
Alternative FGA Uses
Not just security auditing:
Capture all SQL for index planning
Capture bind variables for designing
histograms
Via handle mechanism can fire PL/SQL to (as
an example) send emails
Or use as a trigger to do other work on Select
Fine-Grained Auditing for Real-World Problems 2004 Arup Nanda, OTN.
www.sagecomputing.com.au
Consider VPD/FGA....
Plan for RLS/column masking implementation
Australian Legislation is changing
Required by govt and free-enterprise (liability!)
VPD can be applied retrospectively
However don't forget regression-testing!
Immediately consider FGA to audit unsecure data
usage
Put auditing processes in place (don't just collect
the data, report on it)
www.sagecomputing.com.au
VPD & FGA Availability
Only available in Oracle 10g Enterprise
Edition
www.sagecomputing.com.au
Resources
Oracle Manuals:
Security Guide
Security Overview
PL/SQL Packages and Types References
Online:
OTN Security
www.oracle.com/technology/deploy/security
www.sagecomputing.com.au
Question & Answers!
enquiries@sagecomputing.com.au
chriscmuir@sagecomputing.com.au
SAGE Computing ServicesSAGE Computing Services
www.sagecomputing.com.auwww.sagecomputing.com.au
Customised Oracle Training Workshops and ConsultingCustomised Oracle Training Workshops and Consulting

More Related Content

What's hot

PostgreSQL Tutorial for Beginners | Edureka
PostgreSQL Tutorial for Beginners | EdurekaPostgreSQL Tutorial for Beginners | Edureka
PostgreSQL Tutorial for Beginners | EdurekaEdureka!
 
Microsoft-CISO-Workshop-Security-Strategy-and-Program (1).pdf
Microsoft-CISO-Workshop-Security-Strategy-and-Program (1).pdfMicrosoft-CISO-Workshop-Security-Strategy-and-Program (1).pdf
Microsoft-CISO-Workshop-Security-Strategy-and-Program (1).pdfParishSummer
 
Dell Technologies - The Portfolio in 20+9 Minutes
Dell Technologies - The Portfolio in 20+9 MinutesDell Technologies - The Portfolio in 20+9 Minutes
Dell Technologies - The Portfolio in 20+9 MinutesDell Technologies
 
Desenvolvimento de mapas avancados no zabbix
Desenvolvimento de mapas avancados no zabbixDesenvolvimento de mapas avancados no zabbix
Desenvolvimento de mapas avancados no zabbixProvtel Soluções
 
Cloud platform technical sales presentation
Cloud platform technical sales presentationCloud platform technical sales presentation
Cloud platform technical sales presentationNuno Alves
 
Oracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewOracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewKris Rice
 
Neo4j y GenAI
Neo4j y GenAI Neo4j y GenAI
Neo4j y GenAI Neo4j
 
Alphorm.com Formation Microsoft 365 (MS-500) Administrateur Sécurité : Protec...
Alphorm.com Formation Microsoft 365 (MS-500) Administrateur Sécurité : Protec...Alphorm.com Formation Microsoft 365 (MS-500) Administrateur Sécurité : Protec...
Alphorm.com Formation Microsoft 365 (MS-500) Administrateur Sécurité : Protec...Alphorm
 
Power of the cloud - Introduction to azure security
Power of the cloud - Introduction to azure securityPower of the cloud - Introduction to azure security
Power of the cloud - Introduction to azure securityBruno Capuano
 
Alphorm.com Formation Microsoft 365 (MS-900) : Les Fondamentaux
Alphorm.com Formation Microsoft 365 (MS-900) : Les FondamentauxAlphorm.com Formation Microsoft 365 (MS-900) : Les Fondamentaux
Alphorm.com Formation Microsoft 365 (MS-900) : Les FondamentauxAlphorm
 
Azure Purview Data Toboggan Erwin de Kreuk
Azure Purview Data Toboggan Erwin de KreukAzure Purview Data Toboggan Erwin de Kreuk
Azure Purview Data Toboggan Erwin de KreukErwin de Kreuk
 
MySQL Tutorial For Beginners | Relational Database Management System | MySQL ...
MySQL Tutorial For Beginners | Relational Database Management System | MySQL ...MySQL Tutorial For Beginners | Relational Database Management System | MySQL ...
MySQL Tutorial For Beginners | Relational Database Management System | MySQL ...Edureka!
 
What is active directory
What is active directoryWhat is active directory
What is active directoryAdeel Khurram
 
First Steps in Semantic Data Modelling and Search & Analytics in the Cloud
First Steps in Semantic Data Modelling and Search & Analytics in the CloudFirst Steps in Semantic Data Modelling and Search & Analytics in the Cloud
First Steps in Semantic Data Modelling and Search & Analytics in the CloudOntotext
 

What's hot (20)

PostgreSQL Tutorial for Beginners | Edureka
PostgreSQL Tutorial for Beginners | EdurekaPostgreSQL Tutorial for Beginners | Edureka
PostgreSQL Tutorial for Beginners | Edureka
 
Microsoft-CISO-Workshop-Security-Strategy-and-Program (1).pdf
Microsoft-CISO-Workshop-Security-Strategy-and-Program (1).pdfMicrosoft-CISO-Workshop-Security-Strategy-and-Program (1).pdf
Microsoft-CISO-Workshop-Security-Strategy-and-Program (1).pdf
 
Dell Technologies - The Portfolio in 20+9 Minutes
Dell Technologies - The Portfolio in 20+9 MinutesDell Technologies - The Portfolio in 20+9 Minutes
Dell Technologies - The Portfolio in 20+9 Minutes
 
Desenvolvimento de mapas avancados no zabbix
Desenvolvimento de mapas avancados no zabbixDesenvolvimento de mapas avancados no zabbix
Desenvolvimento de mapas avancados no zabbix
 
La sécurité avec SQL Server 2012
La sécurité avec SQL Server 2012La sécurité avec SQL Server 2012
La sécurité avec SQL Server 2012
 
Cloud platform technical sales presentation
Cloud platform technical sales presentationCloud platform technical sales presentation
Cloud platform technical sales presentation
 
Oracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewOracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ Overview
 
Neo4j y GenAI
Neo4j y GenAI Neo4j y GenAI
Neo4j y GenAI
 
Alphorm.com Formation Microsoft 365 (MS-500) Administrateur Sécurité : Protec...
Alphorm.com Formation Microsoft 365 (MS-500) Administrateur Sécurité : Protec...Alphorm.com Formation Microsoft 365 (MS-500) Administrateur Sécurité : Protec...
Alphorm.com Formation Microsoft 365 (MS-500) Administrateur Sécurité : Protec...
 
Power of the cloud - Introduction to azure security
Power of the cloud - Introduction to azure securityPower of the cloud - Introduction to azure security
Power of the cloud - Introduction to azure security
 
Azure purview
Azure purviewAzure purview
Azure purview
 
Alphorm.com Formation Microsoft 365 (MS-900) : Les Fondamentaux
Alphorm.com Formation Microsoft 365 (MS-900) : Les FondamentauxAlphorm.com Formation Microsoft 365 (MS-900) : Les Fondamentaux
Alphorm.com Formation Microsoft 365 (MS-900) : Les Fondamentaux
 
Azure Purview Data Toboggan Erwin de Kreuk
Azure Purview Data Toboggan Erwin de KreukAzure Purview Data Toboggan Erwin de Kreuk
Azure Purview Data Toboggan Erwin de Kreuk
 
MySQL Tutorial For Beginners | Relational Database Management System | MySQL ...
MySQL Tutorial For Beginners | Relational Database Management System | MySQL ...MySQL Tutorial For Beginners | Relational Database Management System | MySQL ...
MySQL Tutorial For Beginners | Relational Database Management System | MySQL ...
 
Microsoft 365 Compliance
Microsoft 365 ComplianceMicrosoft 365 Compliance
Microsoft 365 Compliance
 
What is active directory
What is active directoryWhat is active directory
What is active directory
 
Azure Cloud Services
Azure Cloud ServicesAzure Cloud Services
Azure Cloud Services
 
First Steps in Semantic Data Modelling and Search & Analytics in the Cloud
First Steps in Semantic Data Modelling and Search & Analytics in the CloudFirst Steps in Semantic Data Modelling and Search & Analytics in the Cloud
First Steps in Semantic Data Modelling and Search & Analytics in the Cloud
 
Oracle Analytics Cloud
Oracle Analytics CloudOracle Analytics Cloud
Oracle Analytics Cloud
 
Microsoft Purview
Microsoft PurviewMicrosoft Purview
Microsoft Purview
 

Similar to Vpd

Vpd Virtual Private Database By Saurabh
Vpd   Virtual Private Database By SaurabhVpd   Virtual Private Database By Saurabh
Vpd Virtual Private Database By Saurabhguestd83b546
 
OTech magazine article - Principle of Least Privilege
OTech magazine article - Principle of Least PrivilegeOTech magazine article - Principle of Least Privilege
OTech magazine article - Principle of Least PrivilegeBiju Thomas
 
Data Driven Security in SSAS
Data Driven Security in SSASData Driven Security in SSAS
Data Driven Security in SSASMike Duffy
 
Data Redaction - OTN TOUR LA 2015
Data Redaction - OTN TOUR LA 2015 Data Redaction - OTN TOUR LA 2015
Data Redaction - OTN TOUR LA 2015 Alex Zaballa
 
MySQL Administration and Monitoring
MySQL Administration and MonitoringMySQL Administration and Monitoring
MySQL Administration and MonitoringMark Leith
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise MonitorTed Wennmark
 
Top Ten Settings that Leave your IBM i Vulnerable
Top Ten Settings that Leave your IBM i VulnerableTop Ten Settings that Leave your IBM i Vulnerable
Top Ten Settings that Leave your IBM i VulnerablePrecisely
 
Row-level security and Dynamic Data Masking
Row-level security and Dynamic Data MaskingRow-level security and Dynamic Data Masking
Row-level security and Dynamic Data MaskingSolidQ
 
Security Quick Tour
Security Quick TourSecurity Quick Tour
Security Quick TourActive Base
 
Privilege Analysis with the Oracle Database
Privilege Analysis with the Oracle DatabasePrivilege Analysis with the Oracle Database
Privilege Analysis with the Oracle DatabaseMarkus Flechtner
 
Dynamic Data Masking - Breakthrough Innovation in Application Security
Dynamic Data Masking - Breakthrough Innovation in Application SecurityDynamic Data Masking - Breakthrough Innovation in Application Security
Dynamic Data Masking - Breakthrough Innovation in Application SecurityDobler Consulting
 
AWS AWSome Day - Getting Started Best Practices
AWS AWSome Day - Getting Started Best PracticesAWS AWSome Day - Getting Started Best Practices
AWS AWSome Day - Getting Started Best PracticesIan Massingham
 
Drools & jBPM Info Sheet
Drools & jBPM Info SheetDrools & jBPM Info Sheet
Drools & jBPM Info SheetMark Proctor
 

Similar to Vpd (20)

Vpd Virtual Private Database By Saurabh
Vpd   Virtual Private Database By SaurabhVpd   Virtual Private Database By Saurabh
Vpd Virtual Private Database By Saurabh
 
OTech magazine article - Principle of Least Privilege
OTech magazine article - Principle of Least PrivilegeOTech magazine article - Principle of Least Privilege
OTech magazine article - Principle of Least Privilege
 
Aspects of 10 Tuning
Aspects of 10 TuningAspects of 10 Tuning
Aspects of 10 Tuning
 
oracle
oracleoracle
oracle
 
Data Driven Security in SSAS
Data Driven Security in SSASData Driven Security in SSAS
Data Driven Security in SSAS
 
DB2 LUW Auditing
DB2 LUW AuditingDB2 LUW Auditing
DB2 LUW Auditing
 
Data Redaction - OTN TOUR LA 2015
Data Redaction - OTN TOUR LA 2015 Data Redaction - OTN TOUR LA 2015
Data Redaction - OTN TOUR LA 2015
 
MySQL Administration and Monitoring
MySQL Administration and MonitoringMySQL Administration and Monitoring
MySQL Administration and Monitoring
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
 
Top Ten Settings that Leave your IBM i Vulnerable
Top Ten Settings that Leave your IBM i VulnerableTop Ten Settings that Leave your IBM i Vulnerable
Top Ten Settings that Leave your IBM i Vulnerable
 
Row-level security and Dynamic Data Masking
Row-level security and Dynamic Data MaskingRow-level security and Dynamic Data Masking
Row-level security and Dynamic Data Masking
 
Security Quick Tour
Security Quick TourSecurity Quick Tour
Security Quick Tour
 
Sherlock holmes for dba’s
Sherlock holmes for dba’sSherlock holmes for dba’s
Sherlock holmes for dba’s
 
Privilege Analysis with the Oracle Database
Privilege Analysis with the Oracle DatabasePrivilege Analysis with the Oracle Database
Privilege Analysis with the Oracle Database
 
Dynamic Data Masking - Breakthrough Innovation in Application Security
Dynamic Data Masking - Breakthrough Innovation in Application SecurityDynamic Data Masking - Breakthrough Innovation in Application Security
Dynamic Data Masking - Breakthrough Innovation in Application Security
 
Pixels_Camp
Pixels_CampPixels_Camp
Pixels_Camp
 
Building a SaaS Style Application
Building a SaaS Style ApplicationBuilding a SaaS Style Application
Building a SaaS Style Application
 
AWS AWSome Day - Getting Started Best Practices
AWS AWSome Day - Getting Started Best PracticesAWS AWSome Day - Getting Started Best Practices
AWS AWSome Day - Getting Started Best Practices
 
Drools & jBPM Info Sheet
Drools & jBPM Info SheetDrools & jBPM Info Sheet
Drools & jBPM Info Sheet
 
con9578-2088758.pdf
con9578-2088758.pdfcon9578-2088758.pdf
con9578-2088758.pdf
 

More from Sage Computing Services

Bind Peeking - The Endless Tuning Nightmare
Bind Peeking - The Endless Tuning NightmareBind Peeking - The Endless Tuning Nightmare
Bind Peeking - The Endless Tuning NightmareSage Computing Services
 
Back to basics: Simple database web services without the need for SOA
Back to basics: Simple database web services without the need for SOABack to basics: Simple database web services without the need for SOA
Back to basics: Simple database web services without the need for SOASage Computing Services
 
Whose fault is it? - a review of application tuning problems
Whose fault is it? - a review of application tuning problemsWhose fault is it? - a review of application tuning problems
Whose fault is it? - a review of application tuning problemsSage Computing Services
 
New Tuning Features in Oracle 11g - How to make your database as boring as po...
New Tuning Features in Oracle 11g - How to make your database as boring as po...New Tuning Features in Oracle 11g - How to make your database as boring as po...
New Tuning Features in Oracle 11g - How to make your database as boring as po...Sage Computing Services
 
How Can I tune it When I Can't Change the Code?
How Can I tune it When I Can't Change the Code?How Can I tune it When I Can't Change the Code?
How Can I tune it When I Can't Change the Code?Sage Computing Services
 
Take a load off! Load testing your Oracle APEX or JDeveloper web applications
Take a load off! Load testing your Oracle APEX or JDeveloper web applicationsTake a load off! Load testing your Oracle APEX or JDeveloper web applications
Take a load off! Load testing your Oracle APEX or JDeveloper web applicationsSage Computing Services
 
Transformations - how Oracle rewrites your statements
Transformations - how Oracle rewrites your statementsTransformations - how Oracle rewrites your statements
Transformations - how Oracle rewrites your statementsSage Computing Services
 
Application Express - A web development environment for the masses - and for ...
Application Express - A web development environment for the masses - and for ...Application Express - A web development environment for the masses - and for ...
Application Express - A web development environment for the masses - and for ...Sage Computing Services
 
Common Coding and Design mistakes (that really mess up performance)
Common Coding and Design mistakes (that really mess up performance)Common Coding and Design mistakes (that really mess up performance)
Common Coding and Design mistakes (that really mess up performance)Sage Computing Services
 
Oracle Discoverer is dead - Where to next for BI?
Oracle Discoverer is dead - Where to next for BI?Oracle Discoverer is dead - Where to next for BI?
Oracle Discoverer is dead - Where to next for BI?Sage Computing Services
 

More from Sage Computing Services (16)

Oracle XML DB - What's in it for me?
Oracle XML DB - What's in it for me?Oracle XML DB - What's in it for me?
Oracle XML DB - What's in it for me?
 
Bind Peeking - The Endless Tuning Nightmare
Bind Peeking - The Endless Tuning NightmareBind Peeking - The Endless Tuning Nightmare
Bind Peeking - The Endless Tuning Nightmare
 
Back to basics: Simple database web services without the need for SOA
Back to basics: Simple database web services without the need for SOABack to basics: Simple database web services without the need for SOA
Back to basics: Simple database web services without the need for SOA
 
Results cache
Results cacheResults cache
Results cache
 
Whose fault is it? - a review of application tuning problems
Whose fault is it? - a review of application tuning problemsWhose fault is it? - a review of application tuning problems
Whose fault is it? - a review of application tuning problems
 
New Tuning Features in Oracle 11g - How to make your database as boring as po...
New Tuning Features in Oracle 11g - How to make your database as boring as po...New Tuning Features in Oracle 11g - How to make your database as boring as po...
New Tuning Features in Oracle 11g - How to make your database as boring as po...
 
Lost without a trace
Lost without a traceLost without a trace
Lost without a trace
 
How Can I tune it When I Can't Change the Code?
How Can I tune it When I Can't Change the Code?How Can I tune it When I Can't Change the Code?
How Can I tune it When I Can't Change the Code?
 
Meet the CBO in Version 11g
Meet the CBO in Version 11gMeet the CBO in Version 11g
Meet the CBO in Version 11g
 
Take a load off! Load testing your Oracle APEX or JDeveloper web applications
Take a load off! Load testing your Oracle APEX or JDeveloper web applicationsTake a load off! Load testing your Oracle APEX or JDeveloper web applications
Take a load off! Load testing your Oracle APEX or JDeveloper web applications
 
The Cost Based Optimiser in 11gR2
The Cost Based Optimiser in 11gR2The Cost Based Optimiser in 11gR2
The Cost Based Optimiser in 11gR2
 
Transformations - how Oracle rewrites your statements
Transformations - how Oracle rewrites your statementsTransformations - how Oracle rewrites your statements
Transformations - how Oracle rewrites your statements
 
Application Express - A web development environment for the masses - and for ...
Application Express - A web development environment for the masses - and for ...Application Express - A web development environment for the masses - and for ...
Application Express - A web development environment for the masses - and for ...
 
OHarmony - How the Optimiser works
OHarmony - How the Optimiser worksOHarmony - How the Optimiser works
OHarmony - How the Optimiser works
 
Common Coding and Design mistakes (that really mess up performance)
Common Coding and Design mistakes (that really mess up performance)Common Coding and Design mistakes (that really mess up performance)
Common Coding and Design mistakes (that really mess up performance)
 
Oracle Discoverer is dead - Where to next for BI?
Oracle Discoverer is dead - Where to next for BI?Oracle Discoverer is dead - Where to next for BI?
Oracle Discoverer is dead - Where to next for BI?
 

Vpd