Voltooi de volgende zin: Op de Olympische Zomerspelen van 2012 in Londen, Oliveira concurreerde in dezelfde individuele evenementen met slechts twee dagen tussen. Hij behaalde FINA B-normen van 1: 59.72 (200 m ruggang) van de
Europese kampioenschappen in Debrecen, Hongarije, en 1:58.50 (200 m vlinder) van de Summer Universiade in Shenzhen, China. In zijn eerste evenement, 200 m vlinder, plaatste Oliveira een 22e plaats in de voorrondes van de ochtend. Hij kwam langs het hele veld om de tweede heat te leiden in een persoonlijke textielbest van 1:58.45. Twee dagen later, in de 200 m ruggang, daagde Oliveira zeven andere zwemmers uit in dezelfde heat, waaronder de Hongaarse Gábor Balog, finalist op het Europees Kampioenschap. Hij zette een nieuw Portugees record van 1:58.83 om een tweede plek achter Balog te verdienen. Oliveira miste de top 16 van de halve finale met zes tiende van een seconde (0,60), omdat hij twintigste werd in de voorrondes.