The calculated distance (air line) between Oliveira do Douro and Lisbon is approximately 169 miles respectively 272 kilometers.
By car or train, the actual journey to Lisbon is certainly longer, as only the direct route (as the crow flies) between Oliveira do Douro and Lisbon has been calculated here.
Air line (approximately)
272 kilometers
147 nautical miles