今天在
Oracle里建了个表空间:test。 想在这个表空间中建一张
测试表,代码如下:
create table tab1( id int not null, name varchar(20) not null ) tablespace test;
结果出错,错误是:ORA-01950: 对表空间‘TEST’无权限
查了下资料,原来是我的当前用户的默认表空间不是TEST,并且是表空间的配额是限制的,所以没有对TEST表空间做修改的权限,要把当前用户的默认表空间更改成 TEST,并且把配额限制更改成无限制。所以重新用 sys 用户登录,并把修改用户的权限分配给当前用户,然后再用当前用户更改自身的默认表空间(当然,你也可以在sys用户模式或者SQLPLUS下更改用户的默认表空间)。代码如下:
alter user itsm default tablespace TEST;
grant unlimited tablespace to itsm;
现在用户test就把TEST表空间作为默认的表空间。再执行上面建表的语句就OK,无错了。