Oracle
 sql >> Base de données >  >> RDS >> Oracle

La procédure ORACLE PL/SQL nécessite AUTHID CURRENT_USER pour EXECUTE IMMEDIATE avec DDL

Fondamentalement, vous devez éviter d'attribuer des rôles prédéfinis. CONNECT et RESOURCE étaient populaires dans la version 7.x d'Oracle. Maintenant, ils n'ont qu'une liste très limitée de privilèges.

DBA , en revanche, est probablement trop puissant pour l'utilisateur zzz . Je le révoquerais complètement, si j'étais vous (et n'accorderais que l'ensemble de privilèges requis, quand et si nécessaire).

Pour moi, il semble que votre utilisateur aurait dû avoir ceci :

grant create view to zzz;

explicitement. Essayez de le faire (avec AUTHID ligne supprimée de la procédure) et réexécutez la procédure.