表空间配额和UNLIMITED TABLESPACE权限

转载 2016年06月01日 10:30:38
对于一个新建的用户,如果没有分配给unlimitedtablespace系统权限的用户,必须先给他们指定限额,之后他们才能在表空间中创建对象,限额可以是:
A、以兆字节或者千字节为单位的特定值
B、无限制的

限额是指定表空间中允许的空间容量,默认的情况下,用户在任何表空间中都是没有限额的,可以使用一下三个选项来为用户提供表空间限额:
A、无限制的:允许用户最大限度的使用表空间中的可用空间
B、值:用户可以使用的表空间,以千字节或者兆字节为单位。这并不能保证会为用户保留该空间。因此此值可能大于或小于表看三毛中的当前可用表空间
C、UNLIMITEDTABLESPACE系统权限:此系统权限会覆盖所有的单个表空间限额,并向用户提供所有表空间(包括SYSTEM和SYSAUX)的无限制限额(注:授予resource角色的时候也会授予此权限)
一定不要为用户提供system或sysaux表空间的限额。通常,只有sys和system用户才能在system或sysaux表空间中创建对象。
对于分配的临时表空间或临时还原表空间则不需要限额。

如果需要为一个用户指定一个限额,可以有两种方法:
1、在创建用户的时候指定限额:
CREATE USER ABC IDENTIFIED BY ABC
DEFAULT TABLESPACE TEST
TEMPORARY TABLESPACE TEMP
QUOTA 3M ON TEST;
2、在创建用户完成之后对用户限额进行指定:
CREATE USER BCD IDENTIFIED BY BCD
DEFAULT TABLESPACE TEST;
ALTER USER BCD QUOTA 3M ON TEST;
3、更改用户的表空间限额:
全局:
grant unlimited tablespace to abc;
针对某个表空间:
alter user abc quota unlimited on test;
回收:
revoke unlimited tablespace from abc;
alter user abc quota 0 on test;


在此需要注意两个概念:表空间不足和用户配额不足
这两着不是一个概念。表空间的大小是指实际的用户表空间的大小;配额大小是用户指定使用表空间的大小
二者的解决方法也不相同。配额问题的解决:alter user abc auota 2g ontablespace_name;表空间不足的话就是扩展表空间或者增加数据文件了。

与表空间限额先关的数据字典:
dba_ts_quotas:DBA_TS_QUOTAS describes tabelspace quotas forall users
user_ts_quotas:USER_TS_QUOTAS describes tablespace quotas forthe current user. This view does not display the USERNAMEcolumn;
在两个数据字典中,max_bytes字段就是表示表空间限额的值了,单位是B,其中-1代表没有限制,其他的值多少就是多少的限额了。
转载:http://blog.sina.com.cn/s/blog_67be3b4501016zxg.html

相关文章推荐

oracle表空间配额(quota)与UNLIMITED TABLESPACE系统权限

--先大概写一下,后面有时间会整理一下一:quota相关视图1)dba_ts_quotas(查看所有用户的表空间配额)BYTES字段表示用户已经使用的空间;MAX_BYTES如果为-1表示没有限制,其...

oracle表空间配额和unlimited tablespace权限

对于一个新建的用户,如果没有分配给unlimitedtablespace系统权限的用户,必须先给他们指定限额,之后他们才能在表空间中创建对象,限额可以是: A、以兆字节或者千字节为单位的特定值 B...

详解Oracle的unlimited tablespace系统权限

1.系统权限unlimited tablespace是隐含在dba, resource角色中的一个系统权限. 当用户得到dba或resource的角色时,unlimited tablespace系统权...
  • huang_xw
  • huang_xw
  • 2011年06月06日 11:47
  • 13987

space quota exceeded for tablespace(表空间不足)

space quota exceeded for tablespace(表空间不足):解决之道 方法一(测试成功):SQL> alter user "用户"quota unlimited on "表空...
  • abudula
  • abudula
  • 2009年02月27日 14:50
  • 4576

"ORA-00942: 表或视图不存在 "的原因和解决方法

采用Oracle数据库,使用Powerdesigner设计,生成Sql文件导入后查询出现“ORA-00942: 表或视图不存在 ”,很是郁闷,这个问题以前出现过,当初解决了,但因好久没有使用,这次竟然...
  • hety119
  • hety119
  • 2015年05月18日 21:46
  • 1370

用hibernate将类映射到数据库

用hibernate将类映射到数据库                                         "http://hibernate.sourceforge.net/hiberna...
  • mrnavy
  • mrnavy
  • 2004年11月16日 20:27
  • 3228

Oracle 创建用户、修改用户信息、为用户分配权限、为用户分配表空间配额、删除用户

在创建用户的时候,需要为用户分配默认表空间与临时表空间。可以通过静态字典dba_tablespaces查看数据库表空间信息。通过desc  dba_tablespaces;查看数据库表空间信息:如下图...
  • lori_xj
  • lori_xj
  • 2014年03月26日 12:46
  • 2341

第三天3-1锁,事务】【账号锁定】【配额限制用户使用表空间的量】【查询当前session的用户权限】【session包含的角色】

select * from v$transaction --uba undo block address --XIDUSN XID 排他锁 USN undo segment number -- ...

ORACLE中查找所有表,查找用户权限,修改表空间配额的命令

——————————————————————查看用户权限—————————————————————— 在Oracle中,用户权限分为两种(本文不涉及dba或oper的权限,只讲解普通用户的权...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:表空间配额和UNLIMITED TABLESPACE权限
举报原因:
原因补充:

(最多只允许输入30个字)