O modelo de segurança da Oracle significa que não podemos construir objetos de banco de dados (visualizações, procedimentos armazenados, etc.) usando privilégios concedidos à nossa conta por meio de uma função. Os privilégios devem ser explicitamente concedidos à nossa conta nomeada.
Isso também se aplica a blocos anônimos.
Então, se você quiser construir PL/SQL que seja executado em objetos de banco de dados em outros esquemas, você terá que pedir ao proprietário do esquema - ou ao DBA - para conceder a você os privilégios necessários.