ORA-01950: no privileges on tablespace ‘USERS’ 处理
解决方法就是给该用户在表空间上分配 quota,通常设置为 UNLIMITED ON USERS 就能解决。如果用户没有在目标表空间上的 quota(配额),就会报 ORA-01950。1)新建用户时没有指定默认表空间,系统默认使用 USERS,但没有给配额。说明数据库用户 TESTUSER在 USERS 表空间上没有使用权限。Oracle 在创建表、索引或插入数据时,需要向表空间申请磁盘空间。2
·
一、问题说明
用户 TESTUSER 出现如下报错:
ORA-01950: no privileges on tablespace 'USERS’
二、原因分析
说明数据库用户 TESTUSER在 USERS 表空间上没有使用权限。
🔎 常见报错原因
Oracle 在创建表、索引或插入数据时,需要向表空间申请磁盘空间。
如果用户没有在目标表空间上的 quota(配额),就会报 ORA-01950。
常见场报错景:
1)新建用户时没有指定默认表空间,系统默认使用 USERS,但没有给配额。
2)插入大量数据或创建对象时超出了配额。
三、处理方法
1.检查当前配额
SELECT tablespace_name, max_bytes
FROM dba_ts_quotas
WHERE username = 'TESTUSER';
2.给用户分配表空间配额
以 DBA 用户(如 sys 或 system)登录,执行:
-- 给某个用户在 USERS 表空间上无限制使用权限
ALTER USER TESTUSER QUOTA UNLIMITED ON USERS;
-- 或者分配固定配额,比如 1000M
ALTER USER TESTUSER QUOTA 1000M ON USERS;
3.检查当前配额
SELECT tablespace_name, max_bytes
FROM dba_ts_quotas
WHERE username = 'TESTUSER';
注:max_bytes = -1 表示 UNLIMITED。
👉 总结:
解决方法就是给该用户在表空间上分配 quota,通常设置为 UNLIMITED ON USERS 就能解决。
更多推荐



所有评论(0)