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 限额,则忽略ALLANY 子句。

{ tablespace [ , tablespace , ... ] | ALL | ANY }

总结

模式的空间限额子句,增加ALLANY 子句,可以扩展其适用范围,很好的取代系统权限 UNLIMITED TABLESPACE

posted @ 2023-02-28 17:42  KINGBASE研究院  阅读(32)  评论(0编辑  收藏  举报