简答题 9.  什么是用户的表空间配额(User tablespace Quota)?
【正确答案】用户的表空间配额也称为表空间限额,指的是用户可以使用指定表空间的最大大小。控制用户的表空间配额也就等于控制用户所占用的表空间大小。在默认情况下,需要对用户赋予RESOURCE角色,虽然该角色没有UNLIMITED TABLESPACE权限,但是对用户赋予了该角色后,系统将会默认给用户赋予UNLIMITED TABLESPACE的系统权限,因此,新建的用户对所有表空间都是没有配额的,即不受空间的限制。表空间配额可以在创建用户的时候指定,也可以在创建用户后再修改用户的配额。关于表空间配额需要注意以下几点:
   1)DBA用户是具有UNLIMITED TABLESPACE的权限的,若是回收DBA角色,则会导致UNLIMITED TABLESPACE权限被连带回收,易引起生产事故,所以,在回收DBA角色时需特别注意。
   2)当用户使用空间超出限额的时候会报“ORA-01536”和“ORA-01950”的错误。
   3)目标用户必须不能含有UNLIMITED TABLESPACE的系统权限,否则空间配额对用户的设置无效,也就会出现在DBA_TS_QUOTAS中的BYTES大于MAX_BYTES的情况。
   常用命令如下:
   
   
【答案解析】