Oberhausen lies on the ICE route from Amsterdam to Basel, via Utrecht, Cologne and Frankfurt. There are also some ICs going here and a lot of regional trains, connecting the city with Düsseldorf, Duisburg, Dortmund, Cologne and Bonn. Thus, Oberhausen is very well connected. The fair for regional trains is from 6 to 20€, depending how far it is. You can buy your tickets in advance on bahn.de, or by them at the ticket machine in the train station - there is no difference in the fare.
For ICEs, the fare depends, there are a lot of ticket options. The most affordable ones are sold 90 days in advance, but they are not flexible at all, you are bound to that one train you purchased the ticket for, and you can't give it back. If you buy a more expensive ticket, it is more flexible, there is for example an option where you can choose the train on the date.
It took us less then 30 minutes to get Oberhausen from Gahlen where we lived in the hotel.
Unfortunately there were problems with a parking of the car near the stadium. So in one of days we could not drive on a parking within an hour and were not late nearly for check. Last day we despaired to search for a parking nearby from the stadium and parked near to the Schloss and Schloss-park.