【发布时间】:2012-05-05 11:09:38
【问题描述】:
数据库中有一个用户被授予 CREATE PROCEDURE 特权。但是当该用户尝试创建一个简单的过程时,会抛出以下错误: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;
我还应该考虑做些什么来完成这项工作?我怀疑即使授予特权,任何不在管理员或 ORA_DBA 组中的人也无法创建过程。但我不确定。
【问题讨论】:
-
您在尝试创建此过程时是否在
totalbase架构中?看起来好像您正在尝试将来自不同用户的对象添加到totalbase... -
不,我在不同的架构中。但我已授予该用户 CREATE PROCEDURE 特权。这还不够吗?
-
该用户是否也对 abonent 表具有 SELECT 权限?
标签: oracle stored-procedures privileges ora-01031