SlideShare a Scribd company logo
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Using Edition-Based Redefinition
with PL/SQL
How to deploy database code changes with zero downtime
Chris Saxon, Oracle Developer Advocate for SQL
chris.saxon@oracle.com
@chrisrsaxon & @sqldaily
blogs.oracle.com/sql
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
The following is intended to outline our general product direction.
It is intended for information purposes only, and may not be
incorporated into any contract. It is not a commitment to deliver
any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and
timing of any features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
The PL/SQL Deployment
Challenge!
How do we get PL/SQL into production with no outage?
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
No time to test
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Application may be
INconSIStenT
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Can’t get DDL lock
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Emergency Rollback?
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Solutions pre 11gR2
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
PROCEDURE_3
VIEW_2
Rename Your Objects!
PROCEDURE PROCEDURE_2
PACKAGE PACKAGE_2 PACKAGE_3
VIEW VIEW_3
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
VIEW_2
Dependency Hell
PROC PROC_2
PACK PACK_2 PACK_3
VIEW VIEW_3
PROC_3a
PACK_3a
VIEW_3b
PROC_4
VIEW_2a
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Multiple PL/SQL Schemas
DATA
PL/SQL
1
PL/SQL
2
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Replicate Your Database
$$$&
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
•No Database
•Compiled
PL/SQL!!
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
EBR to the
Rescue!
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
PROCEDURE
VIEW
EDITION_1 EDITION_2 EDITION_3
EBR to the Rescue!
PROCEDURE PROCEDURE PROCEDURE
PACKAGE PACKAGE PACKAGE
VIEW VIEW VIEW
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
How do I
use EBR?
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
DEMO
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
That was too easy!
Surely there must be a catch?
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
You can’t
disable editions
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Not Everything is Editionable
MY_PACKAGE
PUBLIC
SYNONYM
MATERIALIZED
VIEW
Addressed in 12c!
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Many editions
>
risk of missteaks
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Minimize Live Editions
Remove access to old editions
Explicitly specify edition
Good governance!
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Wait, There’s More!
EBR
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Summary
• Use EBR to deploy PL/SQL with zero downtime
• Easier than replication
• More practical than package renaming
• Requires 11g Release 2 +
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Further Reading
• 11gR2 Documentation:
http://docs.oracle.com/cd/E11882_01/appdev.112/e41502/adfns_editions.htm#ADFNS020
• 12cR1 Documentation: http://docs.oracle.com/database/121/ADFNS/adfns_editions.htm
• Oracle-BASE article: http://oracle-base.com/articles/11g/edition-based-redefinition-11gr2.php
• Tom Kyte’s Oracle Magazine article, Edition-Based Redefinition, Part 1:
http://www.oracle.com/technetwork/issue-archive/2010/10-jan/o10asktom-172777.html
• Edition-based redefinition whitepaper, Bryn Llewellyn July 2009:
http://www.oracle.com/technetwork/database/features/availability/edition-based-redefinition-1-
133045.pdf
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Questions?
Using Edition-Based Redefinition for Zero Downtime PL/SQL Changes

More Related Content

What's hot

The Machine Learning behind the Autonomous Database- EMEA Tour Oct 2019
The Machine Learning behind the Autonomous Database- EMEA Tour Oct 2019 The Machine Learning behind the Autonomous Database- EMEA Tour Oct 2019
The Machine Learning behind the Autonomous Database- EMEA Tour Oct 2019
Sandesh Rao
 
Oracle SQL Developer Tips & Tricks
Oracle SQL Developer Tips & TricksOracle SQL Developer Tips & Tricks
Oracle SQL Developer Tips & Tricks
Jeff Smith
 
Java EE Next
Java EE NextJava EE Next
Java EE Next
David Delabassee
 
MySQL Day Virtual: Best Practices Tips - Upgrading to MySQL 8.0
MySQL Day Virtual: Best Practices Tips - Upgrading to MySQL 8.0MySQL Day Virtual: Best Practices Tips - Upgrading to MySQL 8.0
MySQL Day Virtual: Best Practices Tips - Upgrading to MySQL 8.0
Frederic Descamps
 
Using XA for Batch – Bad idea? (article)
Using XA for Batch – Bad idea? (article)Using XA for Batch – Bad idea? (article)
Using XA for Batch – Bad idea? (article)
Revelation Technologies
 
How to Upgrade Hundreds or Thousands of Databases
How to Upgrade Hundreds or Thousands of DatabasesHow to Upgrade Hundreds or Thousands of Databases
How to Upgrade Hundreds or Thousands of Databases
Guatemala User Group
 
