Please see below details for Apex:
Current is: DB 11.2.0.2.0 and APEX version 4.0
Linux server
It's opensuse 13.2. Very old version 32GB ram, 8 core CPU and 2TB
On a virtual machine.
Required
Database version – 21c
Apex version – We want to use 22.2
Required
Database version – 21c
Apex version – We want to use 22.2
I'm not a DBA so I can't really comment on upgrading database 11g to 21c. Maybe - just maybe - it would be simpler if you installed a brand new 21c database and used export/import utilities to move existing schemas to a new database. Benefit: you'll get rid of schemas you don't need because nobody uses them any more (export them, though, and keep for backup purposes). Drawback: it'll take time if you have many schemas to move.
As of Apex itself: presuming you'll do as described above, you'll install new version in your new database. Then create workspaces, one-by-one, and export/import applications you want to move. Benefit: you'll get rid of old applications and all the garbage you collected through the years. Drawback: it'll take time if you have many applications to move.
Will your old applications work in new Apex? They should, if you leave them as they were. There's the "Compatibility mode" property which lets you specify pre 4.1 version (which is what you have):
If you, on the other hand, plan to upgrade applications to the most recent version, there's such an option in "Utilities" section. It'll lead you through the process - you'll have to do it step-by-step, and will be allowed to check (or uncheck) pages/components you want (or don't want) to upgrade.
Note that not everything will work properly if you do the full upgrade. For example, tabular forms will be migrated to interactive grids and you might lose functionalities you programmed for tabular forms. Or, date pickers have changed a lot which might affect processes and validations. If I remember well, there were no dynamic actions in 4.0, and they represent significant improvement to page logic - things you couldn't do (or could do, but not in an easy way) can now be rewritten in a simpler manner.
So - yes, you can expect some problems which will take time to fix. If you have a lot of applications, I hope you aren't the only developer who will be doing it. Maybe you should really leave those old applications as they are and let users work with them. Develop new applications in new Apex version, and upgrade the old ones one-by-one, when you have time to do it slowly and carefully.