ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 042-149

042-149

原创 Linux操作系统 作者:jbymy2000 时间:2012-03-15 16:00:47 0 删除 编辑
149. You execute the following set of commands to create a database user and to grant the system privileges in your production environment.
SQL> CREATE USER user01
IDENTIFIED BY oracle
DEFAULT TABLESPACE tbs1
TEMPORARY TABLESPACE temp
PROFILE default
SQL> GRANT create session, create table TO user01;
While executing the command to create a table, the user gets the following error message and the CREATE
TABLE.. command fails.
ERROR at line 1:
ORA-01950: no privileges on tablespace
What could be the possible reason for this error message?
A) The tablespace TBS1 is full.
B) The user is not the owner of the SYSTEM tablespace.
C) The user does not have quota on the TBS1 tablespace.
D) The user does not have sufficient system privileges to create table in the TBS1 tablespace.
E) The user does not have sufficient privileges to create table on the default permanent tablespace.
答案:C
default tablespace 是定义了用户在不写明表空间时,使用的表空间,而因表空间管理的要求,oracle必须要能管理他的可用大小,就有了quota子句. GRANT create session, create table TO user01 是指user01拥有了建表的权限 ,oracle 也知道了他也有了默认的表空间,但默认的表空间没有给他分配空间,所以出错,你可以在建用户时加上quota 200M on tbs1 (给他200M 空间) 或直接 alter user user01 unlimited on tbs1 (让他随意使用tbs1表空间); 这个CREATE TABLE的权限究竟是针对什么而言? 是针对用户的空间里的建表.可以是该用户在默认表空间里建表,也可以是在其他表空间里的空间中建表.
所以在新建用户后,不光要为用户分配一定的Create等权限,还要为用户在相应的表空间中设置磁盘配额。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11312660/viewspace-718656/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 042-148
下一篇: 042-152
请登录后发表评论 登录
全部评论

注册时间:2012-01-10

  • 博文量
    416
  • 访问量
    205551