Scrivi una continuazione per questo paragrafo - Alle Olimpiadi estive del 2012 a Londra, Oliveira ha gareggiato negli stessi eventi individuali con solo due giorni di distanza. Ha raggiunto gli standard FINA B di 1: 59.72 (200 m schiena) dai Campionati europei
a Debrecen, in Ungheria, e 1:58.50 (200 m farfalla) dall'Universiade estiva di Shenzhen, in Cina. Nel suo primo evento, 200 m farfalla, Oliveira si è classificato ventiduesimo nelle preliminari del mattino. Ha superato l'intero campo per guidare la seconda heat con un tempo di 1:58.45. Due giorni dopo, nei 200 m a schiena, Oliveira sfidò altri sette nuotatori nello stesso turno, tra cui l'ungherese Gábor Balog, finalista ai Campionati europei. Ha stabilito un nuovo record portoghese di 1: 58.83 per guadagnare un secondo posto dietro Balog. Oliveira ha perso le prime 16 semifinali per sei decimi di secondo (0,60), essendo ventesimo nelle preliminari.