Ciao a tutti.
Premesso che io di db non capisco niente, e particolarmente di Oracle che sto maneggiando da pochissimo, ho un problema con uno script sql che devo far eseguire per creare un gran numero di tabelle, indici ecc all'interno di un db.
Ho configurato uno user pippo, con:
default tablespace pippotable
temporary tablespace pippotemp
quota unlimited on pippotable
grant connect, resource, create view
poi gli ho dato quota illimitata sulla tabella pippoindex, dove vanno inseriti gli indici che lo script crea.
con questo utente, lancio uno script sql, che oltre a creare le tabelle ed altro, cerca di creare degli indici. Uno dei comandi per creare un indice è questo:
CREATE UNIQUE INDEX IX_PTGROUPNAMES ON PTUSERGROUPS (LOWER(NAME), FOLDERID) TABLESPACE PIPPOINDEX;
L'errore che mi dà e ORA-01031 privilegi insufficienti. Se eseguo lo script come sysdba, non dà errori. Ora, ho scoperto che molto probabilmente il probl è nella funzione LOWER; se la tolgo, funziona.![]()
Avrei bisogno di capire quale privilegio è necessario a questo utente per poter proseguire. Ho provato ad assegnare svariati privilegi a quella tabella per quell'utente (update, alter, index) in maniera + o - casuale, e poi ho provato sia da enterprise manager che da prompt sql, ma non riesco a venirne a capo, e nemmeno google mi è stato d'aiuto.
Inoltre vorrei capire se questa, della conversione delle lettere in minuscolo, è propriamente una funzione o cosa, e come faccio a modificarne i privilegi.
Grazie anticipatamente