sql >> Database teknologi >  >> RDS >> Oracle

ORACLE PL/SQL-procedure kræver AUTHID CURRENT_USER for EXECUTE IMMEDIATE med DDL

Grundlæggende bør du undgå at tildele foruddefinerede roller. CONNECT og RESOURCE var populære tilbage i 7.x Oracle-version. Nu har de kun en meget begrænset liste over privilegier.

DBA , på den anden side, er sandsynligvis for kraftfuld til brugeren zzz . Jeg ville tilbagekalde det fuldstændigt, hvis jeg var dig (og kun give det nødvendige sæt privilegier, når og om nødvendigt).

For mig ser det ud til, at din bruger skulle have fået dette:

grant create view to zzz;

eksplicit. Prøv at gøre det (med AUTHID linje fjernet fra proceduren), og kør proceduren igen.



  1. Hvornår skal SQL_NO_CACHE bruges

  2. Nogle ENHVER Aggregerede Transformationer er ødelagte

  3. Udtræk ugedag fra datofeltet i PostgreSQL, forudsat at uger starter på mandag

  4. #1071 - Den angivne nøgle var for lang; max nøglelængde er 767 bytes