SlideShare uma empresa Scribd logo
1 de 21
No Surprises Development and
Environment Management
Stewart Bryson, Rittman Mead
& Kellyn Pot’Vin, Enkitec
About This Session

Other programming disciplines have taken advantage of
collaborative development principles to achieve quality
code faster, such as:
   Agile methods
   rapid feedback




What techniques are available to enable higher levels of
visibility and traceability when developing database code
and schema objects.
Deployment Strategies in the Workplace




   Formal Strategy?
   Agile?
   Waterfall?
   Other?
Database World View

   DBA




The GULF In between




   Developer
Challenges

   The ability to constantly build and deploy code into
    identical environments is one of the core essentials to
    ensuring successful releases.
   There is incredible value in constant environmental
    comparisons which can reduce potential deployment
    problems between:
       Developer Database Copies
       Central Development Databases
       Integration Environments
       Reporting Environments
       Production
Secondary Objectives

   Know more about Oracle's built-in capabilities for
    tracking database changes.
   Learn how different tools can can support Oracle
    deployments to facilitate development, deployment, and
    quality peer reviews.
   Learn about how to leverage compare tools to reduce
    potential code movement and deployment issues.
Performing a Release, Can you answer:


1. Exactly what is being changed in the database?
2. If they're using scripts to make the changes, have the
scripts been run against a copy of the production schema
anywhere before attempting them in production?
3. How long will the scripts take to run?
4. Are all of the scripts documented?
5. Is there a run-book /install guide that lists each script?
So Much Can Change….

5. Which scripts can be "pre-deployed" or "dark-launched"?
(i.e. won't affect a running system.)
6. Which scripts require an outage?
7. Which scripts can be run post-outage?
8. If we need to abort, what is the minimum set of things we
need to revert back to pre-deployment versions?
What do We Need to Be Successful?

   What do we want?
   What do we need?
To Ensure You are able to Answer
These Question, it will Require:
   Following Environments:
       2 in Development
       2 in Integration
       2 in QA
       1 in Production Reporting
       1 in Production
1. They don't have a production copy.

a) Skills/Resource to Create a Production Copy
b) Lack Disk Space to Create Production Copy
c) Inability/Lack Resources to Utilize Snap Mirrors/Re-
Silvering
d) Logical Data Guard
e) Golden gate
f) Delphix
2. Restrictive security prevents
comparing schemas across
Environments ris o ns be twe e n
Re s tric ts c o m p a
d e ve lo p m e nt, te s t, QAa nd p ro d uc tio n. .




a) Ask why, demand a logical answer.
b) Find a way around it, there are tools to extract baselines
c) Write a sql script to dump details to a .txt file and just
diff them
3. They don't practice deployments in
the environments they have
a) From Development to Integration or from schema to
schema
b) From Integration to QA
   Does QA file bugs when the installation scripts fail?

c) From QA to Production Reporting
4. They think that small structural
differences "don't matter"
a) The index names are different, how could this impact a
release?
b) The columns are in a different order, what is the big deal?
c) Storage clauses are assumed, it’s an issue?
d) They run RAC and DG in production, but nowhere else,
it matters?
Internal Database Tips

   DDL Auditing turned on, considered default in
    environments.
    It is FREE, has almost no overhead and grants the administrator a list
    of structural changes occurring as the changes happen.
   All change scripts should be generated at the object level,
    (SQL Developer is already equipped to handle this.)
   Take advantage of schema compare tools repeatedly to
    “weed out” and eliminate any structural differences prior
    to deployments.
   Test, test and re-test deployment scripts, preference is
    always against a production copy.
Tips for Simplifying Environments

   Tablespace names the same across ALL environments.
   Storage clauses all AUTO ALLOCATE
   Column ordering the same.
   Index checks to verify all the same across all
    environments.
   Remove ALL DIFFERENCES that can impact simplicity
    when duplicating.
   Consider differences to be bugs that require fixing.
   If production is RAC, all environments that support it,
    (dev, test, QA) should also be RAC!
Cost Effectiveness

   Price of implementation vs. the cost of failure.
   Track accumulated savings in shortened outage windows.
   Consider more frequent deployments, which can be
    performed quickly and confidently.
Tools that Can Assist You


   SQL Developer, (Oracle)
   Pl/SQL Developer, (All Around Automation)
   TOAD Software, (Quest Software)
   Redgate Deployment Suite for Oracle
   DB Artisan, (Embarcadaro)
       Object Level Scripting
       Schema Comparison
       Plug-in for many version control software pkgs.
