Начинал играть в ЦСКА, где провел 3 сезона (1989/90—1991/92). В последнем сезоне выступал в одном звене с Чибиревым и Востриковым, которое на тот момент было 2-м в команде.
Летом 1991 был выбран на драфте клубом НХЛ Монреаль Канадиенс (6-й раунд, 127-й номер), а летом 1992 уехал в Канаду. В 1-й сезон в НХЛ провел за клуб 10 игр (9 — в чемпионате и 1 — в плей-офф) и забросил 2 шайбы. Большую часть времени провел в фарм-клубе «Фредериктон».
Второй сезон также начал в фарм-клубе, однако в декабре 1993 его срочно вызвали в основную команду, так как получил серьёзную травму плеча и надолго выбыл из строя Брайан Беллоуз. Петров занял его место во втором звене с Кирком Мюллером и Жильбером Дионном. Во 2-м сезоне в НХЛ забросил 12 шайб и сделал 15 результативных передач.
Сезон 1994/95, как считает сам Петров, у него не получился полностью из-за локаута. Он сыграл в сезоне 12 матчей, после чего снова был отправлен в «Фредериктон» до конца сезона.
Летом 1995 заключил новый контракт с Монреаль Канадиенс на сезон. Но отыграл его также слабо: в 36 матчах чемпионата забросил 4 шайбы (7 результативных передач) и 5 игр в плей-офф (один голевой пас).
В 1996 переезжает в Швейцарию, где подписывает контракт на 2 года с командой Амбри-Пиотта, которую тренировал Александр Якушев и в которой играли Дмитрий Квартальнов и Игорь Чибирев. В сезоне 1996/97 набрал 56 очков (24+32).
В сезоне 1997/98 вместе с клубом дошел до полуфинала плей-офф и стал лучшим бомбардиром, набрав по системе «гол плюс пас» 93 очка.
Вернулся в Россию в сезоне 2007/2008, подписав контракт с Ак Барсом и став с ним обладателем первого розыгрыша Кубка Гагарина (сезон 2008—2009). Затем 2 сезона провел в Мытищинском «Атланте», с которым завоевал Кубок Чемпиона западной конференции, в финале уступив уфимскому «Салавату Юлаеву» со 4-1. В октябре 2011 подписал контракт со своим прежним клубом — казанским «Ак Барсом» до конца текущего сезона. За «Ак Барс» Олег Петров выступает под непривычным для себя номером 18, так как 14 номер уже заигран игроком молодежной команды барсов.
С первой женой Натальей прожил в браке более 10-ти лет, есть общий сын Антон. Со второй женой имеет двоих детей. Семья проживает в Канаде.