Это должно работать:
with tmp_tbl as
(select '(245)289.4321,(897)201-7210,(897)2017210,8964253712' phone_numbers from dual)
select distinct
regexp_replace((regexp_substr(tmp_tbl.phone_numbers,'[^,]+', 1, level)),'\D','') phone_number
from
tmp_tbl
connect by
regexp_substr(tmp_tbl.phone_numbers,'[^,]+', 1, level) is not null
Результат:
PHONE_NUMBER
8964253712
2452894321
8972017210