Oracle Deployment Tools

   Oracle Technology Network Website has documentation
    for a plug-in.
http://www.oracle.com/technology/documentation/agile.html
   Weblogic applications possess the Weblogic Deployment
    tool.
   Oracle Warehouse Builder
   EM12c-
       Use Middleware as a service as to rapidly deploy J2EE
        applications.
       Auto deploy options for patching, upgrading, etc of Oracle
        internal code.
Production Deployments Best Practice
Review
   A practiced task before the actual event, at least 2-3
    occurrences before going production.
   All issues/bugs should be ironed out before ever going to
    production so…



           The Production Deployment is then a
           NON- EVENT!
No-Surprises Development and Environment Management

Mais conteúdo relacionado

Mais de Enkitec

In Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneIn Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneEnkitec
 
In Search of Plan Stability - Part 1
In Search of Plan Stability - Part 1In Search of Plan Stability - Part 1
In Search of Plan Stability - Part 1Enkitec
 
Mini Session - Using GDB for Profiling
Mini Session - Using GDB for ProfilingMini Session - Using GDB for Profiling
Mini Session - Using GDB for ProfilingEnkitec
 
Profiling Oracle with GDB
Profiling Oracle with GDBProfiling Oracle with GDB
Profiling Oracle with GDBEnkitec
 
Oracle Performance Tools of the Trade
Oracle Performance Tools of the TradeOracle Performance Tools of the Trade
Oracle Performance Tools of the TradeEnkitec
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsEnkitec
 
SQL Tuning Tools of the Trade
SQL Tuning Tools of the TradeSQL Tuning Tools of the Trade
SQL Tuning Tools of the TradeEnkitec
 
Using SQL Plan Management (SPM) to Balance Plan Flexibility and Plan Stability
Using SQL Plan Management (SPM) to Balance Plan Flexibility and Plan StabilityUsing SQL Plan Management (SPM) to Balance Plan Flexibility and Plan Stability
Using SQL Plan Management (SPM) to Balance Plan Flexibility and Plan StabilityEnkitec
 
Oracle GoldenGate Architecture Performance
Oracle GoldenGate Architecture PerformanceOracle GoldenGate Architecture Performance
Oracle GoldenGate Architecture PerformanceEnkitec
 
OGG Architecture Performance
OGG Architecture PerformanceOGG Architecture Performance
OGG Architecture PerformanceEnkitec
 
APEX Security Primer
APEX Security PrimerAPEX Security Primer
APEX Security PrimerEnkitec
 
How Many Ways Can I Manage Oracle GoldenGate?
How Many Ways Can I Manage Oracle GoldenGate?How Many Ways Can I Manage Oracle GoldenGate?
How Many Ways Can I Manage Oracle GoldenGate?Enkitec
 
Understanding how is that adaptive cursor sharing (acs) produces multiple opt...
Understanding how is that adaptive cursor sharing (acs) produces multiple opt...Understanding how is that adaptive cursor sharing (acs) produces multiple opt...
Understanding how is that adaptive cursor sharing (acs) produces multiple opt...Enkitec
 
Sql tuning made easier with sqltxplain (sqlt)
Sql tuning made easier with sqltxplain (sqlt)Sql tuning made easier with sqltxplain (sqlt)
Sql tuning made easier with sqltxplain (sqlt)Enkitec
 
Profiling the logwriter and database writer
Profiling the logwriter and database writerProfiling the logwriter and database writer
Profiling the logwriter and database writerEnkitec
 
Fatkulin hotsos 2014
Fatkulin hotsos 2014Fatkulin hotsos 2014
Fatkulin hotsos 2014Enkitec
 
Combining ACS Flexibility with SPM Stability
Combining ACS Flexibility with SPM StabilityCombining ACS Flexibility with SPM Stability
Combining ACS Flexibility with SPM StabilityEnkitec
 
Why You May Not Need Offloading
Why You May Not Need OffloadingWhy You May Not Need Offloading
Why You May Not Need OffloadingEnkitec
 
LOBS, BLOBS, CLOBS: Dealing with Attachments in APEX
LOBS, BLOBS, CLOBS: Dealing with Attachments in APEXLOBS, BLOBS, CLOBS: Dealing with Attachments in APEX
LOBS, BLOBS, CLOBS: Dealing with Attachments in APEXEnkitec
 
