Online Application Upgrade Using Edition-Based Redefinition Alan Choi PL/SQL, Database Sever Technology
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 remain at the sole discretion of Oracle.
“…for the past 30 years, online upgrades have been a solution in search of a problem...” Tudor Dumitras
Industrial Demand for Online Application Upgrade Electricity Utility Management System Support System for Global Company Manufacturing Industry – assembly line Online Business Banking System
Online Application Upgrade – the final piece of the High Availability jigsaw puzzle High Availability Survive hardware failure Make planned changes to software Change infrastructure: Operating system Oracle Database Change application’s database objects Change objects’ physical characteristics Change objects’ meaning: patching and upgrading
Online Application Upgrade Oracle Database 11g Release 2 introduces revolutionary new capabilities that allow online application upgrade with uninterrupted availability of the application The pre-upgrade application and the post-upgrade application can be used at the same time End-user sessions therefore enjoy hot rollover
The Challenge Essence of data must be consistent between pre- upgrade and post-upgrade applications – Existing data must be visible to both applications – Transactions done by the users of the pre-upgrade application must by reflected in the post-upgrade application – For hot rollover, transactions done by the users of the post- upgrade application must by reflected in the pre-upgrade application The installation of the upgrade into the production database must not perturb live users of the pre-upgrade application – Many objects must be changed in concert. The changes must be made in privacy
The solution: edition-based redefinition 11.2 brings these revolutionary new features: the edition, the editioning view, and the crossedition trigger – Changes in stored procedures and views are installed in the privacy of a new edition – Data changes are made safely by writing only to new columns or new tables not seen by the old edition An editioning view exposes a different projection of a table into each edition to allow each to see just its own columns A crossedition trigger propagates data changes made by the old edition into the new edition’s columns, or (in hot- rollover) vice-versa
Case study
The HR sample schema, as shipped by Oracle Corp, still thinks that the USA is the only country in the world – Diana Lorentz – John Russell
Case study
Case study – The edition-based redefinition exercise proper
Show_ Employees Employees Pre_Upgrade ID Ph. … Employees_ Starting point. Pre-upgrade app in normal use.
Post_Upgrade Pre_Upgrade Employees Show_ Employees Start the edition-based redefinition exercise. Create the new edition as the child of the existing one. ID Ph. … Employees_ Show_ Employees Employees
Pre_Upgrade ID Ph. … Employees_ Cntry# Create the replacement columns in the underlying table. The editioning view shields the pre-upgrade app from this change. Post_Upgrade Employees Show_ Employees Employees
Post_Upgrade Pre_Upgrade Show_ Employees Employees ID Ph. … Employees_ Cntry# Change Employees to select the new columns. Change Show_Employeess to implement the new behavior. Show_ Employees Employees
ID Ph. … Employees_ Cntry# Post_Upgrade Pre_Upgrade Show_ Employees Employees Fwd Xed Create the forward crossedition trigger. Show_ Employees Employees
ID Ph. … Employees_ Cntry# Post_Upgrade Pre_Upgrade Show_ Employees Employees Fwd XedRvrs Xed Create the reverse crossedition trigger. Show_ Employees Employees
Rvrs Xed ID Ph. … Employees_ Cntry# Post_Upgrade Pre_Upgrade Show_ Employees Employees Fwd Xed Apply the transform to the data for the new app to use Show_ Employees Employees
Post_Upgrade Pre_Upgrade Show_ Employees Employees Fwd XedRvrs Xed ID Ph. … Employees_ Cntry# Hot rollover period. Show_ Employees Employees
Show_Employees Employees Post_Upgrade Pre_Upgrade Show_ Employees Employees ID Ph. … Employees_ Cntry# The Pre_Upgrade edition is retired. The edition-based redefinition exercise is complete.
Conclusion Large, mission critical applications can now be continuously available while a patch or an upgrade is installed – The pre-upgrade application and the post-upgrade application can be used at the same time Beta customers tested it, declare it fit for their purpose, and hope to enable online application upgrade through EBR White paper available at based_redefinition.pdf
A Q &