D'une autre de vos questions, je me souviens que package_name.record_cursor était un type de curseur de référence. Un curseur de référence est un handle de mémoire valide uniquement dans la base de données dans laquelle il a été créé. En d'autres termes, vous ne pouvez pas créer un curseur de référence dans votre base de données distante et essayer d'en extraire votre base de données locale.
Si vous avez vraiment besoin de traiter les données dans votre base de données locale et que les tables doivent rester dans la base de données distante, vous pouvez déplacer le package "package_name" dans votre base de données locale et lui faire exécuter la requête sur les tables de votre base de données distante via un lien de la base de données.