The rider from Almada, who started from 20th place on the grid, completed the 20 laps 22.022 seconds behind the winner, Frenchman Fábio Quartararo (Yamaha), who beat Spaniard Alex Rins (Suzuki) by 2.663 seconds, and Spaniard Aleix Espargaró (Aprilia) for 4.105 seconds.
Oliveira finished a second off 15th place, the last position for points.
The Portuguese driver had difficulties throughout the weekend to get traction on the British circuit.
With these results, Fábio Quartararo has further cemented his leadership of the championship, having, now, 206 points, against 141 of the Spaniard Joan Mir (Suzuki), who only finished in ninth.
Frenchman Johann Zarco (Ducati) was third with 137 points, having finished 11th.
Miguel Oliveira maintains eighth place, with 85 points.