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;