The basics are that first you’ll need to identify what the Oracle data types are that you are going to use. Then you can create the new tables with the new data types. Once that is done you’ll need to rewrite all your T/SQL code into PL/SQL code. This includes your stored procedures as well as any code which is within your applications.
If you use any autonumberiny features of MySQL you’ll need to convert these into Oracle sequences.
Then you can start importing your data from MySQL to Oracle.
This is not an easy task at all. Depending on how large the application is that you are trying to move it will take weeks or months. Very large applications can take years to migrate as they are a moving target with new features and bugs being fixed in the old platform which means that those features need to be moved into that new platform.
Then you’ll need to get someone up to speed on Oracle system maintenance to handle maintening the Oracle database. Managing an Oracle database is nothing like managing a MySQL database (or any other database for that matter).
There isn’t enough information provided to suggest a hardware solution other than to say that any Dell, HP, or IBM server should be fine provided that it has enough CPU, RAM and Disk IO available to service the applications needs.