NZOUG - GroundBreakers-2018 -Using Oracle Autonomous Health Framework to Pres...
NZOUG - GroundBreakers-2018 -Using Oracle Autonomous Health Framework to Pres...NZOUG - GroundBreakers-2018 -Using Oracle Autonomous Health Framework to Pres...
NZOUG - GroundBreakers-2018 -Using Oracle Autonomous Health Framework to Pres...
Sandesh Rao
 
AUSOUG - Applied Machine Learning for Database Autonomous Health
AUSOUG - Applied Machine Learning for Database Autonomous HealthAUSOUG - Applied Machine Learning for Database Autonomous Health
AUSOUG - Applied Machine Learning for Database Autonomous Health
Sandesh Rao
 
Oracle python pandas merge DataFrames
Oracle python pandas merge DataFramesOracle python pandas merge DataFrames
Oracle python pandas merge DataFrames
Johan Louwers
 
AUSOUG - Introducing New AI Ops Innovations in Oracle 19c Autonomous Health F...
AUSOUG - Introducing New AI Ops Innovations in Oracle 19c Autonomous Health F...AUSOUG - Introducing New AI Ops Innovations in Oracle 19c Autonomous Health F...
AUSOUG - Introducing New AI Ops Innovations in Oracle 19c Autonomous Health F...
Sandesh Rao
 
SQL TUNING 101
SQL TUNING 101SQL TUNING 101
SQL TUNING 101
Alex Zaballa
 
Oracle SQL Developer for the DBA
Oracle SQL Developer for the DBAOracle SQL Developer for the DBA
Oracle SQL Developer for the DBA
Jeff Smith
 
AIOUG-GroundBreakers-2018 -Using Oracle Autonomous Health Framework to Preser...
AIOUG-GroundBreakers-2018 -Using Oracle Autonomous Health Framework to Preser...AIOUG-GroundBreakers-2018 -Using Oracle Autonomous Health Framework to Preser...
AIOUG-GroundBreakers-2018 -Using Oracle Autonomous Health Framework to Preser...
Sandesh Rao
 
Perth APAC Groundbreakers tour - 18c features
Perth APAC Groundbreakers tour - 18c featuresPerth APAC Groundbreakers tour - 18c features
Perth APAC Groundbreakers tour - 18c features
Connor McDonald
 
OOW16 - Leverage Oracle Integration Cloud Service for Oracle E-Business Suite...
OOW16 - Leverage Oracle Integration Cloud Service for Oracle E-Business Suite...OOW16 - Leverage Oracle Integration Cloud Service for Oracle E-Business Suite...
OOW16 - Leverage Oracle Integration Cloud Service for Oracle E-Business Suite...
vasuballa
 
Upgrade/Migrate to Oracle 12c: Live and Uncensored!
Upgrade/Migrate to Oracle 12c: Live and Uncensored!Upgrade/Migrate to Oracle 12c: Live and Uncensored!
Upgrade/Migrate to Oracle 12c: Live and Uncensored!
Guatemala User Group
 
Oracle Management Cloud - IT Analytics - Resource Analytics
Oracle Management Cloud - IT Analytics - Resource AnalyticsOracle Management Cloud - IT Analytics - Resource Analytics
Oracle Management Cloud - IT Analytics - Resource Analytics
Jean-Philippe PINTE
 
Troubleshooting tldr
Troubleshooting tldrTroubleshooting tldr
Troubleshooting tldr
Ligaya Turmelle
 
Rootconf admin101
Rootconf admin101Rootconf admin101
Rootconf admin101
Ligaya Turmelle
 
How Oracle Single/Multitenant will change a DBA's life
How Oracle Single/Multitenant will change a DBA's lifeHow Oracle Single/Multitenant will change a DBA's life
How Oracle Single/Multitenant will change a DBA's life
Guatemala User Group
 

What's hot (20)

The Machine Learning behind the Autonomous Database- EMEA Tour Oct 2019
The Machine Learning behind the Autonomous Database- EMEA Tour Oct 2019 The Machine Learning behind the Autonomous Database- EMEA Tour Oct 2019
The Machine Learning behind the Autonomous Database- EMEA Tour Oct 2019
 
Oracle SQL Developer Tips & Tricks
Oracle SQL Developer Tips & TricksOracle SQL Developer Tips & Tricks
Oracle SQL Developer Tips & Tricks
 
Java EE Next
Java EE NextJava EE Next
Java EE Next
 
