DBMS_UTILITY.EXEC_DDL_STATEMENT提示无权限

用户写了过程,利用DBMS_UTILITY.EXEC_DDL_STATEMENT包调用later语句,提示权限;
CREATE OR REPLACE Function ZL_MODIFY_PASSWORD(USERNAME VARCHAR2)
  Return Varchar2 Is
  Pragma Autonomous_Transaction;
  V_SQL_STR VARCHAR2(500);
  V_RESULT Varchar2(300) := '更新失败';
Begin
  V_SQL_STR:='ALTER USER '||USERNAME||' identified by '||'I39';
  DBMS_UTILITY.EXEC_DDL_STATEMENT(V_SQL_STR);
  V_RESULT := '密码恢复成功!';
  Return V_RESULT;
Exception
  When Others Then
    null;--zl_ErrorCenter(SQLCode, SQLErrM);
    Return V_RESULT;
End;

用户已经授予了DBMS_UTILITY包的权限,但是还是提示无权限执行,原因是没有授予执行用户alter any user权限,无法执行alter  user 操作,只需要再授予alter user 权限,该过程执行成果。

你可能感兴趣的:(DBMS_UTILITY.EXEC_DDL_STATEMENT提示无权限)