본관은 보성(寶城). 자는 붕약(鵬若), 호는 경산(耕山). 오덕명(吳德明)의 증손으로, 할아버지는 창의사(倡義使) 오방(吳昘)이고, 아버지는 오광복(吳光復)이다. 어머니는 엄영(嚴霙)의 딸이다.
1777년(정조 1) 진사시에 합격하고, 같은해 증광문과에 병과로 급제한 뒤, 1786년 중시문과에 을과로 급제하였다. 1780년 주서(注書)를 거쳐 부정자(副正字)가 되고, 이듬해 실록낭청(實錄郎廳)으로 임명되었다. 『국조보감(國朝寶鑑)』 22권 찬집을 맡아 2년 만에 완성하자, 정조가 사관(史官)을 보내 오언시를 내려 위로하고 『국조보감』 한질을 포상, 6품으로 승품시켰다.
1784년에 병조정랑이 되고, 이듬해에는 경모궁(景慕宮)의 『궁원의(宮園儀)』 1부를 제진(製進)하여 그 1부를 특별히 받았다. 1786년 정언(正言)이 되고, 이듬해 지평(持平)을 거쳐 1788년 장령(掌令)에 올랐다.
이 때에 언로가 막혀 시정(時政)이 무너지고 그것을 바로잡아야 한다는 병폐론을 극언한 만언소(萬言疏)로 인하여 삭직되었다.
이듬해 직첩(職牒: 관직 임명장)을 다시 받고 소본(疏本)은 『홍재집(弘齋集)』에 올랐다. 1793년 장령에 복직되었으나 나아가지 않았고, 성환찰방에 봉해졌다. 다음해 집의(執義)에 임명되었으나 부임하지 않고, 향리에 은둔하다 죽었다.