Jednodnevni seminar "Oracle Database’s edition-based redefinition"

21.5.2018. HrOUG organizira jednodnevni seminar "Oracle Database’s edition-based redefinition" vrhunskog predavača Bryn Llewellyna.

Seminar će se održati na engleskom jeziku.

Broj mjesta je ograničen na 30. Prijaviti se možete mailom na Mjesto održavanja seminara je za sada Samobor.


- Seminar je za članove HrOUG-a besplatan, uz napomenu da ukoliko prijavite svoj dolazak, a ne dođete, niti na vrijeme otkažete, bit će vam naplaćeno 500,00 kuna + pdv.

- Za sve koji nisu članovi HrOUG-a cijena je 750,00 kn + pdv.



In general, patching or upgrading the artifacts in an Oracle Database that jointly implement an application’s back end involves changing two or more functionally dependent objects. Because each DDL auto commits, such changes inevitably imply that the system is mutually inconsistent once the patching begins and that its integrity is regained only when patching completes. Before EBR, your only option, therefore, was to take downtime. EBR allows you to create a semantic copy of the live system within the same database so that you can make your changes to this while the live system remains in uninterrupted use. A copy-on-write scheme is used so that only changed objects occupy space. Of course, the quota-consuming data must be mutually synchronized, transactionally. EBR supports this too. This workshop explains how it all works.



You will appreciate the conceptual and practical challenges that any technology that aims to support zero-downtime application patching must meet. You will understand how EBR meets these challenges. And you will realize that no other conceivable approach could meet these. You will gain a deep understanding of EBR’s key features: the edition, the editioning view, and the crossedition trigger. The workshop will prioritize giving you a robust mental model so that you will be able confidently to design how you will adopt EBR in your database and then implement EBR exercises to meet your zero-downtime patching requirements. To complement the mental model, you will be shown the SQL statements and PL/SQL subprogram calls that you need in sufficient detail to make your new understanding concrete and immediately usable.



The format is expository teaching using ordinary slides and on-the-fly Q&A. You will see various SQL*Plus demos and discuss code. But you will not need to bring laptops to do your own hands-on work. After the event, you will be able to download, from the Oracle Database PL/SQL and EBR blog, a carefully written whitepaper, current as of Oracle Database version 12.2, that covers all of the workshop’s content—and more—in detail. And all the code that you see will be published there too.



1. The conceptual challenges implied by the zero-downtime application patching goal

The zero-downtime goal implies that the pre-upgrade and post-upgrade versions of the application must be in concurrent use during a cut-over period that we call hot rollover. We’ll deduce that this implies a requirement for bidirectional, transactional, data synchronization for the database component; and we’ll look at what this implies for the whole application stack—through the connection pool and up to the browser.

2. The core teaching

We’ll sketch a simple case study upon which we’ll hang the teaching. Then we’ll cover these fundamental topics:

• the edition

• the editioning view

• the crossedition trigger

• readying the database to use EBR.

We will define the crucial terms of art editioned object and noneditioned object and—critically—we’ll appreciate why we end up with a rule that we call the NE-on-E prohibition. We’ll realize why we therefore need a deliberate, explicit operation to allow a user to own editioned objects. We’ll realize, too, that we must rename all tables and regain their former names with covering editioning views. We’ll appreciate, therefore, that adopting EBR requires a specific, one-off, “technical” upgrade of your database’s application objects and that this must be done in downtime.

The explanation, so far, will remain at the conceptual level, so we won’t yet see any SQL syntax. We’ll step through the case study—entirely in pictures—and see how the apparatus supports hot rollover and therefore lets us meet our zero downtime patching goal.

3. Explaining the SQL statements that implement an EBR exercise

Now that we have a solid conceptual basis, we can step through a slightly different case study—but this time using SQL*Plus. This will not only demonstrate the SQL syntax and semantics; it will also expose some more important conceptual challenges and their solutions. We’ll realize that any demonstration of EBR must take place in the presence of simulated, and uninterrupted, insert, update, and delete activity from ordinary OLTP users. Here we’ll use only bare SQL statements.

4. Completing the study of the code example

With the understanding of the relevant bare SQL statements in place, we’ll look at a yet more elaborate code demonstration. The patching use case is still simple; but we’ll come to appreciate yet more challenges that must be met when using EBR to patch real-world, mission critical applications. Here, we’ll issue all the basic SQL statements from PL/SQL programs—and we’ll appreciate why this approach is recommended.

5. Final round of questions, discussion, and summary.

Of course, I will welcome questions at any moment during the seminar. Sometimes, I will have to say “I can see why you’re puzzled, but trust me, I need you to suspend your disbelief until we’ve covered some more basic concepts.” The time will be ripe, at this stage of the day, to revisit our list of dangling questions and to ensure that everyone is now so comfortable with how EBR works that they will be able to answer their own questions.

We’ll move to a general discussion of the use cases to which attendees hope to apply EBR. And we’ll conclude, of course, with a summary of what we’ve learned.

Some tweeted testimonials from attendees previous runs of the seminar:

As of this document’s date, I have delivered this seminar on six occasions, November 2017, for the following countries’ Oracle User Groups: Romania, Germany, Denmark, Norway, Finland, and Sweden. Here are some tweets from attendees. The text is copied here unless they presently disappear.

@OyvindIsene Really enjoyed the EBR master class with @BrynLite in Bergen. Wish I could stay longer. #oracle #ougn

@sweoug It’s time! #EBRDAY with the one and only @BrynLite is about to kick off in #Stockholm. We’re looking forward to this day!

@ilmarkerm Starting @sweoug EBR training day with @BrynLite. Full house as always :) But it seems I'm the only one who is dressed appropriately for the event :)

• @mathiasmag @BrynLite getting everyone onboard with the value of #EBR @sweoug during #EbrDay.

• @orclmircl Thankful to have been given the opportunity to listen to @BrynLite hold an enlightening master class about EBR at #EBRDAY hosted by @sweoug. A truly great presentation by someone who knows what he’s talking about and knows how to present it!


Bryn Llewellyn, Distinguished Product Manager,  Database Server Technologies Division, Oracle HQ

Bryn Llewellyn has worked in the software field for more than forty years. He joined Oracle UK in 1990 at the European Development Center to work on the Oracle Designer team. He transferred to the Oracle Text team and then into consulting as the Text specialist for Europe. He relocated to Redwood Shores in 1996 to join the Oracle Text Technical Marketing Group. He has been the product manager for PL/SQL since 2001. In 2005, he became responsible, additionally, for edition-based redefinition (EBR for short). This is the Oracle Database capability that supports online application upgrade.

It’s hard for Bryn to remember his life before Oracle. He started off doing image analysis and pattern recognition at Oxford University (programming in FORTRAN) and then worked in Oslo, first at the Norwegian Computing Center and then in a startup. In Norway, Bryn programmed in

Simula (its inventors were his close colleagues). This language is recognized as the first object-oriented programming language and was the inspiration for Smalltalk and C++.

Bryn is an OakTable member.