Well yea.. but if you see the error message cant you make it its clearly got to do with privilege issue..? and logically with the above error message you can conclude that there exists one such object... so the question of public/private should not come at all..

because if it were public, it would complain with no such database link (private) exists.. and not insufficient privelege.. you got to be logical to even judge/guess mistakes..