It is assumed that you, the DBA, would attempt multiple variations of a migration project in a non-production or standby environment first (See Chapter 5 for testing scenarios) for several weeks to months before even attempting any changes to production. As you should notice, the database is not the very last thing to migrate; it is the optimizer. You aren't really migrating the optimizer, as you will be enabling the newest features of the optimizer by manipulating the related database parameters. In reality, you are migrating the statistics (see Chapter 8 for more details).
Changes that survive testing are migrated to production gradually so that disruptions are kept to a minimum. The entire migration process should begin when a new version is first released, even while in beta. That would give a long period of time to test a new major release of Oracle. Often a year or more will pass before it is fully tested for production use. The following is a personal...