The U's had Dave Kitson sent off in stoppage time for a second yellow card, the striker having been booked in the first half.
There was some quality passing from both teams on a wet surface, but neither side could find a finishing touch.
It was Oxford boss Chris Wilder's 250th game in charge and he will probably feel the more disappointed of the two long-serving managers.
The Grecians had chances on the counter-attack in the first half, though.
One quick break, from an Oxford corner, ended with John O'Flynn firing in a shot on the turn from Liam Sercombe's low cross, and Ryan Clarke saving well.
City keeper Artur Krysiak saved smartly from winger Sean Rigg's powerful run and drive.
And only a superb last-ditch tackle by City skipper Danny Coles denied Ryan Williams after he had beaten three defenders.
Rigg and Kitson both went close for the U's after the break, but Exeter had their opportunities too, with Clarke denying Dave Wheeler and Arron Davies.