Online Application Upgrade Using Edition

Download Report

Transcript Online Application Upgrade Using Edition

Online Application Upgrade Using Edition-Based Redefinition
Alan Choi
PL/SQL, Database Sever Technology
http://www.oracle.com/technology/products/database/index.html
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.
<Insert Picture Here>
Tudor Dumitras
“…for the past 30 years, online
upgrades have been a solution in
search of a problem...”
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
Make planned
changes to software
Change application’s
database objects
Change objects’
meaning:
patching and upgrading
Survive
hardware failure
Change infrastructure:
Operating system
Oracle Database
Change objects’
physical characteristics
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 preupgrade 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 postupgrade 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 hotrollover) vice-versa
<Insert Picture Here>
Case study
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
590.423.5567
011.44.1344.429268
Case study
<Insert Picture Here>
Case study –
The edition-based redefinition
exercise proper
Starting point.
Pre-upgrade app in normal use.
Pre_Upgrade
Employees
ID
Ph.
…
Employees_
Show_ Employees
Start the edition-based
redefinition exercise.
Create the new edition as the
child of the existing one.
Post_Upgrade
Employees
Show_ Employees
Pre_Upgrade
Employees
ID
Ph.
…
Employees_
Show_ Employees
Create the replacement
columns in the underlying
table.
Post_Upgrade
Employees
Show_ Employees
The editioning view shields
the pre-upgrade app from this
change.
Pre_Upgrade
Employees
ID
Ph.
…
Employees_
Cntry
#
Show_ Employees
Change Employees to select
the new columns.
Post_Upgrade
Employees
Show_ Employees
Change Show_Employeess to
implement the new behavior.
Pre_Upgrade
Employees
ID
Ph.
…
Employees_
Cntry
#
Show_ Employees
Create the forward crossedition
trigger.
Post_Upgrade
Employees
Show_ Employees
Fwd Xed
Pre_Upgrade
Employees
ID
Ph.
…
Employees_
Cntry
#
Show_ Employees
Create the reverse crossedition
trigger.
Post_Upgrade
Employees
Show_ Employees
Fwd Xed
Rvrs Xed
Pre_Upgrade
Employees
ID
Ph.
…
Employees_
Cntry
#
Show_ Employees
Apply the transform to the data
for the new app to use
Post_Upgrade
Employees
Show_ Employees
Fwd Xed
Rvrs Xed
Pre_Upgrade
Employees
ID
Ph.
…
Employees_
Cntry
#
Show_ Employees
Hot rollover period.
Post_Upgrade
Employees
Show_ Employees
Fwd Xed
Rvrs Xed
Pre_Upgrade
Employees
ID
Ph.
…
Employees_
Cntry
#
Show_ Employees
The Pre_Upgrade edition
is retired.
Post_Upgrade
Employees
Show_ Employees
The edition-based redefinition
exercise is complete.
Pre_Upgrade
Employees
ID
Ph.
…
Employees_
Cntry
#
Show_Employees
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
http://www.oracle.com/technology/deploy/availability/pdf/edition_
based_redefinition.pdf
<Insert Picture Here>
Q&A