Striving for Optimal Performance
  • Blog
    • Archive
    • Categories
    • Search
  • Troubleshooting Oracle Performance
    • Description
    • Structure
    • Table of Contents
    • Forewords
    • Reviews
    • Downloadable Files
    • Addenda and Errata
    • First Edition
  • Public Appearances
    • Past Public Appearances
  • Contact
  • About

Edition-Based Redefinition

12 January 2010 7 Comments Written by Christian Antognini

Upgrading critical applications can be very difficult. One of the main problems is that for reasons of availability, long downtimes cannot be periodically scheduled. Therefore, for such applications, it is desirable to implement online upgrades. This requires that the application in question, as well as any software used by the application (e.g. the database engine) all support online upgrades. Oracle has recognized this problem for years. Unfortunately, up to and including Database 11g Release 1, only a limited number of features have been implemented for that purpose. As of Oracle Database 11g Release 2, this situation has changed greatly. With edition-based redefinition, Oracle Database offers real support for implementing online upgrades. The aim of the paper Edition-Based Redefinition, that I just put online here, is to provide an overview of this new feature.

11gR2
Join Elimination
Does the Query Optimizer Cost PX Distribution Methods?

7 Comments

2 Pings/Trackbacks

  1. Blogroll Report 08/01/2009 – 15/01/2010 « Coskan’s Approach to Oracle Blogroll Report 08/01/2009 – 15/01/2010 « Coskan’s Approach to Oracle
    2 February 2010    

    […] edition based redefinition detailed analysis Christian Antognini-Edition Based Redefinition Leave a […]

  2. Charlie Yi 木匠 Charlie Yi 木匠
    3 February 2010    

    How to change Session Edition without downtime (without reconnect to database) ? E.g. a JDBC connection.
    I couldn’t find it after a quick scan of Oracle Documentation.

    Reply
    • Christian Antognini Christian Antognini
      4 February 2010    

      Hi Charlie

      AFAIK there is no specific API for this. So, you have to execute a regular ALTER SESSION statement. E.g.:

            statement = connection.createStatement();
            statement.execute("ALTER SESSION SET edition = " + edition);

      HTH
      Chris

      Reply
  3. Charlie Yi 木匠 Charlie Yi 木匠
    4 February 2010    

    Please correct me if I’m wrong. So that means we cannot change other session’s Edition online.
    We either use application to send the “ALTER SESSION SET edition = ” command to every connected session, or use database logon trigger to set Edition and reconnect (restart the application).

    “AFAIK”, learned a new abbr. today. ^_^

    Reply
    • Christian Antognini Christian Antognini
      4 February 2010    

      Hi Charlie

      The only way to change the session edition is to execute an ALTER SESSION statement or through the SET_EDITION_DEFERRED procedure in the DBMS_SESSION package.

      However, to change the default edition at the database level, it is possible to change the DEFAULT_EDITION database property. It goes without saying that such a change do not impact connected sessions.

      HTH
      Chris

      Reply
  4. Charlie Yi 木匠 Charlie Yi 木匠
    5 February 2010    

    OK Chris,

    Our deployment procedure will be:

    1) roll in new version PL/SQL package and other database object changes.

    2) change the DEFAULT_EDITION database property.

    3) Application reconnect to database, (restart the connection pool).

    Thanks,
    Charlie

    Reply
  5. Online deployments or Oracle’s warm welcome of the 21st century, perhaps better known as Edition-Based Redefinition (EBR for short) « tns-0 Online deployments or Oracle’s warm welcome of the 21st century, perhaps better known as Edition-Based Redefinition (EBR for short) « tns-0
    1 October 2011    

    […] Christian Antognini’s EBR article […]

  1. Blogroll Report 08/01/2009 – 15/01/2010 « Coskan’s Approach to Oracle on 2 February 2010 at 20:04
  2. Online deployments or Oracle’s warm welcome of the 21st century, perhaps better known as Edition-Based Redefinition (EBR for short) « tns-0 on 1 October 2011 at 00:13

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.