Schema Migration for application upgrades
Edition-Based Redefinition is perfect for this. You define schema changes in a new edition, along with procedures that are used to migrate the data between the base and new edition/schema. Switching between the two is seamless and can be done with zero downtime.

There's a good demo on the Oracle Base blog.