본래 대성군(大城郡)의 영현이었다. 일명 오구산(烏邱山)·오례산(烏禮山)·오야산(烏也山)·구도성(仇道城)이라고도 하였다. 경덕왕 때 오악(烏嶽)으로 고쳐 밀성군(密城郡, 지금의 密陽郡)의 영현으로 삼았다가 고려 초기에 청도로 합쳤다.
오도산은 큰 산〔大山〕·큰 영〔大嶺〕·큰 고개〔大峴〕 등의 의미를 지니고 있다. 이 지역은 조선시대에 청도에서 밀양으로 가는 길목에 있었는데, 오악에 있는 오혜산(烏惠山)에는 옛 산성〔古山城〕이 있었고 부근의 유천역(楡川驛)을 통하여 밀양을 거쳐 낙동강 하구로 나갈 수 있었다.
지형적으로 보아 이 지역은 하나의 고대 부족국가가 있었던 것으로 보인다. 신라 초기에 신라와의 분쟁이 있었던 것으로 전해진다.