The calculated distance (air line) between Oliveira and Porto is approximately 24 miles respectively 38 kilometers.
By car or train, the actual journey to Porto is certainly longer, as only the direct route (as the crow flies) between Oliveira and Porto has been calculated here.