Существует в русском эпосе и былина о князе Глебе Володьевиче и взятии Корсуня-града (в этой былине, как полагают исследователи, также отразились предания о корсунском походе Владимира Святославича) – князь такими словами призывает свою дружину:
Былинный Глеб Володьевич мстил некой правительнице Корсуня-города, злой безбожнице и еретичке «Маринке дочке Кайдаловны». Хотя, вполне возможно, что перед нами предстает какой-то неизвестный эпизод времен древнерусского Орса-Корсуня и упоминание все о той же богине Деве.
Вот примерная последовательность похода на Корсунь и самой осады, предложенная историками.
Итак, русские спустились вниз по Днепру и, вероятно, в самом конце лета или в начале осени того же 988 года появились вблизи Херсонеса. Войско Владимира насчитывало несколько тысяч человек (не более пяти-шести тысяч на 150—200 ладьях, согласно подсчетам военного инженера и археолога Александра Львовича Бертье-Делагарда, посвятившего обстоятельное исследование корсунскому походу Владимира). Херсониты, конечно, заблаговременно узнали о приближении русского флота (ибо их сторожевые корабли и обычные рыболовные лодки постоянно курсировали вблизи устья Днепра) и успели подготовиться к осаде: «затворились в граде», по выражению летописца.
Русы были сильны натиском, напором в первом бою. Умелая же осада крепостей не входила в число их достоинств. Войско Владимира не располагало ни стенобитными машинами, ни камнеметами или огнеметами, способными забрасывать в осажденный город горшки с зажигательной смесью и тяжелые камни. Не сумев выманить противника из крепости и взять город прямым лобовым ударом, русы были вынуждены приступить к осаде, надеясь на время и, как казалось, неизбежный голод. Но осада затянулась и легла тяжелым бременем не только на осажденных, но и на осаждавших. По сведениям средневековых русских источников (разных редакций Жития князя Владимира), русские простояли у города от шести до девяти месяцев, то есть осень, зиму и часть весны.
Херсонес был отлично укреплен и считался почти неприступным. Город находился на полуострове, соединенном с сушей лишь узким перешейком на западе. С севера его омывали волны Черного моря, с востока глубоко в линию берега врезался залив – нынешняя Карантинная бухта Севастополя. В древности к ней тянулась глубокая и узкая балка, защищавшая крепость с юга. Западная часть города ограничивалась нынешней Стрелецкой бухтой – не очень глубоким, но обширным заливом. Каменные стены города достигали 15 метров в высоту и трех (а в некоторых местах – даже шести – десяти) метров в толщину. На наиболее опасных участках крепость окружала вторая, дополнительная боевая стена.