KingabseES 表空间限额子句(QUOTA Clause)
概述
在Oracle数据库中,DBA权限用户,可以为其他用户,创建对象,即使该用户没有任何权限。当DBA用户在该用户的表,插入数据时,提示 超出表空间的空间限额
。这就需要设置该用户的表空间的空间限额,或者赋予系统权限 UNLIMITED TABLESPACE
。
说明,空间限额,是作用在与用户同名的模式,而非用户。
Kingbase数据库,可以将空间限额,从系统权限和用户语法中移除,改为嵌入创建和修改模式语法中。
用法
使用QUOTA子句,指定模式(SCHEMA)可以在表空间中分配的最大空间量。
对于多个表空间,CREATE SCHEMA
语句可以有多个QUOTA
子句。UNLIMITED
允许模式在表空间中分配空间而不绑定。
对于多个限额方案,CREATE SCHEMA
语句可以有多个QUOTA
子句。UNLIMITED
允许模式在表空间中分配空间而不限制。
对QUOTA Clause的限制
不能为临时表空间指定此子句。
语法
QUOTA { size_clause | UNLIMITED } ON tablespace_clause
size_clause
Size 子句允许您在任何允许您确定空间量的语句中指定字节数、千字节(K)、兆字节(M)、千兆字节(G)、兆兆字节(T)、PB字节(P)或EB字节(E)。
integer [ K | M | G | T | P | E ]
tablespace_clause
Tablespace 子句允许您在任何表空间设置限额。
tablespace
,指定具体表空间的名称,进行独立设置限额。
ALL
,限额同时作用在全部表空间,可以限制模式的存储总额。
ANY
,限额作用在某个表空间,包含未来新增表空间,避免模式独占表空间。
UNLIMITED
限额,则忽略ALL
和ANY
子句。
{ tablespace [ , tablespace , ... ] | ALL | ANY }
总结
模式的空间限额子句,增加ALL
和ANY
子句,可以扩展其适用范围,很好的取代系统权限 UNLIMITED TABLESPACE
。
KINGBASE研究院