Handling of seed data in R12.2 online patching

We are trying to explain here the Handling of seed data in R12.2 online patching

What is seed data?

1)Seed data is data stored in database tables that affects the behavior of the application and is patched by EBS development
2) Patches cannot be allowed to modify the seed data seen by the running application otherwise it will impact the running application
3) seed tables are stored in APPS_TS_SEED tablespace

Changes done in seed data in R12.2
1)An additional column ZD_EDITION_NAME is populated in the seed tables.
2)Seed Data is filtered using the ZD_EDITION_NAME by a Virtual Private Database (VPD) Policy

How is seed data changes are handled

Online patches are prevented from modifying runtime seed data by the use of editioned data storage. This involves creation of a (patch) copy of the seed data, which is stored in the same table. The patches that are applied interact only with this copy, while the run edition only interacts with a private copy (which is eventually deleted as part of the cleanup phase).

The running application uses the run edition copy of seed data, while patches may update the patch edition copy of seed data in isolation. The two copies are isolated, except that seed data changes made by the running application are synchronized to the patch edition copy.

Run edition Patch edition
Always operates on a private copy of the seed data Runs the seed data loader
It is  never modified by patch application Prepares the relevant table for patching
it does not see the data modified by patch edition Copies all table rows and Loads seed data changes into the (patch) copy

Updates to  edition are automatically propagated to the patch edition by the use of cross-edition triggers.