Pular para o conteúdo
  • Este tópico contém 2 respostas, 3 vozes e foi atualizado pela última vez 18 anos, 8 meses atrás por Marcio68Almeida.
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #75637
    Anônimo

      Bem o meu problema e que estou querendo criar uma procedure, que execute comandos pl/sql dinami
      camentes.Ela esta funcionando mesnos para Create e Drop user sempre me retorna o erro de previlegios
      insuficientes.Sendo que o usuario e o DBA.

      Procedure ExecutaString(cmdSql in Varchar) is
      nresult integer;
      cCMD integer;
      begin
      cCMD:=sys.DBMS_SQL.OPEN_CURSOR;
      sys.dbms_sql.parse(cCMD,cmdSql,DBMS_SQL.NATIVE);
      nresult:=sys.dbms_sql.execute(cCMD);
      sys.dbms_sql.close_cursor(cCMD);
      end;

      Linha de comando da chamada
      SQL> exec esquema.nomedopacote.ExecutaString(‘DROP USER nomedousuario’);

      E este e o erro que ele apresenta.

      BEGIN esquema.pacote.ExecutaString(‘DROP USER nomedousuario’); END;

      *
      ERRO na linha 1:
      ORA-01031: privilégios insuficientes
      ORA-06512: em “DBMS_SYS_SQL”, line 782
      ORA-06512: em “DBMS_SQL”, line 32
      ORA-06512: em “Esquema.nomedopacote”, line 395
      ORA-06512: em line 1
      end;

      #75656
      Crauss
      Participante

        tenta dar privilégios de dba para seu usuário !

        #75679
        Marcio68Almeida
        Participante

          Você tem que dar privilégios de execute nas packages para o usuário em questão.

        Visualizando 3 posts - 1 até 3 (de 3 do total)
        • Você deve fazer login para responder a este tópico.
        plugins premium WordPress