online Oracle database migration to different Oracle database release
1) impdp with network link doest not need the production database to be stopped. This is the slowest method, as this needs to build everything from scratch, I am not sure this would finish in 4 hours.

2) RMAN duplicate fails between different versions because it tries to automatically open the database, and that will fail. But you can manually restore the database on the new host from the RMAN backups, then open it with alter database open resetlogs upgrade; and run the upgrade scripts immediately. With this method, you need downtime only to upgrade the database on the new host, should not take more than 30-60 minutes.

3) Streams does not require any license. You can just simply replicate the database, and start using the new database whenever you want to. This requires the least downtime, but the configuration and administration is cumbersome compared to other methods.