본관은 해주(海州). 자는 우삼(友三). 오달선(吳達善)의 아들이다.
1874년(고종 11) 경과증광별시문과에 병과로 급제하였다. 1875년 한권(翰圈)에 있었고, 이듬해 본관록(本館錄)과 도당록(都堂錄)을 거쳤으며, 1878년 홍문관부수찬을 지냈다.
1880년 사간원대사간, 이듬해 12월 성균관대사성이 되었다. 1889년 이조참판이 되었고, 1890년 예방승지를 지냈다. 같은 해 7월 당시 사헌부대사헌 남정철(南廷哲)을 대신하여 대사헌직을 수행하다가 1891년 10월 다시 이조참판에 올랐다.
1894년 동학농민운동이 일어난 직후인 7월에는 공주부관찰사에 나아가 지방행정에 참여하였다. 갑오경장 이후인 1895년 공주부관찰사로 재임하면서 중추원 1등의관에 임명되었으며, 동시에 칙임관 4등에 올랐다. 1896년 8월 경기관찰사로 임명되었고, 1898년 다시 궁내부특진관에 임명되고 칙임관 4등에 올랐다.
같은 해 7월 봉상사제조(奉常司提調)가 되고 다시 비서원경이 되었으며 칙임관 3등에 올랐다. 그 해 11월 경효전제조(景孝殿提調)에 칙임관 3등으로 임명되었다. 1874년 과거에 급제하면서부터 홍영식(洪英植)·김홍집(金弘集) 등과 교유한 개화기의 온건개화파에 속하였던 인물이다.