압록강 하류의 안동시(安東市: 지금의 丹東市) 동북방 약 20여㎞ 지점이 되며, 압록강을 방어하는 고구려의 국방적 요충지이다.
612년(영양왕 23) 수나라 양제(煬帝)가 대군을 이끌고 요동성(遼東省: 지금의 遼陽)을 포위하고 있는 동안, 우문술(宇文述) 등의 별군이 오골성을 거쳐 압록강을 건너 평양에 진군하기 위해 살수(薩水: 지금의 淸川江)를 지나려다 을지문덕(乙支文德)에게 대패하여 돌아갔다.
645년(보장왕 4) 당태종이 고구려를 칠 때 요동성ㆍ백암성(白巖城) 등의 요하(遼河) 동쪽의 성들을 점령하고 난 뒤 남쪽의 건안성(建安城)과 북쪽의 안시성(安市城) 중에서 먼저 안시성을 공격하다가 실패하고 말았다. 이에 당나라에 항복한 고연수(高延壽)의 말을 듣고 안시성을 놔둔 채 평양의 길목인 오골성을 치려 하니, 장손무기(長孫無忌)가 반대하기를 ‘만약 그렇게 하면 신성(新城)과 안시성의 무리가 당나라 군사의 뒤를 칠 것이므로 이것은 불가하다’ 하여 다시 안시성을 공격하였으나 끝내 실패하여 당나라 군사는 철수하고 말았다.