MySQL Day Virtual: Best Practices Tips - Upgrading to MySQL 8.0
MySQL Day Virtual: Best Practices Tips - Upgrading to MySQL 8.0MySQL Day Virtual: Best Practices Tips - Upgrading to MySQL 8.0
MySQL Day Virtual: Best Practices Tips - Upgrading to MySQL 8.0
 
Using XA for Batch – Bad idea? (article)
Using XA for Batch – Bad idea? (article)Using XA for Batch – Bad idea? (article)
Using XA for Batch – Bad idea? (article)
 
How to Upgrade Hundreds or Thousands of Databases
How to Upgrade Hundreds or Thousands of DatabasesHow to Upgrade Hundreds or Thousands of Databases
How to Upgrade Hundreds or Thousands of Databases
 
NZOUG - GroundBreakers-2018 -Using Oracle Autonomous Health Framework to Pres...
NZOUG - GroundBreakers-2018 -Using Oracle Autonomous Health Framework to Pres...NZOUG - GroundBreakers-2018 -Using Oracle Autonomous Health Framework to Pres...
NZOUG - GroundBreakers-2018 -Using Oracle Autonomous Health Framework to Pres...
 
AUSOUG - Applied Machine Learning for Database Autonomous Health
AUSOUG - Applied Machine Learning for Database Autonomous HealthAUSOUG - Applied Machine Learning for Database Autonomous Health
AUSOUG - Applied Machine Learning for Database Autonomous Health
 
Oracle python pandas merge DataFrames
Oracle python pandas merge DataFramesOracle python pandas merge DataFrames
Oracle python pandas merge DataFrames
 
AUSOUG - Introducing New AI Ops Innovations in Oracle 19c Autonomous Health F...
AUSOUG - Introducing New AI Ops Innovations in Oracle 19c Autonomous Health F...AUSOUG - Introducing New AI Ops Innovations in Oracle 19c Autonomous Health F...
AUSOUG - Introducing New AI Ops Innovations in Oracle 19c Autonomous Health F...
 
SQL TUNING 101
SQL TUNING 101SQL TUNING 101
SQL TUNING 101
 
Oracle SQL Developer for the DBA
Oracle SQL Developer for the DBAOracle SQL Developer for the DBA
Oracle SQL Developer for the DBA
 
AIOUG-GroundBreakers-2018 -Using Oracle Autonomous Health Framework to Preser...
AIOUG-GroundBreakers-2018 -Using Oracle Autonomous Health Framework to Preser...AIOUG-GroundBreakers-2018 -Using Oracle Autonomous Health Framework to Preser...
AIOUG-GroundBreakers-2018 -Using Oracle Autonomous Health Framework to Preser...
 
Perth APAC Groundbreakers tour - 18c features
Perth APAC Groundbreakers tour - 18c featuresPerth APAC Groundbreakers tour - 18c features
Perth APAC Groundbreakers tour - 18c features
 
OOW16 - Leverage Oracle Integration Cloud Service for Oracle E-Business Suite...
OOW16 - Leverage Oracle Integration Cloud Service for Oracle E-Business Suite...OOW16 - Leverage Oracle Integration Cloud Service for Oracle E-Business Suite...
OOW16 - Leverage Oracle Integration Cloud Service for Oracle E-Business Suite...
 
Upgrade/Migrate to Oracle 12c: Live and Uncensored!
Upgrade/Migrate to Oracle 12c: Live and Uncensored!Upgrade/Migrate to Oracle 12c: Live and Uncensored!
Upgrade/Migrate to Oracle 12c: Live and Uncensored!
 
Oracle Management Cloud - IT Analytics - Resource Analytics
Oracle Management Cloud - IT Analytics - Resource AnalyticsOracle Management Cloud - IT Analytics - Resource Analytics
Oracle Management Cloud - IT Analytics - Resource Analytics
 
Troubleshooting tldr
Troubleshooting tldrTroubleshooting tldr
Troubleshooting tldr
 
Rootconf admin101
Rootconf admin101Rootconf admin101
Rootconf admin101
 
How Oracle Single/Multitenant will change a DBA's life
How Oracle Single/Multitenant will change a DBA's lifeHow Oracle Single/Multitenant will change a DBA's life
How Oracle Single/Multitenant will change a DBA's life
 

Similar to Using Edition-Based Redefinition for Zero Downtime PL/SQL Changes

Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Mee Nam Lee
 
Modern App Development with Oracle Cloud
Modern App Development with Oracle CloudModern App Development with Oracle Cloud
Modern App Development with Oracle Cloud
Juan Carlos Ruiz Rico
 
Oracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessOracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with Less
Ed Burns
 
