Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá Pessoal,
Estou criando uma rotina de alteração de usuario do oracle (criar usuario, alterar senha, desabilitar, etc), para facilitar estou criando procedures, acontece que ao executar a procedure recebo o erro "1031 - ORA-01031: privilégios insuficientes", porem se executo os mesmos comandos no sqlplus não dá erro nenhum. Estou rodando a procedure e os comandos debaixo de role e acho que já dei tudo quanto for tipo de autoridade a ela. Já "googlei" e nada. Alguém tem alguma dica. Não quero dar permissão direto para o usuário, isso pode ser perigoso. Desde já agradeço a todos pela ajuda.
Segue os comandos abaixo :
-- PROCEDURE
create or replace procedure PR_SENHA2(p_usuario in usuario.usuario%Type) is
v_erro varchar2(100);
begin
v_erro := ' PR_SENHA - Erro na modificação da senha do USUARIO ' || p_usuario;
BEGIN
EXECUTE IMMEDIATE 'ALTER USER "' || p_usuario || '" IDENTIFIED BY "' || lower(p_usuario)||'"';
exception
WHEN OTHERS THEN
raise_application_error(-20005,'Erro de processamento - '|| v_erro ||' - '|| SQLCODE ||' - '|| SQLERRM);
END;
end PR_SENHA2;
-- COMANDO
SQL>
begin
pr_senha2('ROSALINA');
end;
ORA-20005: Erro de processamento - PR_RSENHA2 - Erro na modificação da senha do USUARIO ROSALINA - -1031 - ORA-01031: privilégios insuficientes
ORA-06512: em "PR_SENHA2", line 9
ORA-06512: em line 3
SQL>
Carregando comentários...