Если предсказуемо, что каждая строка всегда будет разбиваться на фиксированное количество строк, должно быть возможно что-то вроде следующего:
select
b.iterator,
substr(a.mystring,b.iterator*9-8,9) as split
from
(select '123456789123456789123456789123456789123456789123456789123456789123456789' as mystring from dual) a,
(select 1 as iterator from dual union
select 2 as iterator from dual union
select 3 as iterator from dual union
select 4 as iterator from dual union
select 5 as iterator from dual union
select 6 as iterator from dual union
select 7 as iterator from dual union
select 8 as iterator from dual) b
РЕДАКТИРОВАТЬ: итератор Кевина был проще и лучше, чем моя версия грубой силы,Подзапрос b должен быть (ВЫБЕРИТЕ ROWNUM в качестве итератора ОТ двойного CONNECT BY LEVEL <= 8) </p>