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

Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGDSC PJATK
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty SecureFemke de Vroome
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...marcuskenyatta275
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfSrushith Repakula
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe中 央社
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfFIDO Alliance
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastUXDXConf
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyUXDXConf
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceSamy Fodil
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimaginedpanagenda
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FIDO Alliance
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfFIDO Alliance
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 

Último (20)

Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 

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!