Upload
rssa70
View
215
Download
0
Embed Size (px)
Citation preview
8/8/2019 Apps Upgrade Ow08 131577
1/43
8/8/2019 Apps Upgrade Ow08 131577
2/43
Application Upgrade Secrets: AvoidSurprises While Making Database Changes
Jagan Athreya
Director, Product Management
8/8/2019 Apps Upgrade Ow08 131577
3/43
The following is intended to outline our generalproduct direction. It is intended for informationpurposes only, and may not be incorporated into anycontract. It is not a commitment to deliver anymaterial, code, or functionality, and should not be
relied upon in making purchasing decisions.The development, release, and timing of anyfeatures or functionality described for Oraclesproducts remains at the sole discretion of Oracle.
8/8/2019 Apps Upgrade Ow08 131577
4/43
8/8/2019 Apps Upgrade Ow08 131577
5/43
Application Lifecycle Upgrades
Upgrade
DEV
TEST
PRODUCTION
STAGING
Clone +Mask
Share
8/8/2019 Apps Upgrade Ow08 131577
6/43
Upgrade Process
1. Install new database software
2. Apply database patches to bring it to certification
3. Copy from production to test
4. Install application software
5. Run test scripts
6. Identify changes to customizations
7. Upgrade custom database objects in schema
8. Upgrade dependent software custom and standard
9. Re-run test script10. Repeat until all standard and custom programs work
11. Perform volume / scalability tests
12. Identify performance regression
13. Tune application rewrite SQL, create access structures
14. Re-run performance tests15. Repeat until all programs show acceptance performance
16. Update or create additional custom upgrade scripts
17. Repeat steps 1, 2, 4, 7 8, 13, 16 on Production
18. Cross your fingers and hope it all works when it goes live
Scenario: Upgrade an application
Steps to upgrade an application
8/8/2019 Apps Upgrade Ow08 131577
7/43
The magnitude of the upgrade problem
Test
Staging
Development
Production
Training
8/8/2019 Apps Upgrade Ow08 131577
8/43
Cost of Application Upgrades
AMR Research study onapplication upgrades
$1,839 per business user 1 man-week of labor per
business user
Company with 5000 businessusers will spend
$9.2 million
20.7 man-years
to perform an upgrade
Upgrade represents nearly of application lifecycle costs
8/8/2019 Apps Upgrade Ow08 131577
9/43
Oracles Complete Enterprise Software StackBuilt-in & Integrated Manageability
Leader in the completeenterprise applicationstack
Built-in manageabilityin every tier
Integrated
manageability acrossthe entire stack
8/8/2019 Apps Upgrade Ow08 131577
10/43
Manage applications top-down, from the businessperspective by understanding
user experiences and businessimpact of IT issues
Manage entire applicationlifecycle to increase
business agility withcomprehensive application qualitymanagement and compliancesolutions
Reduce operational coststhrough intelligent diagnostics andautomated IT processes
Oracle Enterprise ManagerIncreases Business Efficiency
8/8/2019 Apps Upgrade Ow08 131577
11/43
Agenda
The Application Upgrade Lifecycle
Tasks for Application DBAs Install and Test Database Software Upgrade
Upgrade and Test Application and Dependent Programs
Mask Sensitive Data in Non-Production Before Sharing
Promote Software to Production Promote DB Changes from Test to Production
Summary
8/8/2019 Apps Upgrade Ow08 131577
12/43
Taxonomy of Database Changes
Infrastructure change Hardware
Operating system
Storage system
Database software change Software upgrade
Software patch Database configuration changes
Initialization parameters
Optimizer version
Application performance changes Access structure changes (INDEX, PARTITIONS)
8/8/2019 Apps Upgrade Ow08 131577
13/43
Lifecycle of Change Management
Make Change
Set Up TestEnvironments
Test
Diagnose & ResolveProblems
Identify ChangesDiagnose & Manage
Problems
TEST
PRODUCTION
Promote Change
8/8/2019 Apps Upgrade Ow08 131577
14/43
Secret # 1: Testing Database Changes
using Real Application Testing
RemediateRemediate
TestTestTest
DeployDeploy
Reduces risk of new
technology adoption throughhigher testing quality
Reduces time for effectivetesting from weeks to days
Business Agility through Superior Testing
Change
8/8/2019 Apps Upgrade Ow08 131577
15/43
8/8/2019 Apps Upgrade Ow08 131577
16/43
Database Replay Workflow
Production (9.2.0.8) Test (11.1)
Capture ReplayAnalysis &
ReportingProcess
StorageStorage
Mid-Tier
Replay Clients
Clients
* No client/middletier setup
8/8/2019 Apps Upgrade Ow08 131577
17/43
ClientClient
Client
Capture SQL
Test impact of change on SQL query performance
Capture SQL workload in production including statistics & bind variables
Re-execute SQL queries in test environment
Tune regressed SQL and seed SQL plans for production
Middle Tier
Storage
Oracle DB
Re-execute SQL Queries
Production Test
Use SQL TuningAdvisor to tune
regression
Real Application Testing with
SQL Performance Analyzer (SPA)
8/8/2019 Apps Upgrade Ow08 131577
18/43
8/8/2019 Apps Upgrade Ow08 131577
19/43
Agenda
The Application Upgrade Lifecycle
Tasks for Application DBAs Install and Test Database Software Upgrade Upgrade and Test Application and Dependent Programs
Mask Sensitive Data in Non-Production Before Sharing
Promote Software to Production Promote DB Changes from Test to Production
Summary
8/8/2019 Apps Upgrade Ow08 131577
20/43
Mapping Application Dependencies
Sales ForceAutomation
DataWarehouse
OnlineCatalog
HR OE IX
EMPDEPT
ORDERS SALES PRODUCT PRICE
8/8/2019 Apps Upgrade Ow08 131577
21/43
Vendor releases application upgrades
What has changed
TABLES
INDEXES
PACKAGES
PROCEDURES
MATERIALED VIEWS
TABLESPACES
init.ora
Upgrade
Patch What is impacted Data loader programs
Application customizations
Integration with other
applications
Version 11.5.10 Version 12
8/8/2019 Apps Upgrade Ow08 131577
22/43
Accelerate Planning Dependency mapping
Customization:Invoice Check Printing Module
Dependent Objects
PO_VENDORS table
AP_CHECKS_PKG package
8/8/2019 Apps Upgrade Ow08 131577
23/43
What is an Application Baseline?
Capture information onall schema objects for anapplication
Tables, Views, Indexes Procedures, Packages,
Triggers
Users, init.ora
Capture scope Database
Schema
Objects
Version each baseline Baseline 1
Baseline2
Baseline
3
HR OE IX
EMPDEPT
ORDERS SALES PRODUCT PRICE
8/8/2019 Apps Upgrade Ow08 131577
24/43
Secret #2: Map dependencies and
track changes affecting dependenciesCustomization:
Invoice Check Printing Module
Dependencies: PO_VENDORS table AP_CHECKS_PKG package &
package body
Steps
1. Create Baseline based on
dependencies2. Upgrade application
(EBusiness Suite 11.5.09 to11.5.10)
3. Compare upgradedapplication schema withbaseline
4. Identify changes
Upgrade customization
modules if affected.
Do NOTHING if unaffected
8/8/2019 Apps Upgrade Ow08 131577
25/43
Comparison workflow
Compare Modes
Baselines to Baselines
Baselines to Database
Database to Database
Compare Scope
Schemas
Object types (Tables, Indexetc)
Non Schema Objects (Users,Grants, Profiles etc)
Storage Parameters (Tablespaces, extent size etc)
Baseline
Prod
Baseline
Baseline
ProdProd
8/8/2019 Apps Upgrade Ow08 131577
26/43
Comparison of dependencies
before and after the application upgrade
8/8/2019 Apps Upgrade Ow08 131577
27/43
Agenda
The Application Upgrade Lifecycle
Tasks for Application DBAs Install and Test Database Software Upgrade Upgrade and Test Application and Dependent Programs
Mask Sensitive Data in Non-Production Before Sharing
Promote Software to Production Promote DB Changes from Test to Production
Summary
8/8/2019 Apps Upgrade Ow08 131577
28/43
Sensitive Data is Highly Regulated
Non-Production Use Risks Compliance and Penalties
Regulations restrict use of sensitive data and mandateaccess control (who, where, how, and why)
Payment Card Industry Data Security Standard (PCI DSS) 6.3.4 Graham-Leach-Bliley Act (GLBA) and Sarbanes-Oxley Act (SOX)
Health Insurance Portability and Accountability Act (HIPAA)
Communications Act (Title 47,222)
90% fail compliance, facing fines and remediation costs Non-production environments more vulnerable to breaches
Non-production breaches must be disclosed Database Security Breach Notification Act (California SB 1386)
$239/record Up to $35M/breach
And thats if the data doesnt end up on the Internet
8/8/2019 Apps Upgrade Ow08 131577
29/43
Secret #3: Mask sensitive data before Testingusing the Data Masking Pack
Development and TestingDatabase
ProductionDatabase
Features
Automatic database referential integrity if masking primary keys
Implicit database enforced
Explicit application enforced
Data mask format library Preview sample data before masking
Application masking templates
Define once - execute many
60,000323-22-2943BENSON
40,000203-33-3234AGUILAR
SALARYSSNLAST_NAME
60,000111-34-1345BKJHHEIEDK
40,00011123-1111ANSKEKSL
SALARYSSNLAST_NAME
8/8/2019 Apps Upgrade Ow08 131577
30/43
Data Masking Pack
De-Identifying Sensitive Data
Benefits
Eliminate risk of moving sensitive data to dev & test environments
Share data with partners without exposing sensitive data
No impact on production database
Leverage Masking templates for common data types
Mask related columns in the same way
Development and TestingDatabase
ProductionDatabase
60,000323-22-2943BENSON
40,000203-33-3234AGUILAR
SALARYSSNLAST_NAME
60,000111-34-1345BKJHHEIEDK
40,00011123-1111ANSKEKSL
SALARYSSNLAST_NAME
8/8/2019 Apps Upgrade Ow08 131577
31/43
Agenda
The Application Upgrade Lifecycle
Tasks for Application DBAs Install and Test Database Software Upgrade Upgrade and Test Application and Dependent Programs
Mask Sensitive Data in Non-Production Before Sharing
Promote Software to Production Promote DB Changes from Test to Production
Summary
8/8/2019 Apps Upgrade Ow08 131577
32/43
EM-based Provisioning: Software
Lifecycle Automation
8/8/2019 Apps Upgrade Ow08 131577
33/43
EM-based Database Provisioning
Functionality/Capability
Gold image based cloning of software bits
Image can be pre-patched to any level
Image is sourced from the host itself or from the Software Library
Optionally performs post cloning configuration eg: databasecreation
Several homes can be cloned in parallel
Database cloning is also supported
Database cloning uses fast,proven RMAN technology
Benefits
Reduce possibility of errors and improve reliability Faster provisioning through automation
Proven, ErrorProven, Error--free software deploymentfree software deployment
8/8/2019 Apps Upgrade Ow08 131577
34/43
Agenda
The Application Upgrade Lifecycle
Tasks for Application DBAs
Install and Test Database Software Upgrade
Upgrade and Test Application and Dependent Programs
Mask Sensitive Data in Non-Production Before Sharing
Promote Software to Production Promote DB Changes from Test to Production
Summary
Secure schema change propagation
8/8/2019 Apps Upgrade Ow08 131577
35/43
Secure schema change propagation
Capture changes indevelopment
Promote changes from Testingto Staging to Production
Reduce the risk ofunauthorized changes
Audit changes acrossenvironments to ensure
compliance
Production
Staging TrainingDev
Reporting
SynonymGrantConstraint
Table Index Partition
Trigger Package Function
Init.ora User Tablespace
S h i ti
8/8/2019 Apps Upgrade Ow08 131577
36/43
Synchronization
Synchronization modes
Unattended Synchronize
Interactive Synchronize
Synchronize source can bebaseline or database
Synchronize target is always adatabase
Interactive Mode Specify scope (schemas, object
types to sync)
View Comparison results
Exclude objects from sync Generate a script and impact report
Execute Synchronization script
Dev
Baseline
CM CompareProcessor
Prod
Prod
Compare Results
Script generator
Execute Script
Script
8/8/2019 Apps Upgrade Ow08 131577
37/43
Identify unwanted application changes
- Security
Malicious SQL Unauthorized Access Control
changes
Index
Tables
PL/SQL objects
8/8/2019 Apps Upgrade Ow08 131577
38/43
Secret # 4: Promote final changes to Production
DB
Capture Baseline on Test DB
Initiate interactive synchronization
with Production using aboveBaseline
Review change list
Edit and finalize change list
Generate change script
Execute upgrade changes onProduction
8/8/2019 Apps Upgrade Ow08 131577
39/43
Promote seed data from Test to Productionusing Streams-based replication of Tables
Identify TABLES containingseed data
Setup a one-time Streams-
based replication process Select and add tables for
Replication
Add additional subset criteria
to remove test data added tothe seed tables.
Perform replication
Disable Replication
8/8/2019 Apps Upgrade Ow08 131577
40/43
Agenda
The Application Upgrade Lifecycle
Tasks for Application DBAs
Install and Test Database Software Upgrade
Upgrade and Test Application and Dependent Programs
Mask Sensitive Data in Non-Production Before Sharing
Promote Software to Production Promote DB Changes from Test to Production
Summary
European Railroad company
8/8/2019 Apps Upgrade Ow08 131577
41/43
European Railroad company
Manage distribution of application schema upgrades to176 remote servers
Proactive detect unwanted changes causing problemsChallenge
Synchronize capabilities used to propagate applicationupgrades from master server
Comparison capabilities used to perform daily schema healthchecks and detect variances
SolutionApproach
Benefit
Reduced errors by automating the application upgrades process
Accelerated new application deployments by rolling out changesto all servers simultaneously
8/8/2019 Apps Upgrade Ow08 131577
42/43
Upgrade Nirvana
1. Install new database software
2. Apply database patches to bring it to certification
3. Copy from production to test
4. Install application software5. Run test scripts
6. Identify changes to customizations
7. Upgrade custom database objects in schema
8. Upgrade dependent software custom and standard
9. Re-run test script10. Repeat until all standard and custom programs work
11. Perform volume / scalability tests
12. Identify performance regression
13. Tune application rewrite SQL, create access structures
14. Re-run performance tests
15. Repeat until all programs show acceptance performance
16. Update or create additional custom upgrade scripts
17. Repeat steps 1, 2, 4, 7 8, 13, 16 on Production
18. Cross your fingers and hope it all works when it goes live
Scenario: Upgrade an application the DBA 2.0 way
Traditional way to upgrade an application
1. Automate testing of DBchanges
2. Map dependencies &
track changes3. Mask sensitive data
4. Provision Production
software
5. Promote DB changes
from Test to Production
The DBA 2.0 way
8/8/2019 Apps Upgrade Ow08 131577
43/43