Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Die ORACLE PL/SQL-Prozedur erfordert AUTHID CURRENT_USER für EXECUTE IMMEDIATE mit DDL

Grundsätzlich sollten Sie vermeiden, vordefinierte Rollen zu vergeben. CONNECT und RESOURCE waren in der Oracle-Version 7.x beliebt. Jetzt haben sie nur noch eine sehr begrenzte Liste von Privilegien.

DBA , andererseits ist wahrscheinlich zu mächtig für den Benutzer zzz . Ich würde es an Ihrer Stelle vollständig widerrufen (und nur die erforderlichen Berechtigungen gewähren, wenn &falls erforderlich).

Mir scheint, dass Ihrem Benutzer Folgendes hätte gewährt werden sollen:

grant create view to zzz;

ausdrücklich. Versuchen Sie das (mit AUTHID). Zeile aus der Prozedur entfernt) und führen Sie die Prozedur erneut aus.