Creating a Business Oriented UI in APEX
Creating a Business Oriented UI in APEXCreating a Business Oriented UI in APEX
Creating a Business Oriented UI in APEXEnkitec
 

Mais de Enkitec (20)

In Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneIn Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry Osborne
 
In Search of Plan Stability - Part 1
In Search of Plan Stability - Part 1In Search of Plan Stability - Part 1
In Search of Plan Stability - Part 1
 
Mini Session - Using GDB for Profiling
Mini Session - Using GDB for ProfilingMini Session - Using GDB for Profiling
Mini Session - Using GDB for Profiling
 
Profiling Oracle with GDB
Profiling Oracle with GDBProfiling Oracle with GDB
Profiling Oracle with GDB
 
Oracle Performance Tools of the Trade
Oracle Performance Tools of the TradeOracle Performance Tools of the Trade
Oracle Performance Tools of the Trade
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning Fundamentals
 
SQL Tuning Tools of the Trade
SQL Tuning Tools of the TradeSQL Tuning Tools of the Trade
SQL Tuning Tools of the Trade
 
Using SQL Plan Management (SPM) to Balance Plan Flexibility and Plan Stability
Using SQL Plan Management (SPM) to Balance Plan Flexibility and Plan StabilityUsing SQL Plan Management (SPM) to Balance Plan Flexibility and Plan Stability
Using SQL Plan Management (SPM) to Balance Plan Flexibility and Plan Stability
 
Oracle GoldenGate Architecture Performance
Oracle GoldenGate Architecture PerformanceOracle GoldenGate Architecture Performance
Oracle GoldenGate Architecture Performance
 
OGG Architecture Performance
OGG Architecture PerformanceOGG Architecture Performance
OGG Architecture Performance
 
APEX Security Primer
APEX Security PrimerAPEX Security Primer
APEX Security Primer
 
How Many Ways Can I Manage Oracle GoldenGate?
How Many Ways Can I Manage Oracle GoldenGate?How Many Ways Can I Manage Oracle GoldenGate?
How Many Ways Can I Manage Oracle GoldenGate?
 
Understanding how is that adaptive cursor sharing (acs) produces multiple opt...
Understanding how is that adaptive cursor sharing (acs) produces multiple opt...Understanding how is that adaptive cursor sharing (acs) produces multiple opt...
Understanding how is that adaptive cursor sharing (acs) produces multiple opt...
 
Sql tuning made easier with sqltxplain (sqlt)
Sql tuning made easier with sqltxplain (sqlt)Sql tuning made easier with sqltxplain (sqlt)
Sql tuning made easier with sqltxplain (sqlt)
 
Profiling the logwriter and database writer
Profiling the logwriter and database writerProfiling the logwriter and database writer
Profiling the logwriter and database writer
 
Fatkulin hotsos 2014
Fatkulin hotsos 2014Fatkulin hotsos 2014
Fatkulin hotsos 2014
 
Combining ACS Flexibility with SPM Stability
Combining ACS Flexibility with SPM StabilityCombining ACS Flexibility with SPM Stability
Combining ACS Flexibility with SPM Stability
 
Why You May Not Need Offloading
Why You May Not Need OffloadingWhy You May Not Need Offloading
Why You May Not Need Offloading
 
LOBS, BLOBS, CLOBS: Dealing with Attachments in APEX
LOBS, BLOBS, CLOBS: Dealing with Attachments in APEXLOBS, BLOBS, CLOBS: Dealing with Attachments in APEX
LOBS, BLOBS, CLOBS: Dealing with Attachments in APEX
 
Creating a Business Oriented UI in APEX
Creating a Business Oriented UI in APEXCreating a Business Oriented UI in APEX
Creating a Business Oriented UI in APEX
 

Último

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 

