Apps Upgrade Ow08 131577

  • 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