Pour connaître dès la première ligne retournée par ton curseur le nombre de lignes total, il y a un moyen simple... le retourner dans toutes les lignes.

SELECT COUNT(*) OVER() nb_ligne_total
...