Bryn llewellyn why_use_plsql at amis25
Bryn llewellyn why_use_plsql at amis25Bryn llewellyn why_use_plsql at amis25
Bryn llewellyn why_use_plsql at amis25
Getting value from IoT, Integration and Data Analytics
 
10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups
MySQL Brasil
 
UKOUG
UKOUG UKOUG
OOW16 - Oracle E-Business Suite: Technology Certification Primer and Roadmap ...
OOW16 - Oracle E-Business Suite: Technology Certification Primer and Roadmap ...OOW16 - Oracle E-Business Suite: Technology Certification Primer and Roadmap ...
OOW16 - Oracle E-Business Suite: Technology Certification Primer and Roadmap ...
vasuballa
 
Building beacon-enabled apps with Oracle MCS
Building beacon-enabled apps with Oracle MCSBuilding beacon-enabled apps with Oracle MCS
Building beacon-enabled apps with Oracle MCS
Steven Davelaar
 
Primavera P6 Team Member - For Primavera Users on the Go
Primavera P6 Team Member - For Primavera Users on the GoPrimavera P6 Team Member - For Primavera Users on the Go
Primavera P6 Team Member - For Primavera Users on the Go
p6academy
 
How to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesHow to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based Microservices
Pavel Bucek
 
OOW-TBE-12c-CON7307-Sharable
OOW-TBE-12c-CON7307-SharableOOW-TBE-12c-CON7307-Sharable
OOW-TBE-12c-CON7307-Sharable
Obaidur (OB) Rashid
 
OOW15 - Advanced Architectures for Oracle E-Business Suite
OOW15 - Advanced Architectures for Oracle E-Business SuiteOOW15 - Advanced Architectures for Oracle E-Business Suite
OOW15 - Advanced Architectures for Oracle E-Business Suite
vasuballa
 
What's New in Oracle SQL Developer for 2018
What's New in Oracle SQL Developer for 2018What's New in Oracle SQL Developer for 2018
What's New in Oracle SQL Developer for 2018
Jeff Smith
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7
MySQL Brasil
 
Ebr the key_to_online_application_upgrade at amis25
Ebr the key_to_online_application_upgrade at amis25Ebr the key_to_online_application_upgrade at amis25
Ebr the key_to_online_application_upgrade at amis25
Getting value from IoT, Integration and Data Analytics
 
MySQL User Camp: GTIDs
MySQL User Camp: GTIDsMySQL User Camp: GTIDs
MySQL User Camp: GTIDs
Shivji Kumar Jha
 
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFXTweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
Bruno Borges
 
PL/SQL All the Things in Oracle SQL Developer
PL/SQL All the Things in Oracle SQL DeveloperPL/SQL All the Things in Oracle SQL Developer
PL/SQL All the Things in Oracle SQL Developer
Jeff Smith
 
Take Full Advantage of the Oracle PL/SQL Compiler
Take Full Advantage of the Oracle PL/SQL CompilerTake Full Advantage of the Oracle PL/SQL Compiler
Take Full Advantage of the Oracle PL/SQL Compiler
Steven Feuerstein
 
Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl
Jeff Smith
 

Similar to Using Edition-Based Redefinition for Zero Downtime PL/SQL Changes (20)

Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
 
Modern App Development with Oracle Cloud
Modern App Development with Oracle CloudModern App Development with Oracle Cloud
Modern App Development with Oracle Cloud
 
Oracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessOracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with Less
 
Bryn llewellyn why_use_plsql at amis25
Bryn llewellyn why_use_plsql at amis25Bryn llewellyn why_use_plsql at amis25
Bryn llewellyn why_use_plsql at amis25
 
10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups
 
UKOUG
UKOUG UKOUG
UKOUG
 
OOW16 - Oracle E-Business Suite: Technology Certification Primer and Roadmap ...
OOW16 - Oracle E-Business Suite: Technology Certification Primer and Roadmap ...OOW16 - Oracle E-Business Suite: Technology Certification Primer and Roadmap ...
OOW16 - Oracle E-Business Suite: Technology Certification Primer and Roadmap ...
 
Building beacon-enabled apps with Oracle MCS
Building beacon-enabled apps with Oracle MCSBuilding beacon-enabled apps with Oracle MCS
Building beacon-enabled apps with Oracle MCS
 
Primavera P6 Team Member - For Primavera Users on the Go
Primavera P6 Team Member - For Primavera Users on the GoPrimavera P6 Team Member - For Primavera Users on the Go
Primavera P6 Team Member - For Primavera Users on the Go
 
How to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesHow to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based Microservices
 
OOW-TBE-12c-CON7307-Sharable
OOW-TBE-12c-CON7307-SharableOOW-TBE-12c-CON7307-Sharable
OOW-TBE-12c-CON7307-Sharable
 
