Мисля, че можете да го направите с една заявка:
select s.id, count(*)
from spatial_data s, table(s.geometry.sdo_ordinates)
group by s.id
или можете да напишете проста функция на plsql, която връща атрибута за броене на SDO_ORDINATE_ARRAY VARRAY:
create or replace function get_count(ar in SDO_ORDINATE_ARRAY) return number is
begin
return ar.count;
end get_count;
или още по-добре добавете членска функция към SDO_GEOMETRY TYPE, която връща атрибута за броене