Último (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

No-Surprises Development and Environment Management

  • 1. No Surprises Development and Environment Management Stewart Bryson, Rittman Mead & Kellyn Pot’Vin, Enkitec
  • 2. About This Session Other programming disciplines have taken advantage of collaborative development principles to achieve quality code faster, such as:  Agile methods  rapid feedback What techniques are available to enable higher levels of visibility and traceability when developing database code and schema objects.
  • 3. Deployment Strategies in the Workplace  Formal Strategy?  Agile?  Waterfall?  Other?
  • 4. Database World View  DBA The GULF In between  Developer
  • 5. Challenges  The ability to constantly build and deploy code into identical environments is one of the core essentials to ensuring successful releases.  There is incredible value in constant environmental comparisons which can reduce potential deployment problems between:  Developer Database Copies  Central Development Databases  Integration Environments  Reporting Environments  Production
  • 6. Secondary Objectives  Know more about Oracle's built-in capabilities for tracking database changes.  Learn how different tools can can support Oracle deployments to facilitate development, deployment, and quality peer reviews.  Learn about how to leverage compare tools to reduce potential code movement and deployment issues.
  • 7. Performing a Release, Can you answer: 1. Exactly what is being changed in the database? 2. If they're using scripts to make the changes, have the scripts been run against a copy of the production schema anywhere before attempting them in production? 3. How long will the scripts take to run? 4. Are all of the scripts documented? 5. Is there a run-book /install guide that lists each script?
  • 8. So Much Can Change…. 5. Which scripts can be "pre-deployed" or "dark-launched"? (i.e. won't affect a running system.) 6. Which scripts require an outage? 7. Which scripts can be run post-outage? 8. If we need to abort, what is the minimum set of things we need to revert back to pre-deployment versions?
  • 9. What do We Need to Be Successful?  What do we want?  What do we need?
  • 10. To Ensure You are able to Answer These Question, it will Require:  Following Environments:  2 in Development  2 in Integration  2 in QA  1 in Production Reporting  1 in Production
  • 11. 1. They don't have a production copy. a) Skills/Resource to Create a Production Copy b) Lack Disk Space to Create Production Copy c) Inability/Lack Resources to Utilize Snap Mirrors/Re- Silvering d) Logical Data Guard e) Golden gate f) Delphix
  • 12. 2. Restrictive security prevents comparing schemas across Environments ris o ns be twe e n Re s tric ts c o m p a d e ve lo p m e nt, te s t, QAa nd p ro d uc tio n. . a) Ask why, demand a logical answer. b) Find a way around it, there are tools to extract baselines c) Write a sql script to dump details to a .txt file and just diff them
  • 13. 3. They don't practice deployments in the environments they have a) From Development to Integration or from schema to schema b) From Integration to QA Does QA file bugs when the installation scripts fail? c) From QA to Production Reporting
  • 14. 4. They think that small structural differences "don't matter" a) The index names are different, how could this impact a release? b) The columns are in a different order, what is the big deal? c) Storage clauses are assumed, it’s an issue? d) They run RAC and DG in production, but nowhere else, it matters?
  • 15. Internal Database Tips  DDL Auditing turned on, considered default in environments. It is FREE, has almost no overhead and grants the administrator a list of structural changes occurring as the changes happen.  All change scripts should be generated at the object level, (SQL Developer is already equipped to handle this.)  Take advantage of schema compare tools repeatedly to “weed out” and eliminate any structural differences prior to deployments.  Test, test and re-test deployment scripts, preference is always against a production copy.
  • 16. Tips for Simplifying Environments  Tablespace names the same across ALL environments.  Storage clauses all AUTO ALLOCATE  Column ordering the same.  Index checks to verify all the same across all environments.  Remove ALL DIFFERENCES that can impact simplicity when duplicating.  Consider differences to be bugs that require fixing.  If production is RAC, all environments that support it, (dev, test, QA) should also be RAC!
  • 17. Cost Effectiveness  Price of implementation vs. the cost of failure.  Track accumulated savings in shortened outage windows.  Consider more frequent deployments, which can be performed quickly and confidently.
  • 18. Tools that Can Assist You  SQL Developer, (Oracle)  Pl/SQL Developer, (All Around Automation)  TOAD Software, (Quest Software)  Redgate Deployment Suite for Oracle  DB Artisan, (Embarcadaro)  Object Level Scripting  Schema Comparison  Plug-in for many version control software pkgs.
  • 19. Oracle Deployment Tools  Oracle Technology Network Website has documentation for a plug-in. http://www.oracle.com/technology/documentation/agile.html  Weblogic applications possess the Weblogic Deployment tool.  Oracle Warehouse Builder  EM12c-  Use Middleware as a service as to rapidly deploy J2EE applications.  Auto deploy options for patching, upgrading, etc of Oracle internal code.
  • 20. Production Deployments Best Practice Review  A practiced task before the actual event, at least 2-3 occurrences before going production.  All issues/bugs should be ironed out before ever going to production so… The Production Deployment is then a NON- EVENT!