OOW15 - Advanced Architectures for Oracle E-Business Suite
OOW15 - Advanced Architectures for Oracle E-Business SuiteOOW15 - Advanced Architectures for Oracle E-Business Suite
OOW15 - Advanced Architectures for Oracle E-Business Suite
 
What's New in Oracle SQL Developer for 2018
What's New in Oracle SQL Developer for 2018What's New in Oracle SQL Developer for 2018
What's New in Oracle SQL Developer for 2018
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7
 
Ebr the key_to_online_application_upgrade at amis25
Ebr the key_to_online_application_upgrade at amis25Ebr the key_to_online_application_upgrade at amis25
Ebr the key_to_online_application_upgrade at amis25
 
MySQL User Camp: GTIDs
MySQL User Camp: GTIDsMySQL User Camp: GTIDs
MySQL User Camp: GTIDs
 
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFXTweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
 
PL/SQL All the Things in Oracle SQL Developer
PL/SQL All the Things in Oracle SQL DeveloperPL/SQL All the Things in Oracle SQL Developer
PL/SQL All the Things in Oracle SQL Developer
 
Take Full Advantage of the Oracle PL/SQL Compiler
Take Full Advantage of the Oracle PL/SQL CompilerTake Full Advantage of the Oracle PL/SQL Compiler
Take Full Advantage of the Oracle PL/SQL Compiler
 
Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl
 

Recently uploaded

How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 

Recently uploaded (20)

How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 

Using Edition-Based Redefinition for Zero Downtime PL/SQL Changes

  • 1. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Using Edition-Based Redefinition with PL/SQL How to deploy database code changes with zero downtime Chris Saxon, Oracle Developer Advocate for SQL chris.saxon@oracle.com @chrisrsaxon & @sqldaily blogs.oracle.com/sql
  • 2. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  • 3. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | The PL/SQL Deployment Challenge! How do we get PL/SQL into production with no outage?
  • 4. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | No time to test
  • 5. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Application may be INconSIStenT
  • 6. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Can’t get DDL lock
  • 7. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Emergency Rollback?
  • 8. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Solutions pre 11gR2
  • 9. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | PROCEDURE_3 VIEW_2 Rename Your Objects! PROCEDURE PROCEDURE_2 PACKAGE PACKAGE_2 PACKAGE_3 VIEW VIEW_3
  • 10. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | VIEW_2 Dependency Hell PROC PROC_2 PACK PACK_2 PACK_3 VIEW VIEW_3 PROC_3a PACK_3a VIEW_3b PROC_4 VIEW_2a
  • 11. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Multiple PL/SQL Schemas DATA PL/SQL 1 PL/SQL 2
  • 12. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Replicate Your Database $$$&
  • 13. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | •No Database •Compiled PL/SQL!!
  • 14. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | EBR to the Rescue!
  • 15. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | PROCEDURE VIEW EDITION_1 EDITION_2 EDITION_3 EBR to the Rescue! PROCEDURE PROCEDURE PROCEDURE PACKAGE PACKAGE PACKAGE VIEW VIEW VIEW
  • 16. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | How do I use EBR?
  • 17. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | DEMO
  • 18. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | That was too easy! Surely there must be a catch?
  • 19. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | You can’t disable editions
  • 20. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Not Everything is Editionable MY_PACKAGE PUBLIC SYNONYM MATERIALIZED VIEW Addressed in 12c!
  • 21. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Many editions > risk of missteaks
  • 22. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Minimize Live Editions Remove access to old editions Explicitly specify edition Good governance!
  • 23. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Wait, There’s More! EBR
  • 24. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Summary • Use EBR to deploy PL/SQL with zero downtime • Easier than replication • More practical than package renaming • Requires 11g Release 2 +
  • 25. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Further Reading • 11gR2 Documentation: http://docs.oracle.com/cd/E11882_01/appdev.112/e41502/adfns_editions.htm#ADFNS020 • 12cR1 Documentation: http://docs.oracle.com/database/121/ADFNS/adfns_editions.htm • Oracle-BASE article: http://oracle-base.com/articles/11g/edition-based-redefinition-11gr2.php • Tom Kyte’s Oracle Magazine article, Edition-Based Redefinition, Part 1: http://www.oracle.com/technetwork/issue-archive/2010/10-jan/o10asktom-172777.html • Edition-based redefinition whitepaper, Bryn Llewellyn July 2009: http://www.oracle.com/technetwork/database/features/availability/edition-based-redefinition-1- 133045.pdf
  • 26. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Questions?