千家信息网

Oracle 用户对表空间配额quota说明

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,一、解决问题:解决表空间很大,总显示空间不足的问题ORA-01536:space quota exceeded for table space 'AAA '二、三个解决办法:(1) alter use
千家信息网最后更新 2026年11月01日Oracle 用户对表空间配额quota说明

一、解决问题:

解决表空间很大,总显示空间不足的问题
ORA-01536:space quota exceeded for table space 'AAA '
二、三个解决办法:
(1) alter user USERNAME quota 100M on TABLESPACENAME;
(2) alter user USERNAME quota unlimited on TABLESPACENAME;
(3) grant unlimited tablespace to USERNAME;
quota是为了限制用户对表空间的使用
比如你限制用户a在tablespace a中的quota为10m,当用户a在tablespace a中的数据量达到10m后,无论你的tablespace a中有多少空间,a都无法再使用tablespace a 了。
所以你需要
alter user a quota 1000M on a;
alter user a quota unlimited on a;
grant unlimited tablespace to a
你可以查询dba_ts_quotas来获取相关信息

二、Quota 说明

配额大小指的是用户指定使用表空间的的大小。在1.1 节里提到,默认情况下,用户对所有表空间都是没有配额的,即不受空间的限制。 查看几个用户的创建脚本来验证一下:

CREATE USER SYSTEM

IDENTIFIED BY

DEFAULT TABLESPACE SYSTEM

TEMPORARY TABLESPACE TEMP

PROFILE DEFAULT

ACCOUNT UNLOCK;

-- 2 Roles for SYSTEM

GRANT AQ_ADMINISTRATOR_ROLE TO SYSTEM WITH ADMIN OPTION;

GRANT DBA TO SYSTEM WITH ADMIN OPTION;

ALTER USER SYSTEM DEFAULT ROLE ALL;

-- 5 System Privileges for SYSTEM

GRANT GLOBAL QUERY REWRITE TO SYSTEM;

GRANT CREATE MATERIALIZED VIEW TO SYSTEM;

GRANT CREATE TABLE TO SYSTEM;

GRANT UNLIMITED TABLESPACE TO SYSTEM WITH ADMIN OPTION;

GRANT SELECT ANY TABLE TO SYSTEM;

CREATE USER DAVE

IDENTIFIED BY

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP

PROFILE DEFAULT

ACCOUNT UNLOCK;

-- 2 Roles for DAVE

GRANT CONNECT TO DAVE;

GRANT RESOURCE TO DAVE;

ALTER USER DAVE DEFAULT ROLE ALL;

-- 1 System Privilege for DAVE

GRANT UNLIMITED TABLESPACE TO DAVE;

从这2个脚本来看,默认情况下,都会对用户赋 unlimited tablespace 的权限。这是是在创建的时候指定的,当我们的用户创建好之后,我们也可以修改用户的配额。

有关用户的配额的操作说明

1. 创建用户时,指定限额

SQL> conn / as sysdba;

Connected.

SQL> create user anqing identified by anqing default tablespace users temporary tablespace temp quota 10M on users;

User created.

查询用户配额的信息:

SQL> select tablespace_name,username,max_bytes from DBA_TS_QUOTAS where username='ANQING';< /FONT>

TABLESPACE_NAME USERNAME MAX_BYTES

------------------------------ ---------- ----------

USERS ANQING 10485760

2.更改用户的表空间限额:

不对用户做表空间限额控制:

SQL> grant unlimited tablespace to anqing;

Grant succeeded.

这种方式是全局性的. 即修改用户多所有表空间的配额。

如果我们想改某个具体的,即针对用户的某个特定的表空间,可以使用如下SQL:

SQL> alter user anqing quota unlimited on users;

User altered.

查看配额:

SQL> select tablespace_name,username,max_bytes from DBA_TS_QUOTAS where username='ANQING';< /FONT>

TABLESPACE_NAME USERNAME MAX_BYTES

------------------------------ ---------- ----------

USERS ANQING -1

这时候max_bytes 为-1,即不受限制。

3. 回收用户对表空间的配额:

同样两种方式,

全局:

SQL> revoke unlimited tablespace from anqing;

Revoke succeeded.

在查看配额,已经没有了相关信息:

SQL> select tablespace_name,username,max_bytes from DBA_TS_QUOTAS where username='ANQING';< /FONT>

no rows selected

针对某个特定的表空间:

SQL> alter user anqing quota 0 on users;

User altered.

用户 空间 配额 限制 信息 全局 大小 情况 方式 脚本 问题 查询 不对 很大 三个 全局性 办法 操作说明 数据 时候 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深圳恒合互联网络科技有限公司 互联网 的科技创新 互联网科技公司官网 唐信互联网科技 时间互联网络科技 顺玮阁互联网科技 无锡溥仪互联网科技有限公司 中国科技互联网公司收入 南山科技园互联网公司有哪些 厦门比较好的科技互联网公司 科技类公司包括互联网吗 用友工业互联网科技发展 卓翼科技产业互联网合作 图游互联网科技 萌小萌互联网科技河南有限公司 万物互联网智能科技 银川新华互联网科技学校是国营吗 众联互联网络科技 河南商务圈互联网科技有限公司 互联网 科技节活动 微视频大赛 互联网金融科技 云之行互联网科技 互联网金融 科技 互联网未来科技 受益于互联网科技的高速发展 青岛科技大学互联网大赛研究生 互联网公司黑科技创始人 半导体行业属于互联网高科技类吗 湖北辰鑫科技互联网 上海互联网科技园景观
0