본관은 보성(寶城). 자는 회백(晦伯), 호는 금암(琴巖). 할아버지는 오태좌(吳台佐)이며, 아버지는 오행원(吳行遠)이다.
어려서부터 학문을 좋아하여 경사(經史)의 해득에 뛰어났고, 문사(文辭)가 화려하며 필법이 호건(豪健)하였다. 1633년(인조 11) 사마시에 합격하여 진사가 되고, 1639년 별시문과에 병과로 급제하여, 1642년 전적(典籍)을 거쳐 예조좌랑을 지냈다. 아버지상을 당하여 낙향하였다가 1646년에 정언(正言), 이듬해에 병조정랑을 역임하였다.
1648년 고성현령을 지내고, 1651년 (효종 2) 지평(持平)을 지냈으며, 이듬해 외직으로 나가 홍산(鴻山)·영천(永川)·문천(文川)·대흥(大興)·풍기(豊基)의 수령을 역임하였다. 1666년(현종 7) 좌통례(左通禮)를 거쳐 흥해군수가 되었다. 1668년 진주목사를 지냈으며 1673년 한성부서윤(漢城府庶尹)을 역임하였다.
외직에 있으면서 유학을 장려하고, 청렴하여 군읍민의 칭송을 받았으며 청백리의 칭호를 받았다. 1826년(순조 26) 기암서원(機巖書院)에 배향되었고, 1794년(정조 18) 좌승지로 추증되었다.