ORACLE - 创建已授予的过程但无法创建过程

Mik*_*yev 1 oracle privileges stored-procedures ora-01031

数据库中有一个用户,授予CREATE PROCEDURE privelege.但是当该用户尝试创建一个简单的过程时,将引发以下错误:ORA-01031:权限不足01031. 00000 - "权限不足"*原因:尝试在没有相应权限的情况下更改当前用户名或密码.如果尝试安装没有必要的操作系统权限的数据库,也会发生此错误.

这是程序的DDL:

 CREATE OR REPLACE PROCEDURE TOTALBASE.ROUNDUP 
          (CUR OUT SYS_REFCURSOR  ) 
 AS 
 BEGIN
  OPEN CUR FOR
   SELECT * FROM TOTALBASE.ABONENT; 
 END ROUNDUP;
Run Code Online (Sandbox Code Playgroud)

我还应该考虑做些什么呢?我怀疑,即使授予了privelege不在管理员或ORA_DBA组中的任何人也无法创建过程.但我不确定.

Mar*_*bak 7

要在您自己以外的模式中创建过程,您需要'CREATE ANY PROCEDURE'特权.

作为一般规则,不应轻易授予此权限,因为它可以轻松地用于规避数据库安全性.

希望有所帮助.