Domanda

Ho 3 utenti Oracle A, B, C e si desidera utilizzare B (come intermedio) per importare una tabella da C ad A. Quando è collegato a B, posso correre "create table A.T1 come select * from T1 @C". Ma quando ho messo l'istruzione SQL in una procedura che crea B / possiede, continuo a ricevere "ORA-01031: privilegi insufficienti". Come sysdba, ho concesso tutti i diritti (DBA) a B. Allora, cosa mi manca qui? Grazie.

È stato utile?

Soluzione

avere fornito le seguenti operazioni per B utente?

sql> grant create any table to b;

Altri suggerimenti

In diritti stored procedure di un definitore (impostazione predefinita), gli unici privilegi che sono disponibili sono quelli che sono concessi direttamente all'utente, non quelli che sono stati concessi attraverso un ruolo (come DBA). Così Pablo è corretto che B avrebbe bisogno di avere il privilegio CREATE ANY TABLE come una sovvenzione diretta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top