sql >> Database >  >> RDS >> Oracle

ORACLE PL/SQL-procedure vereist AUTHID CURRENT_USER voor IMMEDIATE UITVOEREN met DDL

In principe moet u voorkomen dat u vooraf gedefinieerde rollen toekent. CONNECT en RESOURCE waren populair in 7.x Oracle-versie. Nu hebben ze slechts een zeer beperkte lijst met privileges.

DBA , aan de andere kant, is waarschijnlijk te krachtig voor gebruiker zzz . Ik zou het volledig intrekken als ik jou was (en alleen de vereiste reeks privileges verlenen, wanneer en indien nodig).

Voor mij lijkt het erop dat uw gebruiker dit had moeten krijgen:

grant create view to zzz;

uitdrukkelijk. Probeer dat te doen (met AUTHID regel verwijderd uit de procedure) en voer de procedure opnieuw uit.



  1. Tellen op basis van voorwaarde in SQL Server

  2. MySql verleent machtigingen voor alle databases die beginnen met <string>

  3. Percona-distributie voor PostgreSQL implementeren voor hoge beschikbaarheid

  4. Gegevensbestand laden, verschil tussen Windows en Linux