在看ocp习题时遇到这样一个问题:
SQL> create user test identified by test99 default tablespace perfstat temporary tablespace temp profile default;
User created.
SQL> grant create session,create table to test;
Grant succeeded.
SQL> conn test/test99
Connected.
SQL> create table test as select * from user_objects;
create table test as select * from user_objects
*
ERROR at line 1:
ORA-01950: no privileges on tablespace 'PERFSTAT'--------------------------这个提示让人容易误解
SQL> conn /as sysdba
Connected.
SQL> grant resource to test;
Grant succeeded.
SQL> conn test/test99
Connected.
SQL> create table test as select * from user_objects;
Table created.
SQL> conn /as sysdba
Connected.
SQL> revoke resource from test;
Revoke succeeded.
SQL> conn test/test99
Connected.
SQL> create table test01 as select * from user_objects;
create table test01 as select * from user_objects
*
ERROR at line 1:
ORA-01536: space quota exceeded for tablespace 'PERFSTAT'
两次的报错出现了极大地出入。
SQL> conn /as sysdba
Connected.
SQL> SELECT * FROM ROLE_SYS_PRIVS WHERE ROLE='RESOURCE';
ROLE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
RESOURCE CREATE SEQUENCE NO
RESOURCE CREATE TRIGGER NO
RESOURCE CREATE CLUSTER NO
RESOURCE CREATE PROCEDURE NO
RESOURCE CREATE TYPE NO
RESOURCE CREATE OPERATOR NO
RESOURCE CREATE TABLE NO
RESOURCE CREATE INDEXTYPE NO
8 rows selected.
没有发现有什么特殊的权限。比较困惑,不知道有哪位高手看到了可否指点一二??
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28612416/viewspace-772649/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28612416/viewspace-772649/