ORA-1031 signalled during

出错信息:ORA-1031 signalled during: create tablespace 表空间名 datafile '+DATA' size 10M autoextend on next 5M maxsize unlimited...

问题描述

新部署的Oracle环境,有一个需求在designer用户下每天凌晨1点job调用存储过程创建表空间。该用户已经有connect,resource,dba权限。

第二天发现表空间没有创建,找到alert_<sid>.log日志看到ORA-1031 signalled during: create tablespace 表空间名 datafile '+DATA' size 10M autoextend on next 5M maxsize 100M...这样的提示信息。

把相应的创建表空间语句拷贝到designer用户执行,是没有问题的。接着手动运行job还是出现同样的提示信息,且表空间没有创建成功。而后单独去调用存储过程时,因为忘记设置set serveroutput 选项,直接报执行成功,并没有看到相应的提示信息。最后设置set serveroutput on 发现ora-01031:insufficient privileges这样的提示信息。最终给此用户赋与以下权限

grant create tablespace to designer;

经过测试不再报错。

不过心中有一个疑问就是designer用户是有DBA权限的,其中DBA权限又包含了create tablespace权限,job、存储过程也是在designer下面建立的,为什么还要单独给designer赋与创建表空间的权限才能成功创建表空间?

相关推荐